{"version":3,"file":"homepagebundle.js","mappings":"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AAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,EAAG,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,I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","sources":["webpack://tmv2-components/webpack/universalModuleDefinition","webpack://tmv2-components/webpack/runtime/load script","webpack://tmv2-components/./.yarn/__virtual__/@rive-app-react-canvas-virtual-e8c2532ed6/0/cache/@rive-app-react-canvas-npm-4.18.2-1fb7e9d392-3e336d385d.zip/node_modules/@rive-app/react-canvas/dist/index.js","webpack://tmv2-components/./src/Components/svgIcons/ButtonV2Icons.tsx","webpack://tmv2-components/./src/Components/ButtonV2/ButtonV2.tsx","webpack://tmv2-components/./src/Components/GlobalSearch/fetchSearchResults.ts","webpack://tmv2-components/./src/Components/Header/ClickWrapper.tsx","webpack://tmv2-components/./src/Components/Header/Navigation/NavDropdown/NavDropdown.tsx","webpack://tmv2-components/./src/Components/Header/Navigation/NavDropdown/NavDropdownHover.tsx","webpack://tmv2-components/./src/Components/Heading/Heading.tsx","webpack://tmv2-components/./src/Components/Img/BaseImg.tsx","webpack://tmv2-components/./src/Components/Img/Img.tsx","webpack://tmv2-components/./src/Components/Img/ResponsiveImg.tsx","webpack://tmv2-components/./src/Components/Logo/Logo.tsx","webpack://tmv2-components/./src/Components/global/Containers/ContainerFW/ContainerFW.tsx","webpack://tmv2-components/./src/Components/global/Containers/Container/Container.tsx","webpack://tmv2-components/./src/Components/svgIcons/CaretDown.tsx","webpack://tmv2-components/./src/Components/svgIcons/CaretUp.tsx","webpack://tmv2-components/./src/Components/svgIcons/GrayCheckMark.tsx","webpack://tmv2-components/./src/Components/svgIcons/accountTypesTick.tsx","webpack://tmv2-components/./src/Components/svgIcons/chevron.tsx","webpack://tmv2-components/./src/Components/svgIcons/closeIcon.tsx","webpack://tmv2-components/./src/Components/svgIcons/darkStarSet.tsx","webpack://tmv2-components/./src/Components/svgIcons/handIcon.tsx","webpack://tmv2-components/./src/Components/svgIcons/iconArrowLeft.tsx","webpack://tmv2-components/./src/Components/svgIcons/iconCalendar.tsx","webpack://tmv2-components/./src/Components/svgIcons/iconFb.tsx","webpack://tmv2-components/./src/Components/svgIcons/iconFlame.tsx","webpack://tmv2-components/./src/Components/svgIcons/iconIn.tsx","webpack://tmv2-components/./src/Components/svgIcons/iconNoResults.tsx","webpack://tmv2-components/./src/Components/svgIcons/iconTw.tsx","webpack://tmv2-components/./src/hooks/usePageViewStyle.ts","webpack://tmv2-components/./src/pageViewStyle/pageViewStyle.ts","webpack://tmv2-components/./src/utils/getColors.ts","webpack://tmv2-components/./src/utils/getContainerClassPerMaxWidth.ts","webpack://tmv2-components/./src/utils/handleLinkTarget.ts","webpack://tmv2-components/./src/utils/sanitizeUrl.ts","webpack://tmv2-components/./.yarn/cache/@rive-app-canvas-npm-2.26.3-6a49e8e5e5-c4ee909183.zip/node_modules/@rive-app/canvas/rive.js","webpack://tmv2-components/./.yarn/cache/debounce-npm-1.2.1-b09266a260-682a89506d.zip/node_modules/debounce/index.js","webpack://tmv2-components/external umd \"React\"","webpack://tmv2-components/external umd \"ReactDOM\"","webpack://tmv2-components/./.yarn/cache/@dotlottie-common-npm-0.7.11-10268a235f-6ebe66289a.zip/node_modules/@dotlottie/common/dist/chunk-74T7T5LL.js","webpack://tmv2-components/./.yarn/cache/@dotlottie-common-npm-0.7.11-10268a235f-6ebe66289a.zip/node_modules/@dotlottie/common/dist/chunk-B7OIQIGJ.js","webpack://tmv2-components/./.yarn/cache/@dotlottie-common-npm-0.7.11-10268a235f-6ebe66289a.zip/node_modules/@dotlottie/common/dist/chunk-BHJSY5WG.js","webpack://tmv2-components/./.yarn/cache/@dotlottie-common-npm-0.7.11-10268a235f-6ebe66289a.zip/node_modules/@dotlottie/common/dist/chunk-DCAKKOYV.js","webpack://tmv2-components/./.yarn/cache/@dotlottie-common-npm-0.7.11-10268a235f-6ebe66289a.zip/node_modules/@dotlottie/common/dist/chunk-GSRQSB3U.js","webpack://tmv2-components/./.yarn/cache/@dotlottie-common-npm-0.7.11-10268a235f-6ebe66289a.zip/node_modules/@dotlottie/common/dist/chunk-NZJZ4CCL.js","webpack://tmv2-components/webpack/bootstrap","webpack://tmv2-components/webpack/runtime/compat get default export","webpack://tmv2-components/webpack/runtime/define property getters","webpack://tmv2-components/webpack/runtime/ensure chunk","webpack://tmv2-components/webpack/runtime/get javascript chunk filename","webpack://tmv2-components/webpack/runtime/get mini-css chunk filename","webpack://tmv2-components/webpack/runtime/hasOwnProperty shorthand","webpack://tmv2-components/webpack/runtime/make namespace object","webpack://tmv2-components/webpack/runtime/publicPath","webpack://tmv2-components/webpack/runtime/jsonp chunk loading","webpack://tmv2-components/./src/Components/Dropdown/Dropdown.tsx","webpack://tmv2-components/./src/Components/ButtonSquare/ButtonSquare.tsx","webpack://tmv2-components/./src/Components/Banners/HeroBannerWithImagesNew/HeroBannerWithImagesNew.tsx","webpack://tmv2-components/./src/Components/ImgV2/ImgV2.tsx","webpack://tmv2-components/./src/Components/Banners/RibbonBanner3/RibbonBanner3.tsx","webpack://tmv2-components/./src/Components/Banners/BannerImageBackground/BannerImageBackground.tsx","webpack://tmv2-components/./src/Components/Cards/IconAndTitleCardDeck/IconAndTitleCard/IconAndTitleCard.tsx","webpack://tmv2-components/./src/Components/Cards/IconAndTitleCardDeck/IconAndTitleCardDeck.tsx","webpack://tmv2-components/./.yarn/cache/ssr-window-npm-4.0.2-01f9c0151e-df18260092.zip/node_modules/ssr-window/ssr-window.esm.js","webpack://tmv2-components/./.yarn/cache/swiper-npm-9.0.5-afb755771d-33c45c0d9e.zip/node_modules/swiper/shared/utils.js","webpack://tmv2-components/./.yarn/cache/swiper-npm-9.0.5-afb755771d-33c45c0d9e.zip/node_modules/swiper/shared/get-support.js","webpack://tmv2-components/./.yarn/cache/swiper-npm-9.0.5-afb755771d-33c45c0d9e.zip/node_modules/swiper/shared/get-device.js","webpack://tmv2-components/./.yarn/cache/swiper-npm-9.0.5-afb755771d-33c45c0d9e.zip/node_modules/swiper/shared/get-browser.js","webpack://tmv2-components/./.yarn/cache/swiper-npm-9.0.5-afb755771d-33c45c0d9e.zip/node_modules/swiper/core/events-emitter.js","webpack://tmv2-components/./.yarn/cache/swiper-npm-9.0.5-afb755771d-33c45c0d9e.zip/node_modules/swiper/core/update/index.js","webpack://tmv2-components/./.yarn/cache/swiper-npm-9.0.5-afb755771d-33c45c0d9e.zip/node_modules/swiper/core/update/updateSize.js","webpack://tmv2-components/./.yarn/cache/swiper-npm-9.0.5-afb755771d-33c45c0d9e.zip/node_modules/swiper/core/update/updateSlides.js","webpack://tmv2-components/./.yarn/cache/swiper-npm-9.0.5-afb755771d-33c45c0d9e.zip/node_modules/swiper/core/update/updateAutoHeight.js","webpack://tmv2-components/./.yarn/cache/swiper-npm-9.0.5-afb755771d-33c45c0d9e.zip/node_modules/swiper/core/update/updateSlidesOffset.js","webpack://tmv2-components/./.yarn/cache/swiper-npm-9.0.5-afb755771d-33c45c0d9e.zip/node_modules/swiper/core/update/updateSlidesProgress.js","webpack://tmv2-components/./.yarn/cache/swiper-npm-9.0.5-afb755771d-33c45c0d9e.zip/node_modules/swiper/core/update/updateProgress.js","webpack://tmv2-components/./.yarn/cache/swiper-npm-9.0.5-afb755771d-33c45c0d9e.zip/node_modules/swiper/core/update/updateSlidesClasses.js","webpack://tmv2-components/./.yarn/cache/swiper-npm-9.0.5-afb755771d-33c45c0d9e.zip/node_modules/swiper/core/update/updateActiveIndex.js","webpack://tmv2-components/./.yarn/cache/swiper-npm-9.0.5-afb755771d-33c45c0d9e.zip/node_modules/swiper/core/update/updateClickedSlide.js","webpack://tmv2-components/./.yarn/cache/swiper-npm-9.0.5-afb755771d-33c45c0d9e.zip/node_modules/swiper/core/transition/transitionEmit.js","webpack://tmv2-components/./.yarn/cache/swiper-npm-9.0.5-afb755771d-33c45c0d9e.zip/node_modules/swiper/core/slide/index.js","webpack://tmv2-components/./.yarn/cache/swiper-npm-9.0.5-afb755771d-33c45c0d9e.zip/node_modules/swiper/core/slide/slideTo.js","webpack://tmv2-components/./.yarn/cache/swiper-npm-9.0.5-afb755771d-33c45c0d9e.zip/node_modules/swiper/core/slide/slideToLoop.js","webpack://tmv2-components/./.yarn/cache/swiper-npm-9.0.5-afb755771d-33c45c0d9e.zip/node_modules/swiper/core/slide/slideNext.js","webpack://tmv2-components/./.yarn/cache/swiper-npm-9.0.5-afb755771d-33c45c0d9e.zip/node_modules/swiper/core/slide/slidePrev.js","webpack://tmv2-components/./.yarn/cache/swiper-npm-9.0.5-afb755771d-33c45c0d9e.zip/node_modules/swiper/core/slide/slideReset.js","webpack://tmv2-components/./.yarn/cache/swiper-npm-9.0.5-afb755771d-33c45c0d9e.zip/node_modules/swiper/core/slide/slideToClosest.js","webpack://tmv2-components/./.yarn/cache/swiper-npm-9.0.5-afb755771d-33c45c0d9e.zip/node_modules/swiper/core/slide/slideToClickedSlide.js","webpack://tmv2-components/./.yarn/cache/swiper-npm-9.0.5-afb755771d-33c45c0d9e.zip/node_modules/swiper/core/events/onTouchStart.js","webpack://tmv2-components/./.yarn/cache/swiper-npm-9.0.5-afb755771d-33c45c0d9e.zip/node_modules/swiper/core/events/onTouchMove.js","webpack://tmv2-components/./.yarn/cache/swiper-npm-9.0.5-afb755771d-33c45c0d9e.zip/node_modules/swiper/core/events/onTouchEnd.js","webpack://tmv2-components/./.yarn/cache/swiper-npm-9.0.5-afb755771d-33c45c0d9e.zip/node_modules/swiper/core/events/onResize.js","webpack://tmv2-components/./.yarn/cache/swiper-npm-9.0.5-afb755771d-33c45c0d9e.zip/node_modules/swiper/core/events/onClick.js","webpack://tmv2-components/./.yarn/cache/swiper-npm-9.0.5-afb755771d-33c45c0d9e.zip/node_modules/swiper/core/events/onScroll.js","webpack://tmv2-components/./.yarn/cache/swiper-npm-9.0.5-afb755771d-33c45c0d9e.zip/node_modules/swiper/shared/process-lazy-preloader.js","webpack://tmv2-components/./.yarn/cache/swiper-npm-9.0.5-afb755771d-33c45c0d9e.zip/node_modules/swiper/core/events/onLoad.js","webpack://tmv2-components/./.yarn/cache/swiper-npm-9.0.5-afb755771d-33c45c0d9e.zip/node_modules/swiper/core/events/index.js","webpack://tmv2-components/./.yarn/cache/swiper-npm-9.0.5-afb755771d-33c45c0d9e.zip/node_modules/swiper/core/breakpoints/setBreakpoint.js","webpack://tmv2-components/./.yarn/cache/swiper-npm-9.0.5-afb755771d-33c45c0d9e.zip/node_modules/swiper/core/defaults.js","webpack://tmv2-components/./.yarn/cache/swiper-npm-9.0.5-afb755771d-33c45c0d9e.zip/node_modules/swiper/core/moduleExtendParams.js","webpack://tmv2-components/./.yarn/cache/swiper-npm-9.0.5-afb755771d-33c45c0d9e.zip/node_modules/swiper/core/core.js","webpack://tmv2-components/./.yarn/cache/swiper-npm-9.0.5-afb755771d-33c45c0d9e.zip/node_modules/swiper/core/translate/index.js","webpack://tmv2-components/./.yarn/cache/swiper-npm-9.0.5-afb755771d-33c45c0d9e.zip/node_modules/swiper/core/translate/getTranslate.js","webpack://tmv2-components/./.yarn/cache/swiper-npm-9.0.5-afb755771d-33c45c0d9e.zip/node_modules/swiper/core/translate/setTranslate.js","webpack://tmv2-components/./.yarn/cache/swiper-npm-9.0.5-afb755771d-33c45c0d9e.zip/node_modules/swiper/core/translate/minTranslate.js","webpack://tmv2-components/./.yarn/cache/swiper-npm-9.0.5-afb755771d-33c45c0d9e.zip/node_modules/swiper/core/translate/maxTranslate.js","webpack://tmv2-components/./.yarn/cache/swiper-npm-9.0.5-afb755771d-33c45c0d9e.zip/node_modules/swiper/core/translate/translateTo.js","webpack://tmv2-components/./.yarn/cache/swiper-npm-9.0.5-afb755771d-33c45c0d9e.zip/node_modules/swiper/core/transition/index.js","webpack://tmv2-components/./.yarn/cache/swiper-npm-9.0.5-afb755771d-33c45c0d9e.zip/node_modules/swiper/core/transition/setTransition.js","webpack://tmv2-components/./.yarn/cache/swiper-npm-9.0.5-afb755771d-33c45c0d9e.zip/node_modules/swiper/core/transition/transitionStart.js","webpack://tmv2-components/./.yarn/cache/swiper-npm-9.0.5-afb755771d-33c45c0d9e.zip/node_modules/swiper/core/transition/transitionEnd.js","webpack://tmv2-components/./.yarn/cache/swiper-npm-9.0.5-afb755771d-33c45c0d9e.zip/node_modules/swiper/core/loop/index.js","webpack://tmv2-components/./.yarn/cache/swiper-npm-9.0.5-afb755771d-33c45c0d9e.zip/node_modules/swiper/core/loop/loopCreate.js","webpack://tmv2-components/./.yarn/cache/swiper-npm-9.0.5-afb755771d-33c45c0d9e.zip/node_modules/swiper/core/loop/loopFix.js","webpack://tmv2-components/./.yarn/cache/swiper-npm-9.0.5-afb755771d-33c45c0d9e.zip/node_modules/swiper/core/loop/loopDestroy.js","webpack://tmv2-components/./.yarn/cache/swiper-npm-9.0.5-afb755771d-33c45c0d9e.zip/node_modules/swiper/core/grab-cursor/index.js","webpack://tmv2-components/./.yarn/cache/swiper-npm-9.0.5-afb755771d-33c45c0d9e.zip/node_modules/swiper/core/grab-cursor/setGrabCursor.js","webpack://tmv2-components/./.yarn/cache/swiper-npm-9.0.5-afb755771d-33c45c0d9e.zip/node_modules/swiper/core/grab-cursor/unsetGrabCursor.js","webpack://tmv2-components/./.yarn/cache/swiper-npm-9.0.5-afb755771d-33c45c0d9e.zip/node_modules/swiper/core/breakpoints/index.js","webpack://tmv2-components/./.yarn/cache/swiper-npm-9.0.5-afb755771d-33c45c0d9e.zip/node_modules/swiper/core/breakpoints/getBreakpoint.js","webpack://tmv2-components/./.yarn/cache/swiper-npm-9.0.5-afb755771d-33c45c0d9e.zip/node_modules/swiper/core/check-overflow/index.js","webpack://tmv2-components/./.yarn/cache/swiper-npm-9.0.5-afb755771d-33c45c0d9e.zip/node_modules/swiper/core/classes/index.js","webpack://tmv2-components/./.yarn/cache/swiper-npm-9.0.5-afb755771d-33c45c0d9e.zip/node_modules/swiper/core/classes/addClasses.js","webpack://tmv2-components/./.yarn/cache/swiper-npm-9.0.5-afb755771d-33c45c0d9e.zip/node_modules/swiper/core/classes/removeClasses.js","webpack://tmv2-components/./.yarn/cache/swiper-npm-9.0.5-afb755771d-33c45c0d9e.zip/node_modules/swiper/core/modules/resize/resize.js","webpack://tmv2-components/./.yarn/cache/swiper-npm-9.0.5-afb755771d-33c45c0d9e.zip/node_modules/swiper/core/modules/observer/observer.js","webpack://tmv2-components/./.yarn/cache/swiper-npm-9.0.5-afb755771d-33c45c0d9e.zip/node_modules/swiper/shared/create-element-if-not-defined.js","webpack://tmv2-components/./.yarn/cache/swiper-npm-9.0.5-afb755771d-33c45c0d9e.zip/node_modules/swiper/modules/navigation/navigation.js","webpack://tmv2-components/./.yarn/cache/swiper-npm-9.0.5-afb755771d-33c45c0d9e.zip/node_modules/swiper/shared/classes-to-selector.js","webpack://tmv2-components/./.yarn/cache/swiper-npm-9.0.5-afb755771d-33c45c0d9e.zip/node_modules/swiper/modules/pagination/pagination.js","webpack://tmv2-components/./.yarn/cache/swiper-npm-9.0.5-afb755771d-33c45c0d9e.zip/node_modules/swiper/modules/autoplay/autoplay.js","webpack://tmv2-components/./.yarn/cache/swiper-npm-9.0.5-afb755771d-33c45c0d9e.zip/node_modules/swiper/components-shared/utils.js","webpack://tmv2-components/./.yarn/cache/swiper-npm-9.0.5-afb755771d-33c45c0d9e.zip/node_modules/swiper/components-shared/params-list.js","webpack://tmv2-components/./.yarn/cache/swiper-npm-9.0.5-afb755771d-33c45c0d9e.zip/node_modules/swiper/react/get-children.js","webpack://tmv2-components/./.yarn/cache/swiper-npm-9.0.5-afb755771d-33c45c0d9e.zip/node_modules/swiper/react/use-isomorphic-layout-effect.js","webpack://tmv2-components/./.yarn/cache/swiper-npm-9.0.5-afb755771d-33c45c0d9e.zip/node_modules/swiper/react/context.js","webpack://tmv2-components/./.yarn/cache/swiper-npm-9.0.5-afb755771d-33c45c0d9e.zip/node_modules/swiper/react/swiper.js","webpack://tmv2-components/./.yarn/cache/swiper-npm-9.0.5-afb755771d-33c45c0d9e.zip/node_modules/swiper/components-shared/get-params.js","webpack://tmv2-components/./.yarn/cache/swiper-npm-9.0.5-afb755771d-33c45c0d9e.zip/node_modules/swiper/components-shared/mount-swiper.js","webpack://tmv2-components/./.yarn/cache/swiper-npm-9.0.5-afb755771d-33c45c0d9e.zip/node_modules/swiper/components-shared/get-changed-params.js","webpack://tmv2-components/./.yarn/cache/swiper-npm-9.0.5-afb755771d-33c45c0d9e.zip/node_modules/swiper/components-shared/update-swiper.js","webpack://tmv2-components/./.yarn/cache/swiper-npm-9.0.5-afb755771d-33c45c0d9e.zip/node_modules/swiper/components-shared/update-on-virtual-data.js","webpack://tmv2-components/./.yarn/cache/swiper-npm-9.0.5-afb755771d-33c45c0d9e.zip/node_modules/swiper/react/virtual.js","webpack://tmv2-components/./.yarn/cache/swiper-npm-9.0.5-afb755771d-33c45c0d9e.zip/node_modules/swiper/react/swiper-slide.js","webpack://tmv2-components/./src/Components/svgIcons/clock.tsx","webpack://tmv2-components/./src/Components/Cards/AcademyArticleCardDeck/AcademyArticleCard/AcademyArticleCard.tsx","webpack://tmv2-components/./src/Components/Cards/InformationCardDarkDeckAcademy/InformationCardDarkDeckAcademy.tsx","webpack://tmv2-components/./.yarn/cache/pako-npm-2.1.0-78df11948c-7166654864.zip/node_modules/pako/dist/pako.esm.mjs","webpack://tmv2-components/./src/Components/InstrumentSliderNew/InstrumentSliderNew.tsx","webpack://tmv2-components/./src/Components/PriceFeedNew/PriceFeedNewSocketComponent.tsx","webpack://tmv2-components/./src/Components/PriceFeedNew/PriceFeedNew.tsx","webpack://tmv2-components/./src/Components/PriceFeedNew/PriceFeedNewWidget.tsx","webpack://tmv2-components/./src/Components/Gaps/Gap/Gap.tsx","webpack://tmv2-components/./src/Components/TrustpilotSlider/TrustpilotCard/TrustpilotCard.tsx","webpack://tmv2-components/./src/Components/TrustpilotSlider/TrustPilotEvalutation/TrustPilotEvaluation.tsx","webpack://tmv2-components/./src/Components/TrustpilotSlider/TrustpilotSlider.tsx","webpack://tmv2-components/./src/Components/FreeText/FreeText.tsx","webpack://tmv2-components/./src/Components/svgIcons/externalLink.tsx","webpack://tmv2-components/./src/Components/AccessThinkPortalTodayImgToggle/ImageToggle/ImageToggle.tsx","webpack://tmv2-components/./src/Components/AccessThinkPortalTodayImgToggle/AccessThinkPortalTodayImgToggle.tsx","webpack://tmv2-components/./src/Components/WhyTradeWith/TradeWithThinkTrader/TradeWithThinkTrader.tsx","webpack://tmv2-components/./src/Components/svgIcons/webIcon.tsx","webpack://tmv2-components/./src/Components/svgIcons/mobileIcon.tsx","webpack://tmv2-components/./src/Components/CardsGridWithFullWidthCenteredImagesAndTags/CardsGridWithFullWidthCenteredImagesAndTags.tsx","webpack://tmv2-components/./.yarn/__virtual__/@lottiefiles-dotlottie-react-virtual-bf30c5c02d/0/cache/@lottiefiles-dotlottie-react-npm-0.8.12-8753c9818c-cbccddf310.zip/node_modules/@lottiefiles/dotlottie-react/dist/index.js","webpack://tmv2-components/./src/Components/Banners/HomePageMainBanner/HomePageMainBanner.tsx","webpack://tmv2-components/./src/Components/ErrorHandler/ErrorHandler.tsx","webpack://tmv2-components/./src/Components/svgIcons/chevronRight.tsx","webpack://tmv2-components/./src/Components/Banners/HeroBannerWithImagesHomeUplift/StatsValuesRibbon/StatsValuesRibbon.tsx","webpack://tmv2-components/./src/Components/Banners/HeroBannerWithImagesHomeUplift/ButtonSection/ButtonSection.tsx","webpack://tmv2-components/./src/Components/MediaViewerComponent/MediaViewerComponent.tsx","webpack://tmv2-components/./src/Components/Banners/HeroBannerWithImagesHomeUplift/AnimationSection/AnimationSection.tsx","webpack://tmv2-components/./src/Components/Banners/HeroBannerWithImagesHomeUplift/CryptoDisclaimer/CryptoDisclaimer.tsx","webpack://tmv2-components/./src/Components/Banners/HeroBannerWithImagesHomeUplift/HeroBannerWithImagesHomeUplift.tsx","webpack://tmv2-components/./.yarn/__virtual__/@dotlottie-react-player-virtual-1dc5e1d857/0/cache/@dotlottie-react-player-npm-1.6.19-961889956a-2b5dcd6f83.zip/node_modules/@dotlottie/react-player/dist/chunk-XVC7DH25.js","webpack://tmv2-components/./.yarn/__virtual__/@dotlottie-react-player-virtual-1dc5e1d857/0/cache/@dotlottie-react-player-npm-1.6.19-961889956a-2b5dcd6f83.zip/node_modules/@dotlottie/react-player/dist/chunk-ZAFYX2AB.js","webpack://tmv2-components/./src/Components/SmallCardsSlider/SmallCardWithAnimatedIcon/SmallCardWithAnimatedIcon.tsx","webpack://tmv2-components/./src/Components/SmallCardsSlider/SmallCardsSlider.tsx","webpack://tmv2-components/./src/Components/ThreeColsSectionMediaAndButtons/SmartphoneFrameWithMedia/MediaViewer/utils.ts","webpack://tmv2-components/./src/Components/ThreeColsSectionMediaAndButtons/SmartphoneFrameWithMedia/MediaViewer/MediaViewer.tsx","webpack://tmv2-components/./src/Components/ThreeColsSectionMediaAndButtons/SmartphoneFrameWithMedia/SmartphoneFrameWithMedia.tsx","webpack://tmv2-components/./src/Components/ThreeColsSectionMediaAndButtons/LinkPillsPair/LinkPill/LinkPill.tsx","webpack://tmv2-components/./src/Components/ThreeColsSectionMediaAndButtons/LinkPillsPair/LinkPillsPair.tsx","webpack://tmv2-components/./src/Components/ThreeColsSectionMediaAndButtons/MobileAppDownload/MobileAppDownload.tsx","webpack://tmv2-components/./src/Components/ThreeColsSectionMediaAndButtons/SimpleIconAndTextCardDeck/SimpleIconAndTextCard/SimpleIconAndTextCard.tsx","webpack://tmv2-components/./src/Components/ThreeColsSectionMediaAndButtons/SimpleIconAndTextCardDeck/SimpleIconAndTextCardDeck.tsx","webpack://tmv2-components/./src/Components/ThreeColsSectionMediaAndButtons/ThreeColsSectionMediaAndButtonsBase.tsx","webpack://tmv2-components/./.yarn/__virtual__/react-intersection-observer-virtual-e02463a92c/0/cache/react-intersection-observer-npm-9.13.1-e97f4d95f9-92b3e7d929.zip/node_modules/react-intersection-observer/dist/index.mjs","webpack://tmv2-components/./src/Components/ThreeColsSectionMediaAndButtons/hooks/useComponentIntersection.ts","webpack://tmv2-components/./src/Components/ThreeColsSectionMediaAndButtons/ThreeColsSectionMediaAndButtonsIntersectionObserver.tsx","webpack://tmv2-components/./src/Components/ThreeColsSectionMediaAndButtons/ThreeColsSectionMediaAndButtons.tsx","webpack://tmv2-components/./src/Components/LicenseSlider/License/License.tsx","webpack://tmv2-components/./src/Components/LicenseSlider/LicenseSlider.tsx","webpack://tmv2-components/./src/Components/Banners/StatsLineRibbonBanner/FeaturesList/FeaturesList.tsx","webpack://tmv2-components/./src/Components/Banners/StatsLineRibbonBanner/TrustPilotMiniBanner/TrustPilotMiniBanner.tsx","webpack://tmv2-components/./src/Components/Banners/StatsLineRibbonBanner/CheckOutButton/CheckOutButton.tsx","webpack://tmv2-components/./src/Components/Banners/StatsLineRibbonBanner/StatsLineRibbonBanner.tsx","webpack://tmv2-components/./src/Components/Cards/SmallAwardCardsDeck/SmallAwardCard/SmallAwardCard.tsx","webpack://tmv2-components/./src/Components/AwardsSlider/AwardsSlider.tsx","webpack://tmv2-components/./src/Components/Cards/FeatureCardsSection/FeatureCard/FeatureCard.tsx","webpack://tmv2-components/./src/Components/Cards/FeatureCardsSection/FeatureCardsSection.tsx","webpack://tmv2-components/./src/Components/FooterV2_6/FooterBannerV2_6/FooterBannerV2_6.tsx","webpack://tmv2-components/./src/Components/FooterV2_6/SocialBarWithLogoAndLiveChat/SocialMedia/SocialMedia.tsx","webpack://tmv2-components/./src/Components/FooterV2_6/SocialBarWithLogoAndLiveChat/LiveChatCTA/LiveChatCTA.tsx","webpack://tmv2-components/./src/Components/FooterV2_6/SocialBarWithLogoAndLiveChat/SocialBarWithLogoAndLiveChat.tsx","webpack://tmv2-components/./src/Components/FooterV2_6/PaymentMethodsIcons/PaymentMethodsIcons.tsx","webpack://tmv2-components/./src/Components/FooterV2_6/FooterNavV2_6/FooterNavSection/FooterNavLink/FooterNavLink.tsx","webpack://tmv2-components/./src/Components/FooterV2_6/FooterNavV2_6/FooterNavSection/FooterNavSection.tsx","webpack://tmv2-components/./src/Components/FooterV2_6/FooterNavV2_6/FooterNavV2_6.tsx","webpack://tmv2-components/./src/Components/FooterV2_6/FooterV2_6.tsx"],"sourcesContent":["(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory(require(\"React\"), require(\"ReactDOM\"));\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine(\"homepagebundle\", [\"React\", \"ReactDOM\"], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"homepagebundle\"] = factory(require(\"React\"), require(\"ReactDOM\"));\n\telse\n\t\troot[\"homepagebundle\"] = factory(root[\"React\"], root[\"ReactDOM\"]);\n})(this, (__WEBPACK_EXTERNAL_MODULE__1024__, __WEBPACK_EXTERNAL_MODULE__314__) => {\nreturn ","var inProgress = {};\nvar dataWebpackPrefix = \"tmv2-components:\";\n// loadScript function to load a script via script tag\n__webpack_require__.l = (url, done, key, chunkId) => {\n\tif(inProgress[url]) { inProgress[url].push(done); return; }\n\tvar script, needAttach;\n\tif(key !== undefined) {\n\t\tvar scripts = document.getElementsByTagName(\"script\");\n\t\tfor(var i = 0; i < scripts.length; i++) {\n\t\t\tvar s = scripts[i];\n\t\t\tif(s.getAttribute(\"src\") == url || s.getAttribute(\"data-webpack\") == dataWebpackPrefix + key) { script = s; break; }\n\t\t}\n\t}\n\tif(!script) {\n\t\tneedAttach = true;\n\t\tscript = document.createElement('script');\n\n\t\tscript.charset = 'utf-8';\n\t\tscript.timeout = 120;\n\t\tif (__webpack_require__.nc) {\n\t\t\tscript.setAttribute(\"nonce\", __webpack_require__.nc);\n\t\t}\n\t\tscript.setAttribute(\"data-webpack\", dataWebpackPrefix + key);\n\t\tscript.src = url;\n\t}\n\tinProgress[url] = [done];\n\tvar onScriptComplete = (prev, event) => {\n\t\t// avoid mem leaks in IE.\n\t\tscript.onerror = script.onload = null;\n\t\tclearTimeout(timeout);\n\t\tvar doneFns = inProgress[url];\n\t\tdelete inProgress[url];\n\t\tscript.parentNode && script.parentNode.removeChild(script);\n\t\tdoneFns && doneFns.forEach((fn) => (fn(event)));\n\t\tif(prev) return prev(event);\n\t};\n\tvar timeout = setTimeout(onScriptComplete.bind(null, undefined, { type: 'timeout', target: script }), 120000);\n\tscript.onerror = onScriptComplete.bind(null, script.onerror);\n\tscript.onload = onScriptComplete.bind(null, script.onload);\n\tneedAttach && document.head.appendChild(script);\n};","Object.defineProperty(exports,\"__esModule\",{value:!0});var e=require(\"react\"),t=require(\"@rive-app/canvas\");function n(e){return e&&\"object\"==typeof e&&\"default\"in e?e:{default:e}}var i=/*#__PURE__*/n(e),r=function(){return r=Object.assign||function(e){for(var t,n=1,i=arguments.length;n0&&r[r.length-1])||6!==u[0]&&2!==u[0])){o=0;continue}if(3===u[0]&&(!r||u[1]>r[0]&&u[1]0&&e.height>0&&e.top<(window.innerHeight||document.documentElement.clientHeight)&&e.bottom>0&&e.left<(window.innerWidth||document.documentElement.clientWidth)&&e.right>0&&(null==d||d.startRendering(),t=!1)}};return u&&!1!==p.shouldUseIntersectionObserver&&x(u,function(i){i.isIntersecting?d&&d.startRendering():d&&d.stopRendering(),t=!i.isIntersecting,clearTimeout(e),i.isIntersecting||0!==i.boundingClientRect.width||(e=setTimeout(n,10))}),function(){u&&T(u)}},[x,T,d,u,p.shouldUseIntersectionObserver]),e.useEffect(function(){return function(){d&&(d.cleanup(),v(null))}},[d,u]);var P=null==n?void 0:n.animations;e.useEffect(function(){d&&P&&(d.isPlaying?(d.stop(d.animationNames),d.play(P)):d.isPaused&&(d.stop(d.animationNames),d.pause(P)))},[P,d]);var L=e.useCallback(function(e){return i.default.createElement(E,r({setContainerRef:R,setCanvasRef:m},e))},[m,R]);return{canvas:u,container:l.current,setCanvasRef:m,setContainerRef:R,rive:d,RiveComponent:L}}exports.default=function(e){var t=e.src,n=e.artboard,a=e.animations,u=e.stateMachines,s=e.layout,c=e.useOffscreenRenderer,l=void 0===c||c,f=e.shouldDisableRiveListeners,d=void 0!==f&&f,v=e.shouldResizeCanvasToContainer,h=void 0===v||v,p=e.automaticallyHandleEvents,b=void 0!==p&&p,w=e.children,y=o(e,[\"src\",\"artboard\",\"animations\",\"stateMachines\",\"layout\",\"useOffscreenRenderer\",\"shouldDisableRiveListeners\",\"shouldResizeCanvasToContainer\",\"automaticallyHandleEvents\",\"children\"]),g=O({src:t,artboard:n,animations:a,layout:s,stateMachines:u,autoplay:!0,shouldDisableRiveListeners:d,automaticallyHandleEvents:b},{useOffscreenRenderer:l,shouldResizeCanvasToContainer:h}).RiveComponent;return i.default.createElement(g,r({},y),w)},exports.useResizeCanvas=w,exports.useRive=O,exports.useRiveFile=function(n){var i=this,r=e.useState(null),o=r[0],s=r[1],c=e.useState(\"idle\"),l=c[0],f=c[1];return e.useEffect(function(){var e=null;return a(i,void 0,void 0,function(){return u(this,function(i){try{f(\"loading\"),(e=new t.RiveFile(n)).init(),e.on(t.EventType.Load,function(){null==e||e.getInstance(),s(e),f(\"success\")}),e.on(t.EventType.LoadError,function(){f(\"failed\")}),s(e)}catch(e){console.error(e),f(\"failed\")}return[2]})}),function(){null==e||e.cleanup()}},[n.src,n.buffer]),{riveFile:o,status:l}},exports.useStateMachineInput=function(n,i,r,o){var a=e.useState(null),u=a[0],s=a[1];return e.useEffect(function(){function e(){if(n&&i&&r||s(null),n&&i&&r){var e=n.stateMachineInputs(i);if(e){var t=e.find(function(e){return e.name===r});void 0!==o&&t&&(t.value=o),s(t||null)}}else s(null)}e(),n&&n.on(t.EventType.Load,function(){e()})},[n]),u},Object.keys(t).forEach(function(e){\"default\"===e||exports.hasOwnProperty(e)||Object.defineProperty(exports,e,{enumerable:!0,get:function(){return t[e]}})});\n","import React from \"react\";\r\nexport const buttonArrowRight = React.createElement(\"svg\", { width: \"15\", height: \"15\", viewBox: \"0 0 15 15\", fill: \"none\", xmlns: \"http://www.w3.org/2000/svg\" },\r\n React.createElement(\"path\", { d: \"M2.25 7.49967L12.75 7.49967M12.75 7.49967L7.79167 12.458M12.75 7.49967L7.79167 2.54134\", strokeWidth: \"1.5\", strokeLinecap: \"round\", strokeLinejoin: \"round\" }));\r\nexport const buttonArrowUp = React.createElement(\"svg\", { width: \"12\", height: \"12\", viewBox: \"0 0 12 12\", fill: \"none\", xmlns: \"http://www.w3.org/2000/svg\" },\r\n React.createElement(\"path\", { d: \"M6.00065 11.25L6.00065 0.750001M6.00065 0.750001L1.04232 5.70833M6.00065 0.750001L10.959 5.70833\", stroke: \"#0E1D31\", strokeWidth: \"1.5\", strokeLinecap: \"round\", strokeLinejoin: \"round\" }));\r\nexport const buttonArrowDown = React.createElement(\"svg\", { width: \"12\", height: \"12\", viewBox: \"0 0 12 12\", fill: \"none\", xmlns: \"http://www.w3.org/2000/svg\" },\r\n React.createElement(\"path\", { d: \"M5.99935 0.75V11.25M5.99935 11.25L10.9577 6.29167M5.99935 11.25L1.04102 6.29167\", stroke: \"#0E1D31\", strokeWidth: \"1.5\", strokeLinecap: \"round\", strokeLinejoin: \"round\" }));\r\n","import React, { useCallback, useMemo } from \"react\";\r\nimport { handleLinkTarget } from \"../../utils\";\r\nimport { buttonArrowRight, buttonArrowDown, buttonArrowUp } from \"../svgIcons/ButtonV2Icons\";\r\nexport const ButtonV2 = ({ design, classes, ...props }) => {\r\n const hrefTarget = handleLinkTarget(props.openInNewTab);\r\n const mountArrows = useCallback(() => React.createElement(React.Fragment, null,\r\n props.showArrowRight && buttonArrowRight,\r\n props.showArrowUp && buttonArrowUp,\r\n props.showArrowDown && buttonArrowDown), [props]);\r\n const anchor = useMemo(() => React.createElement(\"a\", { href: props.href ? props.href : \"#\", onClick: props.onClick, className: `button-v2 flex ${design} ${classes || \"\"}`, style: { ...props.style }, target: hrefTarget },\r\n props.icon && React.createElement(React.Fragment, null,\r\n React.createElement(\"img\", { className: \"button-v2-icon\", src: props.icon }),\r\n React.createElement(\"img\", { className: \"button-v2-icon-hover\", src: props.iconHover || props.icon })),\r\n props.children,\r\n mountArrows()), [classes, design, props, hrefTarget, mountArrows]);\r\n const spn = useMemo(() => React.createElement(\"span\", { role: \"button\", onClick: props.onClick, className: `button-v2 flex ${design} ${classes || \"\"}`, style: { ...props.style, cursor: \"pointer\" } },\r\n props.icon && React.createElement(React.Fragment, null,\r\n React.createElement(\"img\", { className: \"button-v2-icon\", src: props.icon }),\r\n React.createElement(\"img\", { className: \"button-v2-icon-hover\", src: props.iconHover || props.icon })),\r\n props.children,\r\n mountArrows()), [classes, design, props, mountArrows]);\r\n return (React.createElement(\"div\", { className: `button-v2-wrapper flex ${props.classesWrapper || \"\"}` }, props.href ? anchor : spn));\r\n};\r\n","const requestOptions = {\r\n method: \"POST\",\r\n headers: { \"Content-Type\": \"application/json\" },\r\n};\r\nconst ERROR_TYPE_MAP = new Map(Object.entries({\r\n 400: \"400\",\r\n 401: \"401\",\r\n}));\r\nconst getErrorType = (responseCode) => ERROR_TYPE_MAP[responseCode] ?? \"An error has occured\";\r\nexport const fetchSearchResults = async (requestUrl, payloadObj, signal) => {\r\n const queryParams = Object.entries(payloadObj).reduce((prev, [key, value]) => `${prev}${key}=${value}&`, \"\");\r\n if (signal) {\r\n requestOptions.signal = signal;\r\n }\r\n try {\r\n const response = await fetch(`${requestUrl}?${queryParams}`, requestOptions);\r\n if (!response.ok) {\r\n return {\r\n isError: true,\r\n errorType: getErrorType(response.status),\r\n results: undefined\r\n };\r\n }\r\n const results = await response.json();\r\n return {\r\n isError: false,\r\n errorType: \"\",\r\n results\r\n };\r\n }\r\n catch (error) {\r\n console.error(\"GlobalSearch error:\", error);\r\n let message;\r\n if (error instanceof Error) {\r\n if (error.name === \"AbortError\") {\r\n return {\r\n isError: false,\r\n errorType: \"\",\r\n results: undefined\r\n };\r\n }\r\n message = error.message;\r\n }\r\n else {\r\n message = String(error);\r\n }\r\n return {\r\n isError: true,\r\n errorType: message,\r\n results: undefined\r\n };\r\n }\r\n};\r\n","import React from \"react\";\r\nfunction useOutsideClick(ref, func) {\r\n React.useEffect(() => {\r\n function handleClickOutside(event) {\r\n if (ref.current && !ref.current.contains(event.target)) {\r\n func(event);\r\n }\r\n }\r\n document.addEventListener(\"mousedown\", handleClickOutside);\r\n return () => {\r\n document.removeEventListener(\"mousedown\", handleClickOutside);\r\n };\r\n }, [ref]);\r\n}\r\nexport default function ClickWrapper(props) {\r\n const wrapperRef = React.createRef();\r\n useOutsideClick(wrapperRef, props.func);\r\n return React.createElement(\"div\", { className: props.classes, ref: wrapperRef }, props.children);\r\n}\r\n","import React, { useCallback } from \"react\";\r\nimport { Container } from \"../../../global/Containers/Container/Container\";\r\nimport { ContainerFW } from \"../../../global/Containers/ContainerFW/ContainerFW\";\r\nimport { IconChevronDown, IconClose } from \"../../../svgIcons\";\r\nimport { Img } from \"../../../Img\";\r\nimport ClickWrapper from \"../../ClickWrapper\";\r\nconst calcCols = (param, optionalParam) => (optionalParam ? param + 1 : param);\r\nconst NavDropdown = ({ click, data, dropdownType, children, sectionWrapperRef, mouseOver }) => {\r\n const colsLength = calcCols(data?.sections.length, data?.article);\r\n const navWidget = React.useCallback((item, index, i) => {\r\n if (typeof item?.icon === \"string\" && item?.icon?.length > 0) {\r\n return (React.createElement(\"a\", { href: item.linkUrl, key: `dropdown-section-${i}-card-${index}`, className: \"nav-widget\" },\r\n React.createElement(Img, { src: item.icon, className: \"nav-widget__icon\", alt: item.title }),\r\n React.createElement(\"p\", { className: \"nav-widget__title\" }, item.title),\r\n IconChevronDown({})));\r\n }\r\n return undefined;\r\n }, []);\r\n const navCardWithLink = React.useCallback((item, index, i) => {\r\n if (item?.linkUrl?.length) {\r\n return (React.createElement(\"a\", { key: `dropdown-section-${i}-card-${index}`, href: item.linkUrl, className: \"nav-card\", target: item.opensInNewTab ? \"__blank\" : \"_self\" },\r\n React.createElement(Img, { className: \"navDropdown__image\", src: item.imageUrl, alt: item.title }),\r\n React.createElement(\"span\", { className: \"nav-card__textWrapper\" },\r\n React.createElement(\"div\", { className: \"nav-card__title\" },\r\n item.title,\r\n IconChevronDown({ width: 16, height: 16 })),\r\n item.description && (React.createElement(\"span\", { className: \"nav-card__text\" },\r\n React.createElement(\"p\", { className: \"nav-card__text--desc\", dangerouslySetInnerHTML: { __html: item.description } }))))));\r\n }\r\n return undefined;\r\n }, []);\r\n const navCardWithMoreLink = React.useCallback((item, index, i) => {\r\n if (item?.linkMoreUrl) {\r\n return (React.createElement(\"div\", { className: \"registerStyleWrapper\", key: `dropdown-section-${i}-card-${index}` },\r\n React.createElement(\"a\", { className: `nav-card ${(item.type === \"register\" || item.type === \"login\") ? \"registerStyle\" : \"\"}`, href: \"#\", target: item.opensInNewTab ? \"__blank\" : \"_self\" },\r\n React.createElement(\"img\", { src: item.imageUrl, alt: item.imageUrl }),\r\n React.createElement(\"div\", { className: \"titleWrapper\" },\r\n React.createElement(\"span\", null,\r\n React.createElement(\"p\", { className: \"nav-card__title\" }, item.title),\r\n IconChevronDown({ fill: \"#0E1D31\", width: 15 })),\r\n item.description && (React.createElement(\"p\", { className: \"nav-card__text\" }, item.description))))));\r\n }\r\n return undefined;\r\n }, []);\r\n const sectionItem = React.useCallback((item, index, i) => {\r\n const widget = navWidget(item, index, i);\r\n const cardWithLink = navCardWithLink(item, index, i);\r\n const cardWithMore = navCardWithMoreLink(item, index, i);\r\n if (widget) {\r\n return widget;\r\n }\r\n if (cardWithLink) {\r\n return cardWithLink;\r\n }\r\n if (cardWithMore) {\r\n return cardWithMore;\r\n }\r\n return React.createElement(React.Fragment, null);\r\n }, []);\r\n const validItem = (section) => {\r\n if (section.sectionItems[0].linkUrl === \"\") {\r\n return false;\r\n }\r\n return true;\r\n };\r\n const handleValidMenuItems = useCallback(() => {\r\n let response = false;\r\n if (data) {\r\n response = validItem(data?.sections[0]);\r\n if (!response) {\r\n return undefined;\r\n }\r\n return data.sections.map((section, i) => (React.createElement(\"div\", { className: \"navDropdown__section\", key: `dropdown-section-${i}` },\r\n React.createElement(\"p\", { className: \"navDropdown__title\" }, section.title),\r\n React.createElement(\"div\", { className: `navDropdown__cards ${section.sectionItems[0].code === \"\" ? \"navDropdown__cards--two-col\" : \"navDropdown__cards--two-col-coloured\"}` }, section.sectionItems && section.sectionItems.map((item, index) => sectionItem(item, index, i))))));\r\n }\r\n return undefined;\r\n }, [data, sectionItem]);\r\n const mouseInHandler = useCallback(() => mouseOver && mouseOver(true), []);\r\n const mouseOutHandler = useCallback(() => mouseOver && mouseOver(false), []);\r\n const overlayRef = React.useRef(null);\r\n return (React.createElement(\"div\", { className: `navDropdown navDropdown__cols-${colsLength} navDropdown__${dropdownType} ${data?.article ? \"navDropdown__article\" : \"\"} ${data?.title ? \"active\" : \"\"}` },\r\n React.createElement(\"div\", { className: \"navDropdown__content\" }, data && (React.createElement(ContainerFW, null,\r\n dropdownType === \"widget\" && (React.createElement(\"h3\", { className: \"navDropdown__widget-heading\" },\r\n data.title,\r\n React.createElement(\"span\", { onClick: click }, IconClose()))),\r\n React.createElement(Container, null,\r\n React.createElement(ClickWrapper, { func: click },\r\n React.createElement(\"div\", { ref: overlayRef, className: \"sectionWrapper\", onMouseEnter: mouseInHandler, onMouseLeave: mouseOutHandler },\r\n React.createElement(\"div\", { className: \"navDropdown__headerWrapper\" },\r\n React.createElement(\"span\", { onClick: click, className: \"navDropdown__backIcon\" }, IconChevronDown({ fill: \"#000\", height: 24, width: 24 })),\r\n React.createElement(\"h5\", { className: \"navDropdown__headerWrapper__heading\" }, data.title)),\r\n handleValidMenuItems(),\r\n children ? children : undefined))))))));\r\n};\r\nexport default React.memo(NavDropdown);\r\n","import React, { useCallback } from \"react\";\r\nimport { IconChevronDown } from \"../../../svgIcons\";\r\nimport { Img } from \"../../../Img\";\r\nconst calcCols = (param, optionalParam) => (optionalParam ? param + 1 : param);\r\nconst NavDropdownHover = ({ click, data, children, sectionWrapperRef, }) => {\r\n const colsLength = calcCols(data?.sections.length, data?.article);\r\n const navWidget = React.useCallback((item, index, i) => {\r\n if (typeof item?.icon === \"string\" && item?.icon?.length > 0) {\r\n return (React.createElement(\"a\", { href: item.linkUrl, key: `dropdown-section-${i}-card-${index}`, className: \"nav-widget\" },\r\n React.createElement(Img, { src: item.icon, className: \"nav-widget__icon\", alt: item.title }),\r\n React.createElement(\"p\", { className: \"nav-widget__title\" }, item.title),\r\n IconChevronDown({})));\r\n }\r\n return undefined;\r\n }, []);\r\n const navCardWithLink = React.useCallback((item, index, i) => {\r\n if (item?.linkUrl?.length) {\r\n return (React.createElement(\"a\", { key: `dropdown-section-${i}-card-${index}`, href: item.linkUrl, className: \"nav-card\", target: item.opensInNewTab ? \"__blank\" : \"_self\" },\r\n React.createElement(Img, { className: \"navDropdown__image\", src: item.imageUrl, alt: item.title }),\r\n React.createElement(\"span\", { className: \"nav-card__textWrapper\" },\r\n React.createElement(\"div\", { className: \"nav-card__title\" },\r\n item.title,\r\n IconChevronDown({ width: 16, height: 16 })),\r\n item.description && (React.createElement(\"span\", { className: \"nav-card__text\" },\r\n React.createElement(\"p\", { className: \"nav-card__text--desc\", dangerouslySetInnerHTML: { __html: item.description } }))))));\r\n }\r\n return undefined;\r\n }, []);\r\n const navCardWithMoreLink = React.useCallback((item, index, i) => {\r\n if (item?.linkMoreUrl) {\r\n return (React.createElement(\"div\", { className: \"registerStyleWrapper\", key: `dropdown-section-${i}-card-${index}` },\r\n React.createElement(\"a\", { className: `nav-card ${(item.type === \"register\" || item.type === \"login\") ? \"registerStyle\" : \"\"}`, href: \"#\", target: item.opensInNewTab ? \"__blank\" : \"_self\" },\r\n React.createElement(\"img\", { src: item.imageUrl, alt: item.imageUrl }),\r\n React.createElement(\"div\", { className: \"titleWrapper\" },\r\n React.createElement(\"span\", null,\r\n React.createElement(\"p\", { className: \"nav-card__title\" }, item.title),\r\n IconChevronDown({ fill: \"#0E1D31\", width: 15 })),\r\n item.description && (React.createElement(\"p\", { className: \"nav-card__text\" }, item.description))))));\r\n }\r\n return undefined;\r\n }, []);\r\n const sectionItem = React.useCallback((item, index, i) => {\r\n const widget = navWidget(item, index, i);\r\n const cardWithLink = navCardWithLink(item, index, i);\r\n const cardWithMore = navCardWithMoreLink(item, index, i);\r\n if (widget) {\r\n return widget;\r\n }\r\n if (cardWithLink) {\r\n return cardWithLink;\r\n }\r\n if (cardWithMore) {\r\n return cardWithMore;\r\n }\r\n return React.createElement(React.Fragment, null);\r\n }, []);\r\n const validItem = (section) => {\r\n if (section.sectionItems[0].linkUrl === \"\") {\r\n return false;\r\n }\r\n return true;\r\n };\r\n const handleValidMenuItems = useCallback(() => {\r\n let response = false;\r\n if (data) {\r\n response = validItem(data?.sections[0]);\r\n if (!response) {\r\n return undefined;\r\n }\r\n return data.sections.map((section, i) => (React.createElement(\"div\", { className: \"navDropdown__section\", key: `dropdown-section-${i}` },\r\n React.createElement(\"p\", { className: \"navDropdown__title\" }, section.title),\r\n React.createElement(\"div\", { className: `navDropdown__cards ${section.sectionItems[0]?.code === \"\" ? \"navDropdown__cards--two-col\" : \"navDropdown__cards--two-col-coloured\"}` }, section.sectionItems && section.sectionItems.map((item, index) => sectionItem(item, index, i))))));\r\n }\r\n return undefined;\r\n }, [data, sectionItem]);\r\n return (React.createElement(\"div\", { className: `navDropdown navDropdown-hover navDropdown__cols-${colsLength}` },\r\n React.createElement(\"div\", { className: \"navDropdown__content\" }, data && (React.createElement(\"div\", { ref: sectionWrapperRef, className: \"sectionWrapper\" },\r\n React.createElement(\"span\", { className: \"navDropdown__headerWrapper\" },\r\n React.createElement(\"span\", { onClick: click, className: \"navDropdown__backIcon\" }, IconChevronDown({ fill: \"#000\", height: 24, width: 24 })),\r\n React.createElement(\"h5\", { className: \"navDropdown__headerWrapper__heading\" }, data.title)),\r\n handleValidMenuItems(),\r\n children ? children : undefined)))));\r\n};\r\nexport default React.memo(NavDropdownHover);\r\n","import React from \"react\";\r\nconst getClassName = (design, className) => `${design ? `${design}` : \"\"}${className ? ` ${className}` : \"\"}`;\r\nexport const Heading = ({ design, style, children, className }) => {\r\n const headingClassName = getClassName(design, className);\r\n if (design?.includes(\"h6\")) {\r\n return (React.createElement(React.Fragment, null,\r\n React.createElement(\"h6\", { className: headingClassName, style: style },\r\n \" \",\r\n children)));\r\n }\r\n if (design?.includes(\"h5\")) {\r\n return (React.createElement(React.Fragment, null,\r\n React.createElement(\"h5\", { className: headingClassName, style: style },\r\n \" \",\r\n children)));\r\n }\r\n if (design?.includes(\"h4\")) {\r\n return (React.createElement(React.Fragment, null,\r\n React.createElement(\"h4\", { className: headingClassName, style: style },\r\n \" \",\r\n children)));\r\n }\r\n if (design?.includes(\"h3\")) {\r\n return (React.createElement(React.Fragment, null,\r\n React.createElement(\"h3\", { className: headingClassName, style: style },\r\n \" \",\r\n children)));\r\n }\r\n if (design?.includes(\"h1\")) {\r\n return (React.createElement(React.Fragment, null,\r\n React.createElement(\"h1\", { className: headingClassName, style: style },\r\n \" \",\r\n children)));\r\n }\r\n if (design?.includes(\"jumbo\")) {\r\n return (React.createElement(React.Fragment, null,\r\n React.createElement(\"h1\", { className: headingClassName, style: style },\r\n \" \",\r\n children)));\r\n }\r\n return (React.createElement(React.Fragment, null,\r\n React.createElement(\"h2\", { className: headingClassName, style: style },\r\n \" \",\r\n children)));\r\n};\r\n","import React, { useCallback } from \"react\";\r\nimport { sanitizeUrl } from \"../../utils\";\r\nexport const BaseImg = ({ src, alt, className, style, loading = \"lazy\", onError, onClick, srcset, sizes, }) => {\r\n const handleError = useCallback((event) => {\r\n if (typeof onError === \"function\") {\r\n onError(event);\r\n return;\r\n }\r\n const target = event.target;\r\n console.warn(`Could not load image with src ${target.src}!`);\r\n }, [onError]);\r\n if (!src) {\r\n return React.createElement(React.Fragment, null);\r\n }\r\n return (React.createElement(\"img\", { loading: loading, src: sanitizeUrl(src), alt: alt, className: className, style: style, onError: handleError, onClick: onClick, srcSet: srcset, sizes: sizes }));\r\n};\r\n","import React from \"react\";\r\nimport { BaseImg } from \"./BaseImg\";\r\nimport { ResponsiveImg } from \"./ResponsiveImg\";\r\nexport const Img = ({ src, alt, className, style, loading = \"lazy\", onError, onClick, srcset, sizes, sources, }) => (React.createElement(ResponsiveImg, { sources: sources },\r\n React.createElement(BaseImg, { src: src, alt: alt, className: className, style: style, loading: loading, onError: onError, onClick: onClick, srcset: srcset, sizes: sizes })));\r\n","import React from \"react\";\r\nexport const ResponsiveImg = ({ sources, children, }) => {\r\n const hasSources = Array.isArray(sources) && sources?.length;\r\n if (!hasSources) {\r\n return React.createElement(React.Fragment, null, children);\r\n }\r\n return (React.createElement(\"picture\", null,\r\n sources.map(({ srcset, sizes, media, type }, index) => (React.createElement(\"source\", { key: index, srcSet: srcset, sizes: sizes, media: media, type: type }))),\r\n children));\r\n};\r\n","import React from \"react\";\r\nimport { Img } from \"../Img\";\r\nexport const Logo = (props) => {\r\n const logo = (url, cls) => React.createElement(Img, { loading: \"eager\", src: url, alt: props.alt ? props.alt : \"ThinkMarkets\", className: `${cls} ${props.classes ? props.classes : \"\"}`, style: props.style ? props.style : {} });\r\n const lightLogo = logo(props.imageUrl, \"logo-light\");\r\n const darkLogo = props.imageUrlReverse && logo(props.imageUrlReverse, \"logo-dark\");\r\n const logoWithSource = React.createElement(React.Fragment, null,\r\n lightLogo,\r\n darkLogo);\r\n return (React.createElement(\"div\", { className: `logo-wrapper${props.imageUrlReverse ? \"\" : \" logo-wrapper--single-logo\"}` },\r\n React.createElement(\"a\", { href: props.logoHref }, logoWithSource)));\r\n};\r\n","import * as React from \"react\";\r\nexport const ContainerFW = props => React.createElement(\"div\", { style: { backgroundColor: props.backgroundColor }, className: `g-container g-container--fullwidth${props.className ? ` ${props.className}` : \"\"}` }, props.children);\r\n","import * as React from \"react\";\r\nexport const Container = props => React.createElement(\"div\", { className: `g-container ${props.className ? ` ${props.className}` : \"\"}` }, props.children);\r\n","import React from \"react\";\r\nexport const CaretDown = () => (React.createElement(\"svg\", { width: \"8\", height: \"6\", viewBox: \"0 0 8 6\", fill: \"none\", xmlns: \"http://www.w3.org/2000/svg\" },\r\n React.createElement(\"path\", { d: \"M4.00045 0.480469L6.90979 0.480469C7.15984 0.480469 7.39965 0.579801 7.57646 0.756612C7.94465 1.1248 7.94464 1.72175 7.57646 2.08994L4.70756 4.95884C4.31704 5.34936 3.68387 5.34936 3.29334 4.95884L0.424479 2.08995C0.05629 1.72176 0.0562909 1.1248 0.424483 0.75661C0.601295 0.579799 0.841102 0.480469 1.09115 0.480469L4.00045 0.480469Z\", fill: \"currentColor\" })));\r\n","import React from \"react\";\r\nexport const CaretUp = () => (React.createElement(\"svg\", { width: \"8\", height: \"6\", viewBox: \"0 0 8 6\", fill: \"none\", xmlns: \"http://www.w3.org/2000/svg\" },\r\n React.createElement(\"path\", { d: \"M3.99955 5.51953L1.09021 5.51953C0.840158 5.51953 0.600351 5.4202 0.423541 5.24339C0.0553542 4.8752 0.0553552 4.27825 0.423542 3.91006L3.29244 1.04116C3.68296 0.650634 4.31613 0.650636 4.70666 1.04116L7.57552 3.91005C7.94371 4.27824 7.94371 4.8752 7.57552 5.24339C7.39871 5.4202 7.1589 5.51953 6.90885 5.51953L3.99955 5.51953Z\", fill: \"currentColor\" })));\r\n","import React from \"react\";\r\nexport const GrayCheckMark = (React.createElement(\"svg\", { width: \"22\", height: \"22\", viewBox: \"0 0 22 22\", fill: \"none\", xmlns: \"http://www.w3.org/2000/svg\" },\r\n React.createElement(\"rect\", { width: \"22\", height: \"22\", rx: \"11\", fill: \"#283646\", fillOpacity: \"1\" }),\r\n React.createElement(\"path\", { d: \"M5.61328 11.1941L6.67958 10.1059L9.4465 12.8346L15.303 7L16.3857 8.08817L9.4465 15L5.61328 11.1941Z\", fill: \"white\" })));\r\n","import * as React from \"react\";\r\nexport const accountTypesTick = (React.createElement(\"svg\", { width: \"20\", height: \"20\", viewBox: \"0 0 20 20\", fill: \"none\", xmlns: \"http://www.w3.org/2000/svg\" },\r\n React.createElement(\"path\", { d: \"M0 4.19412L1.0663 3.10595L3.83322 5.83459L9.68968 0L10.7724 1.08817L3.83322 8L0 4.19412Z\", fill: \"#0E1D31\" })));\r\n","import React from \"react\";\r\nexport const IconChevronDown = ({ fill, height = \"24\", width = \"24\" }) => (React.createElement(\"svg\", { width: width, height: height, viewBox: \"0 0 24 24\", fill: \"none\", xmlns: \"http://www.w3.org/2000/svg\" },\r\n React.createElement(\"path\", { d: \"M17.29 11.29a.996.996 0 0 0-1.41 0L12 15.17l-3.88-3.88a.997.997 0 1 0-1.41 1.41l4.59 4.59a.994.994 0 0 0 1.41 0l4.59-4.59c.38-.38.38-1.02-.01-1.41z\", fill: fill ? fill : \"currentColor\" })));\r\n","import React from \"react\";\r\nexport const IconClose = () => (React.createElement(\"svg\", { width: \"24\", height: \"24\", viewBox: \"0 0 24 24\", fill: \"none\", xmlns: \"http://www.w3.org/2000/svg\" },\r\n React.createElement(\"g\", { clipPath: \"url(#y2qswdlpka)\" },\r\n React.createElement(\"path\", { d: \"m12 10.586 4.95-4.95 1.414 1.414-4.95 4.95 4.95 4.95-1.414 1.414-4.95-4.95-4.95 4.95-1.414-1.414 4.95-4.95-4.95-4.95L7.05 5.636l4.95 4.95z\", fill: \"currentColor\" })),\r\n React.createElement(\"defs\", null,\r\n React.createElement(\"clipPath\", { id: \"y2qswdlpka\" },\r\n React.createElement(\"path\", { fill: \"#fff\", d: \"M0 0h24v24H0z\" })))));\r\n","import React from \"react\";\r\nconst DarkStarSet = () => (React.createElement(\"svg\", { height: \"16\", width: \"81\", fill: \"none\", viewBox: \"0 0 81 16\", xmlns: \"http://www.w3.org/2000/svg\" },\r\n React.createElement(\"g\", { clipPath: \"url(#clip0_4471_232172)\" },\r\n React.createElement(\"path\", { d: \"M14.1477 7.99207C14.4677 7.67823 14.5785 7.22286 14.4431 6.79825C14.3077 6.37364 13.9447 6.06595 13.5016 6.00442L10.8986 5.62288C10.8186 5.61058 10.7509 5.56135 10.714 5.4875L9.5509 3.12446C9.35398 2.72447 8.95399 2.47217 8.50477 2.47217C8.05554 2.47217 7.65555 2.72447 7.45863 3.12446L6.29557 5.4875C6.25865 5.56135 6.19096 5.61058 6.11096 5.62288L3.50793 6.00442C3.06486 6.06595 2.70179 6.37364 2.5664 6.79825C2.43102 7.22286 2.54179 7.68439 2.86178 7.99207L4.74483 9.82589C4.80021 9.88127 4.83098 9.96127 4.81252 10.0413L4.36945 12.6382C4.29561 13.0812 4.47406 13.5181 4.83098 13.7766C5.03405 13.9243 5.27405 13.9981 5.51405 13.9981C5.69866 13.9981 5.88327 13.9551 6.05558 13.8627L8.38784 12.6382C8.45553 12.6012 8.54169 12.6012 8.61553 12.6382L10.9478 13.8627C11.3416 14.072 11.8155 14.0412 12.1785 13.7766C12.5416 13.512 12.7201 13.0751 12.6401 12.6382L12.197 10.0413C12.1847 9.96127 12.2093 9.88127 12.2647 9.82589L14.1477 7.98592V7.99207Z\", fill: \"#0E1D31\" })),\r\n React.createElement(\"g\", { clipPath: \"url(#clip1_4471_232172)\" },\r\n React.createElement(\"path\", { d: \"M30.1477 7.99207C30.4677 7.67823 30.5785 7.22286 30.4431 6.79825C30.3077 6.37364 29.9447 6.06595 29.5016 6.00442L26.8986 5.62288C26.8186 5.61058 26.7509 5.56135 26.714 5.4875L25.5509 3.12446C25.354 2.72447 24.954 2.47217 24.5048 2.47217C24.0555 2.47217 23.6555 2.72447 23.4586 3.12446L22.2956 5.4875C22.2586 5.56135 22.191 5.61058 22.111 5.62288L19.5079 6.00442C19.0649 6.06595 18.7018 6.37364 18.5664 6.79825C18.431 7.22286 18.5418 7.68439 18.8618 7.99207L20.7448 9.82589C20.8002 9.88127 20.831 9.96127 20.8125 10.0413L20.3694 12.6382C20.2956 13.0812 20.4741 13.5181 20.831 13.7766C21.0341 13.9243 21.274 13.9981 21.514 13.9981C21.6987 13.9981 21.8833 13.9551 22.0556 13.8627L24.3878 12.6382C24.4555 12.6012 24.5417 12.6012 24.6155 12.6382L26.9478 13.8627C27.3416 14.072 27.8155 14.0412 28.1785 13.7766C28.5416 13.512 28.7201 13.0751 28.6401 12.6382L28.197 10.0413C28.1847 9.96127 28.2093 9.88127 28.2647 9.82589L30.1477 7.98592V7.99207Z\", fill: \"#0E1D31\" })),\r\n React.createElement(\"g\", { clipPath: \"url(#clip2_4471_232172)\" },\r\n React.createElement(\"path\", { d: \"M46.1477 7.99207C46.4677 7.67823 46.5785 7.22286 46.4431 6.79825C46.3077 6.37364 45.9447 6.06595 45.5016 6.00442L42.8986 5.62288C42.8186 5.61058 42.7509 5.56135 42.714 5.4875L41.5509 3.12446C41.354 2.72447 40.954 2.47217 40.5048 2.47217C40.0555 2.47217 39.6555 2.72447 39.4586 3.12446L38.2956 5.4875C38.2586 5.56135 38.191 5.61058 38.111 5.62288L35.5079 6.00442C35.0649 6.06595 34.7018 6.37364 34.5664 6.79825C34.431 7.22286 34.5418 7.68439 34.8618 7.99207L36.7448 9.82589C36.8002 9.88127 36.831 9.96127 36.8125 10.0413L36.3694 12.6382C36.2956 13.0812 36.4741 13.5181 36.831 13.7766C37.0341 13.9243 37.274 13.9981 37.514 13.9981C37.6987 13.9981 37.8833 13.9551 38.0556 13.8627L40.3878 12.6382C40.4555 12.6012 40.5417 12.6012 40.6155 12.6382L42.9478 13.8627C43.3416 14.072 43.8155 14.0412 44.1785 13.7766C44.5416 13.512 44.7201 13.0751 44.6401 12.6382L44.197 10.0413C44.1847 9.96127 44.2093 9.88127 44.2647 9.82589L46.1477 7.98592V7.99207Z\", fill: \"#0E1D31\" })),\r\n React.createElement(\"g\", { clipPath: \"url(#clip3_4471_232172)\" },\r\n React.createElement(\"path\", { d: \"M62.1477 7.99207C62.4677 7.67823 62.5785 7.22286 62.4431 6.79825C62.3077 6.37364 61.9447 6.06595 61.5016 6.00442L58.8986 5.62288C58.8186 5.61058 58.7509 5.56135 58.714 5.4875L57.5509 3.12446C57.354 2.72447 56.954 2.47217 56.5048 2.47217C56.0555 2.47217 55.6555 2.72447 55.4586 3.12446L54.2956 5.4875C54.2586 5.56135 54.191 5.61058 54.111 5.62288L51.5079 6.00442C51.0649 6.06595 50.7018 6.37364 50.5664 6.79825C50.431 7.22286 50.5418 7.68439 50.8618 7.99207L52.7448 9.82589C52.8002 9.88127 52.831 9.96127 52.8125 10.0413L52.3694 12.6382C52.2956 13.0812 52.4741 13.5181 52.831 13.7766C53.0341 13.9243 53.274 13.9981 53.514 13.9981C53.6987 13.9981 53.8833 13.9551 54.0556 13.8627L56.3878 12.6382C56.4555 12.6012 56.5417 12.6012 56.6155 12.6382L58.9478 13.8627C59.3416 14.072 59.8155 14.0412 60.1785 13.7766C60.5416 13.512 60.7201 13.0751 60.6401 12.6382L60.197 10.0413C60.1847 9.96127 60.2093 9.88127 60.2647 9.82589L62.1477 7.98592V7.99207Z\", fill: \"#0E1D31\" })),\r\n React.createElement(\"g\", { clipPath: \"url(#clip4_4471_232172)\" },\r\n React.createElement(\"path\", { d: \"M78.1477 7.99207C78.4677 7.67823 78.5785 7.22286 78.4431 6.79825C78.3077 6.37364 77.9447 6.06595 77.5016 6.00442L74.8986 5.62288C74.8186 5.61058 74.7509 5.56135 74.714 5.4875L73.5509 3.12446C73.354 2.72447 72.954 2.47217 72.5048 2.47217C72.0555 2.47217 71.6555 2.72447 71.4586 3.12446L70.2956 5.4875C70.2586 5.56135 70.191 5.61058 70.111 5.62288L67.5079 6.00442C67.0649 6.06595 66.7018 6.37364 66.5664 6.79825C66.431 7.22286 66.5418 7.68439 66.8618 7.99207L68.7448 9.82589C68.8002 9.88127 68.831 9.96127 68.8125 10.0413L68.3694 12.6382C68.2956 13.0812 68.4741 13.5181 68.831 13.7766C69.0341 13.9243 69.274 13.9981 69.514 13.9981C69.6987 13.9981 69.8833 13.9551 70.0556 13.8627L72.3878 12.6382C72.4555 12.6012 72.5417 12.6012 72.6155 12.6382L74.9478 13.8627C75.3416 14.072 75.8155 14.0412 76.1785 13.7766C76.5416 13.512 76.7201 13.0751 76.6401 12.6382L76.197 10.0413C76.1847 9.96127 76.2093 9.88127 76.2647 9.82589L78.1477 7.98592V7.99207Z\", fill: \"#0E1D31\" })),\r\n React.createElement(\"defs\", null,\r\n React.createElement(\"clipPath\", { id: \"clip0_4471_232172\" },\r\n React.createElement(\"rect\", { height: \"12\", width: \"12\", fill: \"white\", transform: \"translate(2.5 2)\" })),\r\n React.createElement(\"clipPath\", { id: \"clip1_4471_232172\" },\r\n React.createElement(\"rect\", { height: \"12\", width: \"12\", fill: \"white\", transform: \"translate(18.5 2)\" })),\r\n React.createElement(\"clipPath\", { id: \"clip2_4471_232172\" },\r\n React.createElement(\"rect\", { height: \"12\", width: \"12\", fill: \"white\", transform: \"translate(34.5 2)\" })),\r\n React.createElement(\"clipPath\", { id: \"clip3_4471_232172\" },\r\n React.createElement(\"rect\", { height: \"12\", width: \"12\", fill: \"white\", transform: \"translate(50.5 2)\" })),\r\n React.createElement(\"clipPath\", { id: \"clip4_4471_232172\" },\r\n React.createElement(\"rect\", { height: \"12\", width: \"12\", fill: \"white\", transform: \"translate(66.5 2)\" })))));\r\nexport default DarkStarSet;\r\n","import React from \"react\";\r\nexport const handIcon = (React.createElement(\"svg\", { xmlns: \"http://www.w3.org/2000/svg\", width: \"14\", height: \"14\", viewBox: \"0 0 14 14\", fill: \"none\" },\r\n React.createElement(\"path\", { d: \"M4.66578 8.49997L3.60245 7.48731C3.22799 7.13066 2.63186 7.15778 2.29134 7.54698C1.98359 7.89867 1.99265 8.42641 2.31228 8.76737L5.77842 12.4646C5.99899 12.6999 6.30652 12.8333 6.62899 12.8333C7.2619 12.8333 8.30245 12.8333 9.33244 12.8333C10.7324 12.8333 11.6658 11.6667 11.6658 10.5C11.6658 10.5 11.6658 6.50001 11.6658 5.5\", stroke: \"#3E4A5A\", strokeLinecap: \"round\", strokeLinejoin: \"round\" }),\r\n React.createElement(\"path\", { d: \"M9.91602 5.83334C9.91602 5.83334 9.91602 5.76035 9.91602 5.5C9.91602 4.16667 11.666 4.16667 11.666 5.5\", stroke: \"#3E4A5A\", strokeLinecap: \"round\", strokeLinejoin: \"round\" }),\r\n React.createElement(\"path\", { d: \"M8.16602 5.83398C8.16602 5.83398 8.16602 5.35468 8.16602 4.83399C8.16602 3.50065 9.91602 3.50065 9.91602 4.83399C9.91602 4.96416 9.91602 5.37048 9.91602 5.50065C9.91602 5.761 9.91602 5.83398 9.91602 5.83398\", stroke: \"#3E4A5A\", strokeLinecap: \"round\", strokeLinejoin: \"round\" }),\r\n React.createElement(\"path\", { d: \"M6.41602 5.83336C6.41602 5.83336 6.41602 5.02588 6.41602 4.375C6.41602 3.04167 8.16602 3.04167 8.16602 4.375C8.16602 4.375 8.16602 4.70316 8.16602 4.83333C8.16602 5.35403 8.16602 5.83336 8.16602 5.83336\", stroke: \"#3E4A5A\", strokeLinecap: \"round\", strokeLinejoin: \"round\" }),\r\n React.createElement(\"path\", { d: \"M4.66602 8.49933V2.04102C4.66602 1.55776 5.05776 1.16602 5.54102 1.16602C6.02425 1.16602 6.41602 1.55718 6.41602 2.04043C6.41602 2.735 6.41602 3.69859 6.41602 4.37435C6.41602 5.02522 6.41602 5.83268 6.41602 5.83268\", stroke: \"#3E4A5A\", strokeLinecap: \"round\", strokeLinejoin: \"round\" })));\r\n","import React from \"react\";\r\nexport const IconArrowLeft = (React.createElement(\"svg\", { width: \"24\", height: \"24\", viewBox: \"0 0 24 24\", fill: \"none\", xmlns: \"http://www.w3.org/2000/svg\" },\r\n React.createElement(\"path\", { d: \"M10.3294 6.38871C9.94286 6.0129 9.32626 6.01688 8.94464 6.39765L3.98879 11.3425C3.59722 11.7332 3.59722 12.3676 3.98879 12.7583L8.97604 17.7345C9.35467 18.1123 9.96594 18.1178 10.3513 17.7469C10.7472 17.366 10.7538 16.7345 10.366 16.3454L7.07285 13.0406L19.0098 13.0406C19.5567 13.0406 20 12.5973 20 12.0504C20 11.5035 19.5567 11.0601 19.0098 11.0601L7.07285 11.0601L10.3392 7.79378C10.7284 7.40464 10.7239 6.77236 10.3294 6.38871Z\", fill: \"#0E1D31\" })));\r\n","import React from \"react\";\r\nexport const IconCalendar = (React.createElement(\"svg\", { width: \"48\", height: \"48\", viewBox: \"0 0 48 48\", fill: \"none\", xmlns: \"http://www.w3.org/2000/svg\" },\r\n React.createElement(\"path\", { d: \"M6 31.9982V18.2002H36.1048V31.9982C36.1048 33.6616 35.444 35.2569 34.2678 36.4331C33.0916 37.6093 31.4964 38.2701 29.833 38.2701H12.2718C10.6084 38.2701 9.01317 37.6093 7.83698 36.4331C6.66078 35.2569 6 33.6616 6 31.9982ZM14.1534 25.7264C14.6524 25.7264 15.131 25.5282 15.4838 25.1753C15.8367 24.8224 16.0349 24.3439 16.0349 23.8448C16.0349 23.3458 15.8367 22.8672 15.4838 22.5144C15.131 22.1615 14.6524 21.9633 14.1534 21.9633C13.6544 21.9633 13.1758 22.1615 12.8229 22.5144C12.4701 22.8672 12.2718 23.3458 12.2718 23.8448C12.2718 24.3439 12.4701 24.8224 12.8229 25.1753C13.1758 25.5282 13.6544 25.7264 14.1534 25.7264ZM16.0349 30.1167C16.0349 29.6177 15.8367 29.1391 15.4838 28.7862C15.131 28.4334 14.6524 28.2351 14.1534 28.2351C13.6544 28.2351 13.1758 28.4334 12.8229 28.7862C12.4701 29.1391 12.2718 29.6177 12.2718 30.1167C12.2718 30.6157 12.4701 31.0943 12.8229 31.4471C13.1758 31.8 13.6544 31.9982 14.1534 31.9982C14.6524 31.9982 15.131 31.8 15.4838 31.4471C15.8367 31.0943 16.0349 30.6157 16.0349 30.1167ZM21.0524 31.9982C21.5514 31.9982 22.03 31.8 22.3829 31.4471C22.7357 31.0943 22.9339 30.6157 22.9339 30.1167C22.9339 29.6177 22.7357 29.1391 22.3829 28.7862C22.03 28.4334 21.5514 28.2351 21.0524 28.2351C20.5534 28.2351 20.0748 28.4334 19.7219 28.7862C19.3691 29.1391 19.1708 29.6177 19.1708 30.1167C19.1708 30.6157 19.3691 31.0943 19.7219 31.4471C20.0748 31.8 20.5534 31.9982 21.0524 31.9982ZM22.9339 23.8448C22.9339 23.3458 22.7357 22.8672 22.3829 22.5144C22.03 22.1615 21.5514 21.9633 21.0524 21.9633C20.5534 21.9633 20.0748 22.1615 19.7219 22.5144C19.3691 22.8672 19.1708 23.3458 19.1708 23.8448C19.1708 24.3439 19.3691 24.8224 19.7219 25.1753C20.0748 25.5282 20.5534 25.7264 21.0524 25.7264C21.5514 25.7264 22.03 25.5282 22.3829 25.1753C22.7357 24.8224 22.9339 24.3439 22.9339 23.8448ZM27.9514 25.7264C28.4504 25.7264 28.929 25.5282 29.2819 25.1753C29.6347 24.8224 29.833 24.3439 29.833 23.8448C29.833 23.3458 29.6347 22.8672 29.2819 22.5144C28.929 22.1615 28.4504 21.9633 27.9514 21.9633C27.4524 21.9633 26.9738 22.1615 26.621 22.5144C26.2681 22.8672 26.0699 23.3458 26.0699 23.8448C26.0699 24.3439 26.2681 24.8224 26.621 25.1753C26.9738 25.5282 27.4524 25.7264 27.9514 25.7264Z\", fill: \"#0E1D31\" }),\r\n React.createElement(\"path\", { d: \"M36.1048 16.5822C35.5444 13.0643 32.3741 11.0107 28.7005 11.0107H13.1344C9.46079 11.0107 6.56038 13.0643 6 16.5822H36.1048Z\", fill: \"#5EE15A\" }),\r\n React.createElement(\"rect\", { x: \"12.0184\", y: \"8.28711\", width: \"3.79423\", height: \"7.88033\", rx: \"1\", fill: \"#5EE15A\" }),\r\n React.createElement(\"rect\", { x: \"26.0222\", y: \"8.28711\", width: \"3.79423\", height: \"7.88033\", rx: \"1\", fill: \"#5EE15A\" }),\r\n React.createElement(\"path\", { d: \"M26.375 34.1875C26.375 29.8766 29.8766 26.375 34.1875 26.375C38.4984 26.375 42 29.8766 42 34.1875C42 38.4984 38.4984 42 34.1875 42C29.8766 42 26.375 38.4984 26.375 34.1875Z\", fill: \"#5EE15A\" }),\r\n React.createElement(\"path\", { d: \"M34.1875 30.165C33.7468 30.165 33.3862 30.5256 33.3862 30.9663V34.1714C33.3862 34.4359 33.5224 34.6923 33.7468 34.8365L36.1507 36.4391C36.2869 36.5272 36.4391 36.5753 36.5914 36.5753C36.8478 36.5753 37.1042 36.4471 37.2564 36.2147C37.5048 35.8461 37.4007 35.3493 37.0321 35.1009L34.9888 33.7388V30.9663C34.9888 30.5256 34.6282 30.165 34.1875 30.165Z\", fill: \"#0E1D31\" })));\r\n","import React from \"react\";\r\nexport const IconFb = (React.createElement(\"svg\", { width: \"20\", height: \"20\", viewBox: \"0 0 20 20\", fill: \"none\", xmlns: \"http://www.w3.org/2000/svg\" },\r\n React.createElement(\"g\", { clipPath: \"url(#clip0_16364_158923)\" },\r\n React.createElement(\"path\", { d: \"M11.6667 11.2503H13.75L14.5833 7.91699H11.6667V6.25033C11.6667 5.39199 11.6667 4.58366 13.3333 4.58366H14.5833V1.78366C14.3117 1.74783 13.2858 1.66699 12.2025 1.66699C9.94001 1.66699 8.33334 3.04783 8.33334 5.58366V7.91699H5.83334V11.2503H8.33334V18.3337H11.6667V11.2503Z\", fill: \"#0E1D31\" })),\r\n React.createElement(\"defs\", null,\r\n React.createElement(\"clipPath\", { id: \"clip0_16364_158923\" },\r\n React.createElement(\"rect\", { width: \"20\", height: \"20\", fill: \"white\" })))));\r\n","import React from \"react\";\r\nexport const FlameIcon = () => (React.createElement(\"svg\", { width: \"12\", height: \"14\", viewBox: \"0 0 12 14\", fill: \"none\", xmlns: \"http://www.w3.org/2000/svg\" },\r\n React.createElement(\"path\", { d: \"M6.55493 13.5371C8.63887 13.1194 11.3333 11.6202 11.3333 7.74371C11.3333 4.21598 8.75113 1.86686 6.89433 0.787476C6.48233 0.547956 6 0.862949 6 1.33952V2.55851C6 3.51975 5.59587 5.27432 4.47288 6.00411C3.89955 6.37671 3.28035 5.81904 3.21067 5.13883L3.15345 4.58027C3.08693 3.93093 2.42561 3.53674 1.90664 3.93264C0.974313 4.64387 0 5.88931 0 7.74371C0 12.4844 3.52593 13.6696 5.28887 13.6696C5.3914 13.6696 5.4992 13.6666 5.6114 13.6601C4.74087 13.5857 3.33333 13.0456 3.33333 11.299C3.33333 9.93284 4.33005 9.00858 5.08733 8.55931C5.291 8.43844 5.5294 8.59538 5.5294 8.83218V9.22498C5.5294 9.52558 5.64567 9.99551 5.9224 10.3172C6.2356 10.6812 6.69527 10.2998 6.73233 9.82111C6.74407 9.67011 6.89593 9.57384 7.02673 9.65031C7.45427 9.90018 8 10.4339 8 11.299C8 12.6644 7.24733 13.2924 6.55493 13.5371Z\", fill: \"currentColor\" })));\r\n","import React from \"react\";\r\nexport const IconIn = (React.createElement(\"svg\", { width: \"20\", height: \"20\", viewBox: \"0 0 20 20\", fill: \"none\", xmlns: \"http://www.w3.org/2000/svg\" },\r\n React.createElement(\"g\", { clipPath: \"url(#clip0_16364_158925)\" },\r\n React.createElement(\"path\", { d: \"M15.2792 15.2825H13.0583V11.8017C13.0583 10.9717 13.0417 9.90333 11.9 9.90333C10.7425 9.90333 10.5658 10.8067 10.5658 11.7408V15.2825H8.34417V8.125H10.4775V9.1H10.5067C10.805 8.53833 11.53 7.94417 12.6133 7.94417C14.8633 7.94417 15.28 9.42583 15.28 11.3533V15.2825H15.2792ZM5.83583 7.14583C5.6663 7.14605 5.49838 7.11281 5.34172 7.04801C5.18506 6.9832 5.04272 6.88812 4.92288 6.7682C4.80304 6.64828 4.70804 6.50588 4.64334 6.34918C4.57864 6.19247 4.5455 6.02454 4.54583 5.855C4.546 5.59986 4.62182 5.3505 4.7637 5.13846C4.90558 4.92641 5.10716 4.76119 5.34294 4.66371C5.57872 4.56623 5.83811 4.54085 6.08832 4.59078C6.33852 4.64072 6.5683 4.76373 6.74859 4.94426C6.92888 5.12478 7.0516 5.35472 7.10121 5.60498C7.15082 5.85525 7.12511 6.11461 7.02732 6.35026C6.92953 6.58592 6.76406 6.78728 6.55183 6.92889C6.33959 7.0705 6.09097 7.146 5.83583 7.14583ZM6.94917 15.2825H4.72167V8.125H6.95V15.2825H6.94917ZM16.3917 2.5H3.6075C2.99417 2.5 2.5 2.98333 2.5 3.58083V16.4192C2.5 17.0167 2.995 17.5 3.60667 17.5H16.3883C17 17.5 17.5 17.0167 17.5 16.4192V3.58083C17.5 2.98333 17 2.5 16.3883 2.5H16.3917Z\", fill: \"#0E1D31\" })),\r\n React.createElement(\"defs\", null,\r\n React.createElement(\"clipPath\", { id: \"clip0_16364_158925\" },\r\n React.createElement(\"rect\", { width: \"20\", height: \"20\", fill: \"white\" })))));\r\n","import React from \"react\";\r\nexport const IconNoResults = (React.createElement(\"svg\", { width: \"48\", height: \"48\", viewBox: \"0 0 48 48\", fill: \"none\", xmlns: \"http://www.w3.org/2000/svg\" },\r\n React.createElement(\"g\", { clipPath: \"url(#clip0_16819_137445)\" },\r\n React.createElement(\"path\", { d: \"M36.0005 6.00122H32.3084C28.9949 6.00122 26.3088 8.68732 26.3088 12.0008V15.6928C26.3088 19.0063 28.9949 21.6924 32.3084 21.6924H36.0005C39.3139 21.6924 42 19.0063 42 15.6928V12.0008C42 8.68732 39.3139 6.00122 36.0005 6.00122Z\", fill: \"#CFD2D6\" }),\r\n React.createElement(\"path\", { d: \"M36.0005 26.3074H32.3084C28.9949 26.3074 26.3088 28.9935 26.3088 32.3069V35.999C26.3088 39.3125 28.9949 41.9986 32.3084 41.9986H36.0005C39.3139 41.9986 42 39.3125 42 35.999V32.3069C42 28.9935 39.3139 26.3074 36.0005 26.3074Z\", fill: \"#CFD2D6\" }),\r\n React.createElement(\"path\", { d: \"M15.6942 6.00122H12.0021C8.68866 6.00122 6.00256 8.68732 6.00256 12.0008V15.6928C6.00256 19.0063 8.68866 21.6924 12.0021 21.6924H15.6942C19.0076 21.6924 21.6937 19.0063 21.6937 15.6928V12.0008C21.6937 8.68732 19.0076 6.00122 15.6942 6.00122Z\", fill: \"#CFD2D6\" }),\r\n React.createElement(\"path\", { d: \"M14.7712 26.3075C10.95 26.3075 7.84864 29.4088 7.84864 33.2301C7.84864 34.6331 8.27322 35.9438 8.99317 37.0329L6.39028 39.6358C5.85493 40.1711 5.85493 41.0572 6.39028 41.5926C6.66718 41.8695 7.01793 41.9987 7.36867 41.9987C7.71941 41.9987 8.07016 41.8695 8.34706 41.5926L10.95 38.9897C12.0391 39.7096 13.3498 40.1342 14.7528 40.1342C18.574 40.1342 21.6753 37.0329 21.6753 33.2116C21.6753 29.3904 18.574 26.2891 14.7528 26.2891L14.7712 26.3075Z\", fill: \"#0E1D31\" })),\r\n React.createElement(\"defs\", null,\r\n React.createElement(\"clipPath\", { id: \"clip0_16819_137445\" },\r\n React.createElement(\"rect\", { width: \"36\", height: \"36\", fill: \"white\", transform: \"translate(6 6)\" })))));\r\n","import React from \"react\";\r\nexport const IconTw = (React.createElement(\"svg\", { width: \"20\", height: \"20\", viewBox: \"0 0 20 20\", fill: \"none\", xmlns: \"http://www.w3.org/2000/svg\" },\r\n React.createElement(\"path\", { d: \"M6.66668 1.66699H0.833344L7.71739 10.8457L1.2083 18.3336H3.41666L8.74026 12.2095L13.3333 18.3337H19.1667L11.9931 8.76891L18.1668 1.66699H15.9584L10.9703 7.40514L6.66668 1.66699ZM14.1667 16.667L4.16668 3.33366H5.83334L15.8333 16.667H14.1667Z\", fill: \"#0E1D31\" })));\r\n","import { useEffect, useState } from \"react\";\r\nimport { pageViewStyle } from \"../pageViewStyle\";\r\nexport const usePageViewStyle = () => {\r\n const [view, setView] = useState(pageViewStyle.getView());\r\n const onViewUpdate = (newView) => {\r\n setView(newView);\r\n };\r\n useEffect(() => {\r\n pageViewStyle.subscribe(onViewUpdate);\r\n return () => {\r\n pageViewStyle.unsubscribe(onViewUpdate);\r\n };\r\n }, []);\r\n return { viewStyle: view, isSmall: view === \"small\", isMedium: view === \"medium\", isLarge: view === \"large\" };\r\n};\r\n","import { debounce } from \"debounce\";\r\nexport const viewSizes = {\r\n smallMaxWidth: 600,\r\n mediumMaxWidth: 1024,\r\n};\r\nclass PageViewStyle {\r\n constructor(window) {\r\n this.getView = () => this.view;\r\n this.subscribe = (callback) => {\r\n if (this.subscribers.length > this.maxSubscribers) {\r\n throw new Error(\"Maximum subscribers limit reached! Check if something is not unsubscribing.\");\r\n }\r\n const subscruber = this.subscribers.find(s => callback === s);\r\n if (subscruber) {\r\n return false;\r\n }\r\n else {\r\n this.subscribers.push(callback);\r\n return callback;\r\n }\r\n };\r\n this.unsubscribe = (callback) => {\r\n const subscriberIndex = this.subscribers.indexOf(callback);\r\n if (subscriberIndex > -1) {\r\n this.subscribers.splice(subscriberIndex, 1);\r\n return true;\r\n }\r\n else {\r\n return false;\r\n }\r\n };\r\n this.onResize = () => {\r\n this.setView(this.calculateView());\r\n };\r\n this.viewClasses = {\r\n small: \"small-view\",\r\n medium: \"medium-view\",\r\n large: \"large-view\",\r\n };\r\n this.window = window;\r\n this.maxSubscribers = 100;\r\n this.subscribers = [];\r\n if (this.window.document) {\r\n this.setView(this.calculateView());\r\n this.onResizeDebounced = debounce(this.onResize, 50);\r\n this.window.addEventListener(\"resize\", this.onResizeDebounced);\r\n }\r\n }\r\n setView(view) {\r\n if (this.view === view) {\r\n return;\r\n }\r\n this.window.document.documentElement.classList.remove(this.viewClasses[this.view]);\r\n this.window.document.documentElement.classList.add(this.viewClasses[view]);\r\n this.subscribers.forEach(s => s(view));\r\n this.view = view;\r\n }\r\n calculateView() {\r\n const width = this.window.innerWidth;\r\n if (width > viewSizes.mediumMaxWidth) {\r\n return \"large\";\r\n }\r\n else if (width <= viewSizes.mediumMaxWidth && width > viewSizes.smallMaxWidth) {\r\n return \"medium\";\r\n }\r\n else {\r\n return \"small\";\r\n }\r\n }\r\n}\r\nexport const pageViewStyle = globalThis.pageviewstyle?.pageViewStyle || new PageViewStyle(globalThis);\r\n","export function getColors(backgroundColor) {\r\n let bgColor;\r\n let textColor;\r\n const white = \"#FFFFFF\";\r\n const dark = \"#0E1D31\";\r\n const nab = \"#F2F6F6\";\r\n const nad = \"#D3E2E2\";\r\n if (backgroundColor === \"white\") {\r\n bgColor = white;\r\n textColor = dark;\r\n return { bgColor, textColor };\r\n }\r\n if (backgroundColor === \"dark\") {\r\n bgColor = dark;\r\n textColor = white;\r\n return { bgColor, textColor };\r\n }\r\n if (backgroundColor === \"neutralaccentbackground\") {\r\n bgColor = nab;\r\n textColor = dark;\r\n return { bgColor, textColor };\r\n }\r\n if (backgroundColor === \"neutralaccentdefault\") {\r\n bgColor = nad;\r\n textColor = dark;\r\n return { bgColor, textColor };\r\n }\r\n if (backgroundColor === \"none\") {\r\n bgColor = undefined;\r\n textColor = {};\r\n return { bgColor, textColor };\r\n }\r\n if (typeof backgroundColor === \"string\" && backgroundColor.length > 0) {\r\n bgColor = backgroundColor;\r\n textColor = white;\r\n return { bgColor, textColor };\r\n }\r\n bgColor = undefined;\r\n textColor = {};\r\n return { bgColor, textColor };\r\n}\r\n","export const CONTAINER_CLASS_PER_MAX_WIDTH = {\r\n \"1128px\": \"\",\r\n \"1400px\": \"g-container--new\"\r\n};\r\nexport const getContainerClassPerMaxWidth = (maxWidth) => {\r\n if (typeof maxWidth === \"undefined\") {\r\n return \"\";\r\n }\r\n const keyFound = Object.keys(CONTAINER_CLASS_PER_MAX_WIDTH).find(key => key === maxWidth);\r\n return keyFound ? CONTAINER_CLASS_PER_MAX_WIDTH[keyFound] : \"\";\r\n};\r\n","export const handleLinkTarget = (isExternalLocation) => {\r\n if (isExternalLocation) {\r\n return \"_blank\";\r\n }\r\n return \"_self\";\r\n};\r\n","export const sanitizeUrl = (url) => url.startsWith(\"~\") ? url.slice(1) : url;\r\n","(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory();\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine([], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"rive\"] = factory();\n\telse\n\t\troot[\"rive\"] = factory();\n})(this, () => {\nreturn /******/ (() => { // webpackBootstrap\n/******/ \t\"use strict\";\n/******/ \tvar __webpack_modules__ = ([\n/* 0 */,\n/* 1 */\n/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {\n\n__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n\nvar Rive = (() => {\n var _scriptDir = typeof document !== 'undefined' && document.currentScript ? document.currentScript.src : undefined;\n \n return (\nfunction(moduleArg = {}) {\n\nvar m = moduleArg, aa, ea;\nm.ready = new Promise((a, b) => {\n aa = a;\n ea = b;\n});\nfunction fa() {\n function a(g) {\n const n = d;\n c = b = 0;\n d = new Map();\n n.forEach(p => {\n try {\n p(g);\n } catch (l) {\n console.error(l);\n }\n });\n this.ob();\n e && e.Tb();\n }\n let b = 0, c = 0, d = new Map(), e = null, f = null;\n this.requestAnimationFrame = function(g) {\n b || (b = requestAnimationFrame(a.bind(this)));\n const n = ++c;\n d.set(n, g);\n return n;\n };\n this.cancelAnimationFrame = function(g) {\n d.delete(g);\n b && 0 == d.size && (cancelAnimationFrame(b), b = 0);\n };\n this.Rb = function(g) {\n f && (document.body.remove(f), f = null);\n g || (f = document.createElement(\"div\"), f.style.backgroundColor = \"black\", f.style.position = \"fixed\", f.style.right = 0, f.style.top = 0, f.style.color = \"white\", f.style.padding = \"4px\", f.innerHTML = \"RIVE FPS\", g = function(n) {\n f.innerHTML = \"RIVE FPS \" + n.toFixed(1);\n }, document.body.appendChild(f));\n e = new function() {\n let n = 0, p = 0;\n this.Tb = function() {\n var l = performance.now();\n p ? (++n, l -= p, 1000 < l && (g(1000 * n / l), n = p = 0)) : (p = l, n = 0);\n };\n }();\n };\n this.Ob = function() {\n f && (document.body.remove(f), f = null);\n e = null;\n };\n this.ob = function() {\n };\n}\nfunction ha(a) {\n console.assert(!0);\n const b = new Map();\n let c = -Infinity;\n this.push = function(d) {\n d = d + ((1 << a) - 1) >> a;\n b.has(d) && clearTimeout(b.get(d));\n b.set(d, setTimeout(function() {\n b.delete(d);\n 0 == b.length ? c = -Infinity : d == c && (c = Math.max(...b.keys()), console.assert(c < d));\n }, 1000));\n c = Math.max(d, c);\n return c << a;\n };\n}\nconst ia = m.onRuntimeInitialized;\nm.onRuntimeInitialized = function() {\n ia && ia();\n let a = m.decodeAudio;\n m.decodeAudio = function(e, f) {\n e = a(e);\n f(e);\n };\n let b = m.decodeFont;\n m.decodeFont = function(e, f) {\n e = b(e);\n f(e);\n };\n const c = m.FileAssetLoader;\n m.ptrToAsset = e => {\n let f = m.ptrToFileAsset(e);\n return f.isImage ? m.ptrToImageAsset(e) : f.isFont ? m.ptrToFontAsset(e) : f.isAudio ? m.ptrToAudioAsset(e) : f;\n };\n m.CustomFileAssetLoader = c.extend(\"CustomFileAssetLoader\", {__construct:function({loadContents:e}) {\n this.__parent.__construct.call(this);\n this.Gb = e;\n }, loadContents:function(e, f) {\n e = m.ptrToAsset(e);\n return this.Gb(e, f);\n },});\n m.CDNFileAssetLoader = c.extend(\"CDNFileAssetLoader\", {__construct:function() {\n this.__parent.__construct.call(this);\n }, loadContents:function(e) {\n let f = m.ptrToAsset(e);\n e = f.cdnUuid;\n if (\"\" === e) {\n return !1;\n }\n (function(g, n) {\n var p = new XMLHttpRequest();\n p.responseType = \"arraybuffer\";\n p.onreadystatechange = function() {\n 4 == p.readyState && 200 == p.status && n(p);\n };\n p.open(\"GET\", g, !0);\n p.send(null);\n })(f.cdnBaseUrl + \"/\" + e, g => {\n f.decode(new Uint8Array(g.response));\n });\n return !0;\n },});\n m.FallbackFileAssetLoader = c.extend(\"FallbackFileAssetLoader\", {__construct:function() {\n this.__parent.__construct.call(this);\n this.kb = [];\n }, addLoader:function(e) {\n this.kb.push(e);\n }, loadContents:function(e, f) {\n for (let g of this.kb) {\n if (g.loadContents(e, f)) {\n return !0;\n }\n }\n return !1;\n },});\n let d = m.computeAlignment;\n m.computeAlignment = function(e, f, g, n, p = 1.0) {\n return d.call(this, e, f, g, n, p);\n };\n};\nconst ja = \"createConicGradient createImageData createLinearGradient createPattern createRadialGradient getContextAttributes getImageData getLineDash getTransform isContextLost isPointInPath isPointInStroke measureText\".split(\" \"), ka = new function() {\n function a() {\n if (!b) {\n var k = document.createElement(\"canvas\"), t = {alpha:1, depth:0, stencil:0, antialias:0, premultipliedAlpha:1, preserveDrawingBuffer:0, powerPreference:\"high-performance\", failIfMajorPerformanceCaveat:0, enableExtensionsByDefault:1, explicitSwapControl:1, renderViaOffscreenBackBuffer:1,};\n let r;\n if (/iPhone|iPad|iPod/i.test(navigator.userAgent)) {\n if (r = k.getContext(\"webgl\", t), c = 1, !r) {\n return console.log(\"No WebGL support. Image mesh will not be drawn.\"), !1;\n }\n } else {\n if (r = k.getContext(\"webgl2\", t)) {\n c = 2;\n } else {\n if (r = k.getContext(\"webgl\", t)) {\n c = 1;\n } else {\n return console.log(\"No WebGL support. Image mesh will not be drawn.\"), !1;\n }\n }\n }\n r = new Proxy(r, {get(D, w) {\n if (D.isContextLost()) {\n if (p || (console.error(\"Cannot render the mesh because the GL Context was lost. Tried to invoke \", w), p = !0), \"function\" === typeof D[w]) {\n return function() {\n };\n }\n } else {\n return \"function\" === typeof D[w] ? function(...M) {\n return D[w].apply(D, M);\n } : D[w];\n }\n }, set(D, w, M) {\n if (D.isContextLost()) {\n p || (console.error(\"Cannot render the mesh because the GL Context was lost. Tried to set property \" + w), p = !0);\n } else {\n return D[w] = M, !0;\n }\n },});\n d = Math.min(r.getParameter(r.MAX_RENDERBUFFER_SIZE), r.getParameter(r.MAX_TEXTURE_SIZE));\n function B(D, w, M) {\n w = r.createShader(w);\n r.shaderSource(w, M);\n r.compileShader(w);\n M = r.getShaderInfoLog(w);\n if (0 < (M || \"\").length) {\n throw M;\n }\n r.attachShader(D, w);\n }\n k = r.createProgram();\n B(k, r.VERTEX_SHADER, \"attribute vec2 vertex;\\n attribute vec2 uv;\\n uniform vec4 mat;\\n uniform vec2 translate;\\n varying vec2 st;\\n void main() {\\n st = uv;\\n gl_Position = vec4(mat2(mat) * vertex + translate, 0, 1);\\n }\");\n B(k, r.FRAGMENT_SHADER, \"precision highp float;\\n uniform sampler2D image;\\n varying vec2 st;\\n void main() {\\n gl_FragColor = texture2D(image, st);\\n }\");\n r.bindAttribLocation(k, 0, \"vertex\");\n r.bindAttribLocation(k, 1, \"uv\");\n r.linkProgram(k);\n t = r.getProgramInfoLog(k);\n if (0 < (t || \"\").trim().length) {\n throw t;\n }\n e = r.getUniformLocation(k, \"mat\");\n f = r.getUniformLocation(k, \"translate\");\n r.useProgram(k);\n r.bindBuffer(r.ARRAY_BUFFER, r.createBuffer());\n r.enableVertexAttribArray(0);\n r.enableVertexAttribArray(1);\n r.bindBuffer(r.ELEMENT_ARRAY_BUFFER, r.createBuffer());\n r.uniform1i(r.getUniformLocation(k, \"image\"), 0);\n r.pixelStorei(r.UNPACK_PREMULTIPLY_ALPHA_WEBGL, !0);\n b = r;\n }\n return !0;\n }\n let b = null, c = 0, d = 0, e = null, f = null, g = 0, n = 0, p = !1;\n a();\n this.hc = function() {\n a();\n return d;\n };\n this.Mb = function(k) {\n b.deleteTexture && b.deleteTexture(k);\n };\n this.Lb = function(k) {\n if (!a()) {\n return null;\n }\n const t = b.createTexture();\n if (!t) {\n return null;\n }\n b.bindTexture(b.TEXTURE_2D, t);\n b.texImage2D(b.TEXTURE_2D, 0, b.RGBA, b.RGBA, b.UNSIGNED_BYTE, k);\n b.texParameteri(b.TEXTURE_2D, b.TEXTURE_WRAP_S, b.CLAMP_TO_EDGE);\n b.texParameteri(b.TEXTURE_2D, b.TEXTURE_WRAP_T, b.CLAMP_TO_EDGE);\n b.texParameteri(b.TEXTURE_2D, b.TEXTURE_MAG_FILTER, b.LINEAR);\n 2 == c ? (b.texParameteri(b.TEXTURE_2D, b.TEXTURE_MIN_FILTER, b.LINEAR_MIPMAP_LINEAR), b.generateMipmap(b.TEXTURE_2D)) : b.texParameteri(b.TEXTURE_2D, b.TEXTURE_MIN_FILTER, b.LINEAR);\n return t;\n };\n const l = new ha(8), u = new ha(8), v = new ha(10), x = new ha(10);\n this.Qb = function(k, t, r, B, D) {\n if (a()) {\n var w = l.push(k), M = u.push(t);\n if (b.canvas) {\n if (b.canvas.width != w || b.canvas.height != M) {\n b.canvas.width = w, b.canvas.height = M;\n }\n b.viewport(0, M - t, k, t);\n b.disable(b.SCISSOR_TEST);\n b.clearColor(0, 0, 0, 0);\n b.clear(b.COLOR_BUFFER_BIT);\n b.enable(b.SCISSOR_TEST);\n r.sort((H, ba) => ba.wb - H.wb);\n w = v.push(B);\n g != w && (b.bufferData(b.ARRAY_BUFFER, 8 * w, b.DYNAMIC_DRAW), g = w);\n w = 0;\n for (var T of r) {\n b.bufferSubData(b.ARRAY_BUFFER, w, T.Ta), w += 4 * T.Ta.length;\n }\n console.assert(w == 4 * B);\n for (var ca of r) {\n b.bufferSubData(b.ARRAY_BUFFER, w, ca.Db), w += 4 * ca.Db.length;\n }\n console.assert(w == 8 * B);\n w = x.push(D);\n n != w && (b.bufferData(b.ELEMENT_ARRAY_BUFFER, 2 * w, b.DYNAMIC_DRAW), n = w);\n T = 0;\n for (var ra of r) {\n b.bufferSubData(b.ELEMENT_ARRAY_BUFFER, T, ra.indices), T += 2 * ra.indices.length;\n }\n console.assert(T == 2 * D);\n ra = 0;\n ca = !0;\n w = T = 0;\n for (const H of r) {\n H.image.Ka != ra && (b.bindTexture(b.TEXTURE_2D, H.image.Ja || null), ra = H.image.Ka);\n H.mc ? (b.scissor(H.Ya, M - H.Za - H.jb, H.Ac, H.jb), ca = !0) : ca && (b.scissor(0, M - t, k, t), ca = !1);\n r = 2 / k;\n const ba = -2 / t;\n b.uniform4f(e, H.ha[0] * r * H.Ba, H.ha[1] * ba * H.Ca, H.ha[2] * r * H.Ba, H.ha[3] * ba * H.Ca);\n b.uniform2f(f, H.ha[4] * r * H.Ba + r * (H.Ya - H.ic * H.Ba) - 1, H.ha[5] * ba * H.Ca + ba * (H.Za - H.jc * H.Ca) + 1);\n b.vertexAttribPointer(0, 2, b.FLOAT, !1, 0, w);\n b.vertexAttribPointer(1, 2, b.FLOAT, !1, 0, w + 4 * B);\n b.drawElements(b.TRIANGLES, H.indices.length, b.UNSIGNED_SHORT, T);\n w += 4 * H.Ta.length;\n T += 2 * H.indices.length;\n }\n console.assert(w == 4 * B);\n console.assert(T == 2 * D);\n }\n }\n };\n this.canvas = function() {\n return a() && b.canvas;\n };\n}(), la = m.onRuntimeInitialized;\nm.onRuntimeInitialized = function() {\n function a(q) {\n switch(q) {\n case l.srcOver:\n return \"source-over\";\n case l.screen:\n return \"screen\";\n case l.overlay:\n return \"overlay\";\n case l.darken:\n return \"darken\";\n case l.lighten:\n return \"lighten\";\n case l.colorDodge:\n return \"color-dodge\";\n case l.colorBurn:\n return \"color-burn\";\n case l.hardLight:\n return \"hard-light\";\n case l.softLight:\n return \"soft-light\";\n case l.difference:\n return \"difference\";\n case l.exclusion:\n return \"exclusion\";\n case l.multiply:\n return \"multiply\";\n case l.hue:\n return \"hue\";\n case l.saturation:\n return \"saturation\";\n case l.color:\n return \"color\";\n case l.luminosity:\n return \"luminosity\";\n }\n }\n function b(q) {\n return \"rgba(\" + ((16711680 & q) >>> 16) + \",\" + ((65280 & q) >>> 8) + \",\" + ((255 & q) >>> 0) + \",\" + ((4278190080 & q) >>> 24) / 255 + \")\";\n }\n function c() {\n 0 < M.length && (ka.Qb(w.drawWidth(), w.drawHeight(), M, T, ca), M = [], ca = T = 0, w.reset(512, 512));\n for (const q of D) {\n for (const y of q.H) {\n y();\n }\n q.H = [];\n }\n D.clear();\n }\n la && la();\n var d = m.RenderPaintStyle;\n const e = m.RenderPath, f = m.RenderPaint, g = m.Renderer, n = m.StrokeCap, p = m.StrokeJoin, l = m.BlendMode, u = d.fill, v = d.stroke, x = m.FillRule.evenOdd;\n let k = 1;\n var t = m.RenderImage.extend(\"CanvasRenderImage\", {__construct:function({la:q, xa:y} = {}) {\n this.__parent.__construct.call(this);\n this.Ka = k;\n k = k + 1 & 2147483647 || 1;\n this.la = q;\n this.xa = y;\n }, __destruct:function() {\n this.Ja && (ka.Mb(this.Ja), URL.revokeObjectURL(this.Wa));\n this.__parent.__destruct.call(this);\n }, decode:function(q) {\n var y = this;\n y.xa && y.xa(y);\n var F = new Image();\n y.Wa = URL.createObjectURL(new Blob([q], {type:\"image/png\",}));\n F.onload = function() {\n y.Fb = F;\n y.Ja = ka.Lb(F);\n y.size(F.width, F.height);\n y.la && y.la(y);\n };\n F.src = y.Wa;\n },}), r = e.extend(\"CanvasRenderPath\", {__construct:function() {\n this.__parent.__construct.call(this);\n this.T = new Path2D();\n }, rewind:function() {\n this.T = new Path2D();\n }, addPath:function(q, y, F, G, A, I, J) {\n var K = this.T, X = K.addPath;\n q = q.T;\n const Q = new DOMMatrix();\n Q.a = y;\n Q.b = F;\n Q.c = G;\n Q.d = A;\n Q.e = I;\n Q.f = J;\n X.call(K, q, Q);\n }, fillRule:function(q) {\n this.Va = q;\n }, moveTo:function(q, y) {\n this.T.moveTo(q, y);\n }, lineTo:function(q, y) {\n this.T.lineTo(q, y);\n }, cubicTo:function(q, y, F, G, A, I) {\n this.T.bezierCurveTo(q, y, F, G, A, I);\n }, close:function() {\n this.T.closePath();\n },}), B = f.extend(\"CanvasRenderPaint\", {color:function(q) {\n this.Xa = b(q);\n }, thickness:function(q) {\n this.Ib = q;\n }, join:function(q) {\n switch(q) {\n case p.miter:\n this.Ia = \"miter\";\n break;\n case p.round:\n this.Ia = \"round\";\n break;\n case p.bevel:\n this.Ia = \"bevel\";\n }\n }, cap:function(q) {\n switch(q) {\n case n.butt:\n this.Ha = \"butt\";\n break;\n case n.round:\n this.Ha = \"round\";\n break;\n case n.square:\n this.Ha = \"square\";\n }\n }, style:function(q) {\n this.Hb = q;\n }, blendMode:function(q) {\n this.Eb = a(q);\n }, clearGradient:function() {\n this.ja = null;\n }, linearGradient:function(q, y, F, G) {\n this.ja = {yb:q, zb:y, bb:F, cb:G, Ra:[],};\n }, radialGradient:function(q, y, F, G) {\n this.ja = {yb:q, zb:y, bb:F, cb:G, Ra:[], ec:!0,};\n }, addStop:function(q, y) {\n this.ja.Ra.push({color:q, stop:y,});\n }, completeGradient:function() {\n }, draw:function(q, y, F) {\n let G = this.Hb;\n var A = this.Xa, I = this.ja;\n q.globalCompositeOperation = this.Eb;\n if (null != I) {\n A = I.yb;\n var J = I.zb;\n const X = I.bb;\n var K = I.cb;\n const Q = I.Ra;\n I.ec ? (I = X - A, K -= J, A = q.createRadialGradient(A, J, 0, A, J, Math.sqrt(I * I + K * K))) : A = q.createLinearGradient(A, J, X, K);\n for (let da = 0, R = Q.length; da < R; da++) {\n J = Q[da], A.addColorStop(J.stop, b(J.color));\n }\n this.Xa = A;\n this.ja = null;\n }\n switch(G) {\n case v:\n q.strokeStyle = A;\n q.lineWidth = this.Ib;\n q.lineCap = this.Ha;\n q.lineJoin = this.Ia;\n q.stroke(y);\n break;\n case u:\n q.fillStyle = A, q.fill(y, F);\n }\n },});\n const D = new Set();\n let w = null, M = [], T = 0, ca = 0;\n var ra = m.CanvasRenderer = g.extend(\"Renderer\", {__construct:function(q) {\n this.__parent.__construct.call(this);\n this.S = [1, 0, 0, 1, 0, 0];\n this.C = q.getContext(\"2d\");\n this.Ua = q;\n this.H = [];\n }, save:function() {\n this.S.push(...this.S.slice(this.S.length - 6));\n this.H.push(this.C.save.bind(this.C));\n }, restore:function() {\n const q = this.S.length - 6;\n if (6 > q) {\n throw \"restore() called without matching save().\";\n }\n this.S.splice(q);\n this.H.push(this.C.restore.bind(this.C));\n }, transform:function(q, y, F, G, A, I) {\n const J = this.S, K = J.length - 6;\n J.splice(K, 6, J[K] * q + J[K + 2] * y, J[K + 1] * q + J[K + 3] * y, J[K] * F + J[K + 2] * G, J[K + 1] * F + J[K + 3] * G, J[K] * A + J[K + 2] * I + J[K + 4], J[K + 1] * A + J[K + 3] * I + J[K + 5]);\n this.H.push(this.C.transform.bind(this.C, q, y, F, G, A, I));\n }, rotate:function(q) {\n const y = Math.sin(q);\n q = Math.cos(q);\n this.transform(q, y, -y, q, 0, 0);\n }, _drawPath:function(q, y) {\n this.H.push(y.draw.bind(y, this.C, q.T, q.Va === x ? \"evenodd\" : \"nonzero\"));\n }, _drawRiveImage:function(q, y, F) {\n var G = q.Fb;\n if (G) {\n var A = this.C, I = a(y);\n this.H.push(function() {\n A.globalCompositeOperation = I;\n A.globalAlpha = F;\n A.drawImage(G, 0, 0);\n A.globalAlpha = 1;\n });\n }\n }, _getMatrix:function(q) {\n const y = this.S, F = y.length - 6;\n for (let G = 0; 6 > G; ++G) {\n q[G] = y[F + G];\n }\n }, _drawImageMesh:function(q, y, F, G, A, I, J, K, X, Q) {\n var da = this.C.canvas.width, R = this.C.canvas.height;\n const Yb = X - J, Zb = Q - K;\n J = Math.max(J, 0);\n K = Math.max(K, 0);\n X = Math.min(X, da);\n Q = Math.min(Q, R);\n const Ga = X - J, Ha = Q - K;\n console.assert(Ga <= Math.min(Yb, da));\n console.assert(Ha <= Math.min(Zb, R));\n if (!(0 >= Ga || 0 >= Ha)) {\n X = Ga < Yb || Ha < Zb;\n da = Q = 1;\n var sa = Math.ceil(Ga * Q), ta = Math.ceil(Ha * da);\n R = ka.hc();\n sa > R && (Q *= R / sa, sa = R);\n ta > R && (da *= R / ta, ta = R);\n w || (w = new m.DynamicRectanizer(R), w.reset(512, 512));\n R = w.addRect(sa, ta);\n 0 > R && (c(), D.add(this), R = w.addRect(sa, ta), console.assert(0 <= R));\n var $b = R & 65535, ac = R >> 16;\n M.push({ha:this.S.slice(this.S.length - 6), image:q, Ya:$b, Za:ac, ic:J, jc:K, Ac:sa, jb:ta, Ba:Q, Ca:da, Ta:new Float32Array(G), Db:new Float32Array(A), indices:new Uint16Array(I), mc:X, wb:q.Ka << 1 | (X ? 1 : 0),});\n T += G.length;\n ca += I.length;\n var za = this.C, qd = a(y);\n this.H.push(function() {\n za.save();\n za.resetTransform();\n za.globalCompositeOperation = qd;\n za.globalAlpha = F;\n const bc = ka.canvas();\n bc && za.drawImage(bc, $b, ac, sa, ta, J, K, Ga, Ha);\n za.restore();\n });\n }\n }, _clipPath:function(q) {\n this.H.push(this.C.clip.bind(this.C, q.T, q.Va === x ? \"evenodd\" : \"nonzero\"));\n }, clear:function() {\n D.add(this);\n this.H.push(this.C.clearRect.bind(this.C, 0, 0, this.Ua.width, this.Ua.height));\n }, flush:function() {\n }, translate:function(q, y) {\n this.transform(1, 0, 0, 1, q, y);\n },});\n m.makeRenderer = function(q) {\n const y = new ra(q), F = y.C;\n return new Proxy(y, {get(G, A) {\n if (\"function\" === typeof G[A]) {\n return function(...I) {\n return G[A].apply(G, I);\n };\n }\n if (\"function\" === typeof F[A]) {\n if (-1 < ja.indexOf(A)) {\n throw Error(\"RiveException: Method call to '\" + A + \"()' is not allowed, as the renderer cannot immediately pass through the return values of any canvas 2d context methods.\");\n }\n return function(...I) {\n y.H.push(F[A].bind(F, ...I));\n };\n }\n return G[A];\n }, set(G, A, I) {\n if (A in F) {\n return y.H.push(() => {\n F[A] = I;\n }), !0;\n }\n },});\n };\n m.decodeImage = function(q, y) {\n (new t({la:y})).decode(q);\n };\n m.renderFactory = {makeRenderPaint:function() {\n return new B();\n }, makeRenderPath:function() {\n return new r();\n }, makeRenderImage:function() {\n let q = ba;\n return new t({xa:() => {\n q.total++;\n }, la:() => {\n q.loaded++;\n if (q.loaded === q.total) {\n const y = q.ready;\n y && (y(), q.ready = null);\n }\n },});\n },};\n let H = m.load, ba = null;\n m.load = function(q, y, F = !0) {\n const G = new m.FallbackFileAssetLoader();\n void 0 !== y && G.addLoader(y);\n F && (y = new m.CDNFileAssetLoader(), G.addLoader(y));\n return new Promise(function(A) {\n let I = null;\n ba = {total:0, loaded:0, ready:function() {\n A(I);\n },};\n I = H(q, G);\n 0 == ba.total && A(I);\n });\n };\n let rd = m.RendererWrapper.prototype.align;\n m.RendererWrapper.prototype.align = function(q, y, F, G, A = 1.0) {\n rd.call(this, q, y, F, G, A);\n };\n d = new fa();\n m.requestAnimationFrame = d.requestAnimationFrame.bind(d);\n m.cancelAnimationFrame = d.cancelAnimationFrame.bind(d);\n m.enableFPSCounter = d.Rb.bind(d);\n m.disableFPSCounter = d.Ob;\n d.ob = c;\n m.resolveAnimationFrame = c;\n m.cleanup = function() {\n w && w.delete();\n };\n};\nvar ma = Object.assign({}, m), na = \"./this.program\", oa = \"object\" == typeof window, pa = \"function\" == typeof importScripts, qa = \"\", ua, va;\nif (oa || pa) {\n pa ? qa = self.location.href : \"undefined\" != typeof document && document.currentScript && (qa = document.currentScript.src), _scriptDir && (qa = _scriptDir), 0 !== qa.indexOf(\"blob:\") ? qa = qa.substr(0, qa.replace(/[?#].*/, \"\").lastIndexOf(\"/\") + 1) : qa = \"\", pa && (va = a => {\n var b = new XMLHttpRequest();\n b.open(\"GET\", a, !1);\n b.responseType = \"arraybuffer\";\n b.send(null);\n return new Uint8Array(b.response);\n }), ua = (a, b, c) => {\n var d = new XMLHttpRequest();\n d.open(\"GET\", a, !0);\n d.responseType = \"arraybuffer\";\n d.onload = () => {\n 200 == d.status || 0 == d.status && d.response ? b(d.response) : c();\n };\n d.onerror = c;\n d.send(null);\n };\n}\nvar wa = m.print || console.log.bind(console), xa = m.printErr || console.error.bind(console);\nObject.assign(m, ma);\nma = null;\nm.thisProgram && (na = m.thisProgram);\nvar ya;\nm.wasmBinary && (ya = m.wasmBinary);\nvar noExitRuntime = m.noExitRuntime || !0;\n\"object\" != typeof WebAssembly && Aa(\"no native wasm support detected\");\nvar Ba, z, Ca = !1, C, E, Da, Ea, L, N, Fa, Ia;\nfunction Ja() {\n var a = Ba.buffer;\n m.HEAP8 = C = new Int8Array(a);\n m.HEAP16 = Da = new Int16Array(a);\n m.HEAP32 = L = new Int32Array(a);\n m.HEAPU8 = E = new Uint8Array(a);\n m.HEAPU16 = Ea = new Uint16Array(a);\n m.HEAPU32 = N = new Uint32Array(a);\n m.HEAPF32 = Fa = new Float32Array(a);\n m.HEAPF64 = Ia = new Float64Array(a);\n}\nvar Ka, La = [], Ma = [], Na = [];\nfunction Oa() {\n var a = m.preRun.shift();\n La.unshift(a);\n}\nvar Pa = 0, Qa = null, Ra = null;\nfunction Aa(a) {\n if (m.onAbort) {\n m.onAbort(a);\n }\n a = \"Aborted(\" + a + \")\";\n xa(a);\n Ca = !0;\n a = new WebAssembly.RuntimeError(a + \". Build with -sASSERTIONS for more info.\");\n ea(a);\n throw a;\n}\nfunction Sa(a) {\n return a.startsWith(\"data:application/octet-stream;base64,\");\n}\nvar Ta;\nTa = \"canvas_advanced.wasm\";\nif (!Sa(Ta)) {\n var Ua = Ta;\n Ta = m.locateFile ? m.locateFile(Ua, qa) : qa + Ua;\n}\nfunction Va(a) {\n if (a == Ta && ya) {\n return new Uint8Array(ya);\n }\n if (va) {\n return va(a);\n }\n throw \"both async and sync fetching of the wasm failed\";\n}\nfunction Wa(a) {\n if (!ya && (oa || pa)) {\n if (\"function\" == typeof fetch && !a.startsWith(\"file://\")) {\n return fetch(a, {credentials:\"same-origin\"}).then(b => {\n if (!b.ok) {\n throw \"failed to load wasm binary file at '\" + a + \"'\";\n }\n return b.arrayBuffer();\n }).catch(() => Va(a));\n }\n if (ua) {\n return new Promise((b, c) => {\n ua(a, d => b(new Uint8Array(d)), c);\n });\n }\n }\n return Promise.resolve().then(() => Va(a));\n}\nfunction Xa(a, b, c) {\n return Wa(a).then(d => WebAssembly.instantiate(d, b)).then(d => d).then(c, d => {\n xa(\"failed to asynchronously prepare wasm: \" + d);\n Aa(d);\n });\n}\nfunction Ya(a, b) {\n var c = Ta;\n return ya || \"function\" != typeof WebAssembly.instantiateStreaming || Sa(c) || c.startsWith(\"file://\") || \"function\" != typeof fetch ? Xa(c, a, b) : fetch(c, {credentials:\"same-origin\"}).then(d => WebAssembly.instantiateStreaming(d, a).then(b, function(e) {\n xa(\"wasm streaming compile failed: \" + e);\n xa(\"falling back to ArrayBuffer instantiation\");\n return Xa(c, a, b);\n }));\n}\nvar Za, $a, db = {447324:(a, b, c, d, e) => {\n if (\"undefined\" === typeof window || void 0 === (window.AudioContext || window.webkitAudioContext)) {\n return 0;\n }\n if (\"undefined\" === typeof window.h) {\n window.h = {Aa:0};\n window.h.I = {};\n window.h.I.ya = a;\n window.h.I.capture = b;\n window.h.I.La = c;\n window.h.ga = {};\n window.h.ga.stopped = d;\n window.h.ga.xb = e;\n let f = window.h;\n f.D = [];\n f.yc = function(g) {\n for (var n = 0; n < f.D.length; ++n) {\n if (null == f.D[n]) {\n return f.D[n] = g, n;\n }\n }\n f.D.push(g);\n return f.D.length - 1;\n };\n f.Cb = function(g) {\n for (f.D[g] = null; 0 < f.D.length;) {\n if (null == f.D[f.D.length - 1]) {\n f.D.pop();\n } else {\n break;\n }\n }\n };\n f.Sc = function(g) {\n for (var n = 0; n < f.D.length; ++n) {\n if (f.D[n] == g) {\n return f.Cb(n);\n }\n }\n };\n f.ra = function(g) {\n return f.D[g];\n };\n f.Bb = [\"touchend\", \"click\"];\n f.unlock = function() {\n for (var g = 0; g < f.D.length; ++g) {\n var n = f.D[g];\n null != n && null != n.J && n.state === f.ga.xb && n.J.resume().then(() => {\n ab(n.pb);\n }, p => {\n console.error(\"Failed to resume audiocontext\", p);\n });\n }\n f.Bb.map(function(p) {\n document.removeEventListener(p, f.unlock, !0);\n });\n };\n f.Bb.map(function(g) {\n document.addEventListener(g, f.unlock, !0);\n });\n }\n window.h.Aa += 1;\n return 1;\n}, 449502:() => {\n \"undefined\" !== typeof window.h && (--window.h.Aa, 0 === window.h.Aa && delete window.h);\n}, 449666:() => void 0 !== navigator.mediaDevices && void 0 !== navigator.mediaDevices.getUserMedia, 449770:() => {\n try {\n var a = new (window.AudioContext || window.webkitAudioContext)(), b = a.sampleRate;\n a.close();\n return b;\n } catch (c) {\n return 0;\n }\n}, 449941:(a, b, c, d, e, f) => {\n if (\"undefined\" === typeof window.h) {\n return -1;\n }\n var g = {}, n = {};\n a == window.h.I.ya && 0 != c && (n.sampleRate = c);\n g.J = new (window.AudioContext || window.webkitAudioContext)(n);\n g.J.suspend();\n g.state = window.h.ga.stopped;\n c = 0;\n a != window.h.I.ya && (c = b);\n g.Z = g.J.createScriptProcessor(d, c, b);\n g.Z.onaudioprocess = function(p) {\n if (null == g.sa || 0 == g.sa.length) {\n g.sa = new Float32Array(Fa.buffer, e, d * b);\n }\n if (a == window.h.I.capture || a == window.h.I.La) {\n for (var l = 0; l < b; l += 1) {\n for (var u = p.inputBuffer.getChannelData(l), v = g.sa, x = 0; x < d; x += 1) {\n v[x * b + l] = u[x];\n }\n }\n bb(f, d, e);\n }\n if (a == window.h.I.ya || a == window.h.I.La) {\n for (cb(f, d, e), l = 0; l < p.outputBuffer.numberOfChannels; ++l) {\n for (u = p.outputBuffer.getChannelData(l), v = g.sa, x = 0; x < d; x += 1) {\n u[x] = v[x * b + l];\n }\n }\n } else {\n for (l = 0; l < p.outputBuffer.numberOfChannels; ++l) {\n p.outputBuffer.getChannelData(l).fill(0.0);\n }\n }\n };\n a != window.h.I.capture && a != window.h.I.La || navigator.mediaDevices.getUserMedia({audio:!0, video:!1}).then(function(p) {\n g.Da = g.J.createMediaStreamSource(p);\n g.Da.connect(g.Z);\n g.Z.connect(g.J.destination);\n }).catch(function(p) {\n console.log(\"Failed to get user media: \" + p);\n });\n a == window.h.I.ya && g.Z.connect(g.J.destination);\n g.pb = f;\n return window.h.yc(g);\n}, 452818:a => window.h.ra(a).J.sampleRate, 452891:a => {\n a = window.h.ra(a);\n void 0 !== a.Z && (a.Z.onaudioprocess = function() {\n }, a.Z.disconnect(), a.Z = void 0);\n void 0 !== a.Da && (a.Da.disconnect(), a.Da = void 0);\n a.J.close();\n a.J = void 0;\n a.pb = void 0;\n}, 453291:a => {\n window.h.Cb(a);\n}, 453341:a => {\n a = window.h.ra(a);\n a.J.resume();\n a.state = window.h.ga.xb;\n}, 453480:a => {\n a = window.h.ra(a);\n a.J.suspend();\n a.state = window.h.ga.stopped;\n}}, eb = a => {\n for (; 0 < a.length;) {\n a.shift()(m);\n }\n}, fb = (a, b) => {\n for (var c = 0, d = a.length - 1; 0 <= d; d--) {\n var e = a[d];\n \".\" === e ? a.splice(d, 1) : \"..\" === e ? (a.splice(d, 1), c++) : c && (a.splice(d, 1), c--);\n }\n if (b) {\n for (; c; c--) {\n a.unshift(\"..\");\n }\n }\n return a;\n}, gb = a => {\n var b = \"/\" === a.charAt(0), c = \"/\" === a.substr(-1);\n (a = fb(a.split(\"/\").filter(d => !!d), !b).join(\"/\")) || b || (a = \".\");\n a && c && (a += \"/\");\n return (b ? \"/\" : \"\") + a;\n}, hb = a => {\n var b = /^(\\/?|)([\\s\\S]*?)((?:\\.{1,2}|[^\\/]+?|)(\\.[^.\\/]*|))(?:[\\/]*)$/.exec(a).slice(1);\n a = b[0];\n b = b[1];\n if (!a && !b) {\n return \".\";\n }\n b && (b = b.substr(0, b.length - 1));\n return a + b;\n}, ib = a => {\n if (\"/\" === a) {\n return \"/\";\n }\n a = gb(a);\n a = a.replace(/\\/$/, \"\");\n var b = a.lastIndexOf(\"/\");\n return -1 === b ? a : a.substr(b + 1);\n}, jb = () => {\n if (\"object\" == typeof crypto && \"function\" == typeof crypto.getRandomValues) {\n return a => crypto.getRandomValues(a);\n }\n Aa(\"initRandomDevice\");\n}, kb = a => (kb = jb())(a);\nfunction lb() {\n for (var a = \"\", b = !1, c = arguments.length - 1; -1 <= c && !b; c--) {\n b = 0 <= c ? arguments[c] : \"/\";\n if (\"string\" != typeof b) {\n throw new TypeError(\"Arguments to path.resolve must be strings\");\n }\n if (!b) {\n return \"\";\n }\n a = b + \"/\" + a;\n b = \"/\" === b.charAt(0);\n }\n a = fb(a.split(\"/\").filter(d => !!d), !b).join(\"/\");\n return (b ? \"/\" : \"\") + a || \".\";\n}\nvar mb = \"undefined\" != typeof TextDecoder ? new TextDecoder(\"utf8\") : void 0, nb = (a, b, c) => {\n var d = b + c;\n for (c = b; a[c] && !(c >= d);) {\n ++c;\n }\n if (16 < c - b && a.buffer && mb) {\n return mb.decode(a.subarray(b, c));\n }\n for (d = \"\"; b < c;) {\n var e = a[b++];\n if (e & 128) {\n var f = a[b++] & 63;\n if (192 == (e & 224)) {\n d += String.fromCharCode((e & 31) << 6 | f);\n } else {\n var g = a[b++] & 63;\n e = 224 == (e & 240) ? (e & 15) << 12 | f << 6 | g : (e & 7) << 18 | f << 12 | g << 6 | a[b++] & 63;\n 65536 > e ? d += String.fromCharCode(e) : (e -= 65536, d += String.fromCharCode(55296 | e >> 10, 56320 | e & 1023));\n }\n } else {\n d += String.fromCharCode(e);\n }\n }\n return d;\n}, ob = [], pb = a => {\n for (var b = 0, c = 0; c < a.length; ++c) {\n var d = a.charCodeAt(c);\n 127 >= d ? b++ : 2047 >= d ? b += 2 : 55296 <= d && 57343 >= d ? (b += 4, ++c) : b += 3;\n }\n return b;\n}, qb = (a, b, c, d) => {\n if (!(0 < d)) {\n return 0;\n }\n var e = c;\n d = c + d - 1;\n for (var f = 0; f < a.length; ++f) {\n var g = a.charCodeAt(f);\n if (55296 <= g && 57343 >= g) {\n var n = a.charCodeAt(++f);\n g = 65536 + ((g & 1023) << 10) | n & 1023;\n }\n if (127 >= g) {\n if (c >= d) {\n break;\n }\n b[c++] = g;\n } else {\n if (2047 >= g) {\n if (c + 1 >= d) {\n break;\n }\n b[c++] = 192 | g >> 6;\n } else {\n if (65535 >= g) {\n if (c + 2 >= d) {\n break;\n }\n b[c++] = 224 | g >> 12;\n } else {\n if (c + 3 >= d) {\n break;\n }\n b[c++] = 240 | g >> 18;\n b[c++] = 128 | g >> 12 & 63;\n }\n b[c++] = 128 | g >> 6 & 63;\n }\n b[c++] = 128 | g & 63;\n }\n }\n b[c] = 0;\n return c - e;\n};\nfunction rb(a, b) {\n var c = Array(pb(a) + 1);\n a = qb(a, c, 0, c.length);\n b && (c.length = a);\n return c;\n}\nvar sb = [];\nfunction tb(a, b) {\n sb[a] = {input:[], F:[], V:b};\n ub(a, vb);\n}\nvar vb = {open:function(a) {\n var b = sb[a.node.za];\n if (!b) {\n throw new O(43);\n }\n a.s = b;\n a.seekable = !1;\n}, close:function(a) {\n a.s.V.qa(a.s);\n}, qa:function(a) {\n a.s.V.qa(a.s);\n}, read:function(a, b, c, d) {\n if (!a.s || !a.s.V.ib) {\n throw new O(60);\n }\n for (var e = 0, f = 0; f < d; f++) {\n try {\n var g = a.s.V.ib(a.s);\n } catch (n) {\n throw new O(29);\n }\n if (void 0 === g && 0 === e) {\n throw new O(6);\n }\n if (null === g || void 0 === g) {\n break;\n }\n e++;\n b[c + f] = g;\n }\n e && (a.node.timestamp = Date.now());\n return e;\n}, write:function(a, b, c, d) {\n if (!a.s || !a.s.V.Oa) {\n throw new O(60);\n }\n try {\n for (var e = 0; e < d; e++) {\n a.s.V.Oa(a.s, b[c + e]);\n }\n } catch (f) {\n throw new O(29);\n }\n d && (a.node.timestamp = Date.now());\n return e;\n},}, wb = {ib:function() {\n a: {\n if (!ob.length) {\n var a = null;\n \"undefined\" != typeof window && \"function\" == typeof window.prompt ? (a = window.prompt(\"Input: \"), null !== a && (a += \"\\n\")) : \"function\" == typeof readline && (a = readline(), null !== a && (a += \"\\n\"));\n if (!a) {\n a = null;\n break a;\n }\n ob = rb(a, !0);\n }\n a = ob.shift();\n }\n return a;\n}, Oa:function(a, b) {\n null === b || 10 === b ? (wa(nb(a.F, 0)), a.F = []) : 0 != b && a.F.push(b);\n}, qa:function(a) {\n a.F && 0 < a.F.length && (wa(nb(a.F, 0)), a.F = []);\n}, bc:function() {\n return {Fc:25856, Hc:5, Ec:191, Gc:35387, Dc:[3, 28, 127, 21, 4, 0, 1, 0, 17, 19, 26, 0, 18, 15, 23, 22, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,]};\n}, cc:function() {\n return 0;\n}, dc:function() {\n return [24, 80];\n},}, xb = {Oa:function(a, b) {\n null === b || 10 === b ? (xa(nb(a.F, 0)), a.F = []) : 0 != b && a.F.push(b);\n}, qa:function(a) {\n a.F && 0 < a.F.length && (xa(nb(a.F, 0)), a.F = []);\n},};\nfunction yb(a, b) {\n var c = a.j ? a.j.length : 0;\n c >= b || (b = Math.max(b, c * (1048576 > c ? 2.0 : 1.125) >>> 0), 0 != c && (b = Math.max(b, 256)), c = a.j, a.j = new Uint8Array(b), 0 < a.v && a.j.set(c.subarray(0, a.v), 0));\n}\nvar P = {O:null, U() {\n return P.createNode(null, \"/\", 16895, 0);\n}, createNode(a, b, c, d) {\n if (24576 === (c & 61440) || 4096 === (c & 61440)) {\n throw new O(63);\n }\n P.O || (P.O = {dir:{node:{Y:P.l.Y, P:P.l.P, ka:P.l.ka, va:P.l.va, ub:P.l.ub, Ab:P.l.Ab, vb:P.l.vb, sb:P.l.sb, Ea:P.l.Ea}, stream:{ba:P.m.ba}}, file:{node:{Y:P.l.Y, P:P.l.P}, stream:{ba:P.m.ba, read:P.m.read, write:P.m.write, pa:P.m.pa, lb:P.m.lb, nb:P.m.nb}}, link:{node:{Y:P.l.Y, P:P.l.P, ma:P.l.ma}, stream:{}}, $a:{node:{Y:P.l.Y, P:P.l.P}, stream:zb}});\n c = Ab(a, b, c, d);\n 16384 === (c.mode & 61440) ? (c.l = P.O.dir.node, c.m = P.O.dir.stream, c.j = {}) : 32768 === (c.mode & 61440) ? (c.l = P.O.file.node, c.m = P.O.file.stream, c.v = 0, c.j = null) : 40960 === (c.mode & 61440) ? (c.l = P.O.link.node, c.m = P.O.link.stream) : 8192 === (c.mode & 61440) && (c.l = P.O.$a.node, c.m = P.O.$a.stream);\n c.timestamp = Date.now();\n a && (a.j[b] = c, a.timestamp = c.timestamp);\n return c;\n}, Kc(a) {\n return a.j ? a.j.subarray ? a.j.subarray(0, a.v) : new Uint8Array(a.j) : new Uint8Array(0);\n}, l:{Y(a) {\n var b = {};\n b.Jc = 8192 === (a.mode & 61440) ? a.id : 1;\n b.Mc = a.id;\n b.mode = a.mode;\n b.Oc = 1;\n b.uid = 0;\n b.Lc = 0;\n b.za = a.za;\n 16384 === (a.mode & 61440) ? b.size = 4096 : 32768 === (a.mode & 61440) ? b.size = a.v : 40960 === (a.mode & 61440) ? b.size = a.link.length : b.size = 0;\n b.Bc = new Date(a.timestamp);\n b.Nc = new Date(a.timestamp);\n b.Ic = new Date(a.timestamp);\n b.Jb = 4096;\n b.Cc = Math.ceil(b.size / b.Jb);\n return b;\n}, P(a, b) {\n void 0 !== b.mode && (a.mode = b.mode);\n void 0 !== b.timestamp && (a.timestamp = b.timestamp);\n if (void 0 !== b.size && (b = b.size, a.v != b)) {\n if (0 == b) {\n a.j = null, a.v = 0;\n } else {\n var c = a.j;\n a.j = new Uint8Array(b);\n c && a.j.set(c.subarray(0, Math.min(b, a.v)));\n a.v = b;\n }\n }\n}, ka() {\n throw Bb[44];\n}, va(a, b, c, d) {\n return P.createNode(a, b, c, d);\n}, ub(a, b, c) {\n if (16384 === (a.mode & 61440)) {\n try {\n var d = Cb(b, c);\n } catch (f) {\n }\n if (d) {\n for (var e in d.j) {\n throw new O(55);\n }\n }\n }\n delete a.parent.j[a.name];\n a.parent.timestamp = Date.now();\n a.name = c;\n b.j[c] = a;\n b.timestamp = a.parent.timestamp;\n a.parent = b;\n}, Ab(a, b) {\n delete a.j[b];\n a.timestamp = Date.now();\n}, vb(a, b) {\n var c = Cb(a, b), d;\n for (d in c.j) {\n throw new O(55);\n }\n delete a.j[b];\n a.timestamp = Date.now();\n}, sb(a) {\n var b = [\".\", \"..\"], c;\n for (c in a.j) {\n a.j.hasOwnProperty(c) && b.push(c);\n }\n return b;\n}, Ea(a, b, c) {\n a = P.createNode(a, b, 41471, 0);\n a.link = c;\n return a;\n}, ma(a) {\n if (40960 !== (a.mode & 61440)) {\n throw new O(28);\n }\n return a.link;\n},}, m:{read(a, b, c, d, e) {\n var f = a.node.j;\n if (e >= a.node.v) {\n return 0;\n }\n a = Math.min(a.node.v - e, d);\n if (8 < a && f.subarray) {\n b.set(f.subarray(e, e + a), c);\n } else {\n for (d = 0; d < a; d++) {\n b[c + d] = f[e + d];\n }\n }\n return a;\n}, write(a, b, c, d, e, f) {\n b.buffer === C.buffer && (f = !1);\n if (!d) {\n return 0;\n }\n a = a.node;\n a.timestamp = Date.now();\n if (b.subarray && (!a.j || a.j.subarray)) {\n if (f) {\n return a.j = b.subarray(c, c + d), a.v = d;\n }\n if (0 === a.v && 0 === e) {\n return a.j = b.slice(c, c + d), a.v = d;\n }\n if (e + d <= a.v) {\n return a.j.set(b.subarray(c, c + d), e), d;\n }\n }\n yb(a, e + d);\n if (a.j.subarray && b.subarray) {\n a.j.set(b.subarray(c, c + d), e);\n } else {\n for (f = 0; f < d; f++) {\n a.j[e + f] = b[c + f];\n }\n }\n a.v = Math.max(a.v, e + d);\n return d;\n}, ba(a, b, c) {\n 1 === c ? b += a.position : 2 === c && 32768 === (a.node.mode & 61440) && (b += a.node.v);\n if (0 > b) {\n throw new O(28);\n }\n return b;\n}, pa(a, b, c) {\n yb(a.node, b + c);\n a.node.v = Math.max(a.node.v, b + c);\n}, lb(a, b, c, d, e) {\n if (32768 !== (a.node.mode & 61440)) {\n throw new O(43);\n }\n a = a.node.j;\n if (e & 2 || a.buffer !== C.buffer) {\n if (0 < c || c + b < a.length) {\n a.subarray ? a = a.subarray(c, c + b) : a = Array.prototype.slice.call(a, c, c + b);\n }\n c = !0;\n Aa();\n b = void 0;\n if (!b) {\n throw new O(48);\n }\n C.set(a, b);\n } else {\n c = !1, b = a.byteOffset;\n }\n return {o:b, M:c};\n}, nb(a, b, c, d) {\n P.m.write(a, b, 0, d, c, !1);\n return 0;\n},},};\nfunction Db(a, b) {\n var c = 0;\n a && (c |= 365);\n b && (c |= 146);\n return c;\n}\nvar Eb = null, Fb = {}, Gb = [], Hb = 1, Ib = null, Jb = !0, O = null, Bb = {}, Lb = (a, b = {}) => {\n a = lb(a);\n if (!a) {\n return {path:\"\", node:null};\n }\n b = Object.assign({gb:!0, Qa:0}, b);\n if (8 < b.Qa) {\n throw new O(32);\n }\n a = a.split(\"/\").filter(g => !!g);\n for (var c = Eb, d = \"/\", e = 0; e < a.length; e++) {\n var f = e === a.length - 1;\n if (f && b.parent) {\n break;\n }\n c = Cb(c, a[e]);\n d = gb(d + \"/\" + a[e]);\n c.wa && (!f || f && b.gb) && (c = c.wa.root);\n if (!f || b.fb) {\n for (f = 0; 40960 === (c.mode & 61440);) {\n if (c = Kb(d), d = lb(hb(d), c), c = Lb(d, {Qa:b.Qa + 1}).node, 40 < f++) {\n throw new O(32);\n }\n }\n }\n }\n return {path:d, node:c};\n}, Mb = a => {\n for (var b;;) {\n if (a === a.parent) {\n return a = a.U.mb, b ? \"/\" !== a[a.length - 1] ? `${a}/${b}` : a + b : a;\n }\n b = b ? `${a.name}/${b}` : a.name;\n a = a.parent;\n }\n}, Nb = (a, b) => {\n for (var c = 0, d = 0; d < b.length; d++) {\n c = (c << 5) - c + b.charCodeAt(d) | 0;\n }\n return (a + c >>> 0) % Ib.length;\n}, Cb = (a, b) => {\n var c;\n if (c = (c = Ob(a, \"x\")) ? c : a.l.ka ? 0 : 2) {\n throw new O(c, a);\n }\n for (c = Ib[Nb(a.id, b)]; c; c = c.lc) {\n var d = c.name;\n if (c.parent.id === a.id && d === b) {\n return c;\n }\n }\n return a.l.ka(a, b);\n}, Ab = (a, b, c, d) => {\n a = new Pb(a, b, c, d);\n b = Nb(a.parent.id, a.name);\n a.lc = Ib[b];\n return Ib[b] = a;\n}, Qb = a => {\n var b = [\"r\", \"w\", \"rw\"][a & 3];\n a & 512 && (b += \"w\");\n return b;\n}, Ob = (a, b) => {\n if (Jb) {\n return 0;\n }\n if (!b.includes(\"r\") || a.mode & 292) {\n if (b.includes(\"w\") && !(a.mode & 146) || b.includes(\"x\") && !(a.mode & 73)) {\n return 2;\n }\n } else {\n return 2;\n }\n return 0;\n}, Rb = (a, b) => {\n try {\n return Cb(a, b), 20;\n } catch (c) {\n }\n return Ob(a, \"wx\");\n}, Sb = () => {\n for (var a = 0; 4096 >= a; a++) {\n if (!Gb[a]) {\n return a;\n }\n }\n throw new O(33);\n}, Tb = a => {\n a = Gb[a];\n if (!a) {\n throw new O(8);\n }\n return a;\n}, Vb = (a, b = -1) => {\n Ub || (Ub = function() {\n this.h = {};\n }, Ub.prototype = {}, Object.defineProperties(Ub.prototype, {object:{get() {\n return this.node;\n }, set(c) {\n this.node = c;\n }}, flags:{get() {\n return this.h.flags;\n }, set(c) {\n this.h.flags = c;\n },}, position:{get() {\n return this.h.position;\n }, set(c) {\n this.h.position = c;\n },},}));\n a = Object.assign(new Ub(), a);\n -1 == b && (b = Sb());\n a.X = b;\n return Gb[b] = a;\n}, zb = {open:a => {\n a.m = Fb[a.node.za].m;\n a.m.open && a.m.open(a);\n}, ba:() => {\n throw new O(70);\n},}, ub = (a, b) => {\n Fb[a] = {m:b};\n}, Wb = (a, b) => {\n var c = \"/\" === b, d = !b;\n if (c && Eb) {\n throw new O(10);\n }\n if (!c && !d) {\n var e = Lb(b, {gb:!1});\n b = e.path;\n e = e.node;\n if (e.wa) {\n throw new O(10);\n }\n if (16384 !== (e.mode & 61440)) {\n throw new O(54);\n }\n }\n b = {type:a, Qc:{}, mb:b, kc:[]};\n a = a.U(b);\n a.U = b;\n b.root = a;\n c ? Eb = a : e && (e.wa = b, e.U && e.U.kc.push(b));\n}, S = (a, b, c) => {\n var d = Lb(a, {parent:!0}).node;\n a = ib(a);\n if (!a || \".\" === a || \"..\" === a) {\n throw new O(28);\n }\n var e = Rb(d, a);\n if (e) {\n throw new O(e);\n }\n if (!d.l.va) {\n throw new O(63);\n }\n return d.l.va(d, a, b, c);\n}, Xb = (a, b, c) => {\n \"undefined\" == typeof c && (c = b, b = 438);\n S(a, b | 8192, c);\n}, cc = (a, b) => {\n if (!lb(a)) {\n throw new O(44);\n }\n var c = Lb(b, {parent:!0}).node;\n if (!c) {\n throw new O(44);\n }\n b = ib(b);\n var d = Rb(c, b);\n if (d) {\n throw new O(d);\n }\n if (!c.l.Ea) {\n throw new O(63);\n }\n c.l.Ea(c, b, a);\n}, Kb = a => {\n a = Lb(a).node;\n if (!a) {\n throw new O(44);\n }\n if (!a.l.ma) {\n throw new O(28);\n }\n return lb(Mb(a.parent), a.l.ma(a));\n}, ec = (a, b, c) => {\n if (\"\" === a) {\n throw new O(44);\n }\n if (\"string\" == typeof b) {\n var d = {r:0, \"r+\":2, w:577, \"w+\":578, a:1089, \"a+\":1090,}[b];\n if (\"undefined\" == typeof d) {\n throw Error(`Unknown file open mode: ${b}`);\n }\n b = d;\n }\n c = b & 64 ? (\"undefined\" == typeof c ? 438 : c) & 4095 | 32768 : 0;\n if (\"object\" == typeof a) {\n var e = a;\n } else {\n a = gb(a);\n try {\n e = Lb(a, {fb:!(b & 131072)}).node;\n } catch (f) {\n }\n }\n d = !1;\n if (b & 64) {\n if (e) {\n if (b & 128) {\n throw new O(20);\n }\n } else {\n e = S(a, c, 0), d = !0;\n }\n }\n if (!e) {\n throw new O(44);\n }\n 8192 === (e.mode & 61440) && (b &= -513);\n if (b & 65536 && 16384 !== (e.mode & 61440)) {\n throw new O(54);\n }\n if (!d && (c = e ? 40960 === (e.mode & 61440) ? 32 : 16384 === (e.mode & 61440) && (\"r\" !== Qb(b) || b & 512) ? 31 : Ob(e, Qb(b)) : 44)) {\n throw new O(c);\n }\n if (b & 512 && !d) {\n c = e;\n c = \"string\" == typeof c ? Lb(c, {fb:!0}).node : c;\n if (!c.l.P) {\n throw new O(63);\n }\n if (16384 === (c.mode & 61440)) {\n throw new O(31);\n }\n if (32768 !== (c.mode & 61440)) {\n throw new O(28);\n }\n if (d = Ob(c, \"w\")) {\n throw new O(d);\n }\n c.l.P(c, {size:0, timestamp:Date.now()});\n }\n b &= -131713;\n e = Vb({node:e, path:Mb(e), flags:b, seekable:!0, position:0, m:e.m, zc:[], error:!1});\n e.m.open && e.m.open(e);\n !m.logReadFiles || b & 1 || (dc || (dc = {}), a in dc || (dc[a] = 1));\n return e;\n}, fc = (a, b, c) => {\n if (null === a.X) {\n throw new O(8);\n }\n if (!a.seekable || !a.m.ba) {\n throw new O(70);\n }\n if (0 != c && 1 != c && 2 != c) {\n throw new O(28);\n }\n a.position = a.m.ba(a, b, c);\n a.zc = [];\n}, gc = () => {\n O || (O = function(a, b) {\n this.name = \"ErrnoError\";\n this.node = b;\n this.pc = function(c) {\n this.aa = c;\n };\n this.pc(a);\n this.message = \"FS error\";\n }, O.prototype = Error(), O.prototype.constructor = O, [44].forEach(a => {\n Bb[a] = new O(a);\n Bb[a].stack = \"\";\n }));\n}, hc, jc = (a, b, c) => {\n a = gb(\"/dev/\" + a);\n var d = Db(!!b, !!c);\n ic || (ic = 64);\n var e = ic++ << 8 | 0;\n ub(e, {open:f => {\n f.seekable = !1;\n }, close:() => {\n c && c.buffer && c.buffer.length && c(10);\n }, read:(f, g, n, p) => {\n for (var l = 0, u = 0; u < p; u++) {\n try {\n var v = b();\n } catch (x) {\n throw new O(29);\n }\n if (void 0 === v && 0 === l) {\n throw new O(6);\n }\n if (null === v || void 0 === v) {\n break;\n }\n l++;\n g[n + u] = v;\n }\n l && (f.node.timestamp = Date.now());\n return l;\n }, write:(f, g, n, p) => {\n for (var l = 0; l < p; l++) {\n try {\n c(g[n + l]);\n } catch (u) {\n throw new O(29);\n }\n }\n p && (f.node.timestamp = Date.now());\n return l;\n }});\n Xb(a, d, e);\n}, ic, kc = {}, Ub, dc, lc = void 0;\nfunction mc() {\n lc += 4;\n return L[lc - 4 >> 2];\n}\nfunction nc(a) {\n if (void 0 === a) {\n return \"_unknown\";\n }\n a = a.replace(/[^a-zA-Z0-9_]/g, \"$\");\n var b = a.charCodeAt(0);\n return 48 <= b && 57 >= b ? `_${a}` : a;\n}\nfunction oc(a, b) {\n a = nc(a);\n return {[a]:function() {\n return b.apply(this, arguments);\n }}[a];\n}\nfunction pc() {\n this.M = [void 0];\n this.hb = [];\n}\nvar U = new pc(), qc = void 0;\nfunction V(a) {\n throw new qc(a);\n}\nvar rc = a => {\n a || V(\"Cannot use deleted val. handle = \" + a);\n return U.get(a).value;\n}, sc = a => {\n switch(a) {\n case void 0:\n return 1;\n case null:\n return 2;\n case !0:\n return 3;\n case !1:\n return 4;\n default:\n return U.pa({tb:1, value:a});\n }\n};\nfunction tc(a) {\n var b = Error, c = oc(a, function(d) {\n this.name = a;\n this.message = d;\n d = Error(d).stack;\n void 0 !== d && (this.stack = this.toString() + \"\\n\" + d.replace(/^Error(:[^\\n]*)?\\n/, \"\"));\n });\n c.prototype = Object.create(b.prototype);\n c.prototype.constructor = c;\n c.prototype.toString = function() {\n return void 0 === this.message ? this.name : `${this.name}: ${this.message}`;\n };\n return c;\n}\nvar uc = void 0, vc = void 0;\nfunction W(a) {\n for (var b = \"\"; E[a];) {\n b += vc[E[a++]];\n }\n return b;\n}\nvar wc = [];\nfunction xc() {\n for (; wc.length;) {\n var a = wc.pop();\n a.g.fa = !1;\n a[\"delete\"]();\n }\n}\nvar yc = void 0, zc = {};\nfunction Ac(a, b) {\n for (void 0 === b && V(\"ptr should not be undefined\"); a.A;) {\n b = a.na(b), a = a.A;\n }\n return b;\n}\nvar Bc = {};\nfunction Cc(a) {\n a = Dc(a);\n var b = W(a);\n Ec(a);\n return b;\n}\nfunction Fc(a, b) {\n var c = Bc[a];\n void 0 === c && V(b + \" has unknown type \" + Cc(a));\n return c;\n}\nfunction Gc() {\n}\nvar Hc = !1;\nfunction Ic(a) {\n --a.count.value;\n 0 === a.count.value && (a.G ? a.L.W(a.G) : a.u.i.W(a.o));\n}\nfunction Jc(a, b, c) {\n if (b === c) {\n return a;\n }\n if (void 0 === c.A) {\n return null;\n }\n a = Jc(a, b, c.A);\n return null === a ? null : c.Pb(a);\n}\nvar Kc = {};\nfunction Lc(a, b) {\n b = Ac(a, b);\n return zc[b];\n}\nvar Mc = void 0;\nfunction Nc(a) {\n throw new Mc(a);\n}\nfunction Oc(a, b) {\n b.u && b.o || Nc(\"makeClassHandle requires ptr and ptrType\");\n !!b.L !== !!b.G && Nc(\"Both smartPtrType and smartPtr must be specified\");\n b.count = {value:1};\n return Pc(Object.create(a, {g:{value:b,},}));\n}\nfunction Pc(a) {\n if (\"undefined\" === typeof FinalizationRegistry) {\n return Pc = b => b, a;\n }\n Hc = new FinalizationRegistry(b => {\n Ic(b.g);\n });\n Pc = b => {\n var c = b.g;\n c.G && Hc.register(b, {g:c}, b);\n return b;\n };\n Gc = b => {\n Hc.unregister(b);\n };\n return Pc(a);\n}\nvar Qc = {};\nfunction Rc(a) {\n for (; a.length;) {\n var b = a.pop();\n a.pop()(b);\n }\n}\nfunction Sc(a) {\n return this.fromWireType(L[a >> 2]);\n}\nvar Tc = {}, Uc = {};\nfunction Y(a, b, c) {\n function d(n) {\n n = c(n);\n n.length !== a.length && Nc(\"Mismatched type converter count\");\n for (var p = 0; p < a.length; ++p) {\n Vc(a[p], n[p]);\n }\n }\n a.forEach(function(n) {\n Uc[n] = b;\n });\n var e = Array(b.length), f = [], g = 0;\n b.forEach((n, p) => {\n Bc.hasOwnProperty(n) ? e[p] = Bc[n] : (f.push(n), Tc.hasOwnProperty(n) || (Tc[n] = []), Tc[n].push(() => {\n e[p] = Bc[n];\n ++g;\n g === f.length && d(e);\n }));\n });\n 0 === f.length && d(e);\n}\nfunction Wc(a) {\n switch(a) {\n case 1:\n return 0;\n case 2:\n return 1;\n case 4:\n return 2;\n case 8:\n return 3;\n default:\n throw new TypeError(`Unknown type size: ${a}`);\n }\n}\nfunction Xc(a, b, c = {}) {\n var d = b.name;\n a || V(`type \"${d}\" must have a positive integer typeid pointer`);\n if (Bc.hasOwnProperty(a)) {\n if (c.$b) {\n return;\n }\n V(`Cannot register type '${d}' twice`);\n }\n Bc[a] = b;\n delete Uc[a];\n Tc.hasOwnProperty(a) && (b = Tc[a], delete Tc[a], b.forEach(e => e()));\n}\nfunction Vc(a, b, c = {}) {\n if (!(\"argPackAdvance\" in b)) {\n throw new TypeError(\"registerType registeredInstance requires argPackAdvance\");\n }\n Xc(a, b, c);\n}\nfunction Yc(a) {\n V(a.g.u.i.name + \" instance already deleted\");\n}\nfunction Zc() {\n}\nfunction $c(a, b, c) {\n if (void 0 === a[b].B) {\n var d = a[b];\n a[b] = function() {\n a[b].B.hasOwnProperty(arguments.length) || V(`Function '${c}' called with an invalid number of arguments (${arguments.length}) - expects one of (${a[b].B})!`);\n return a[b].B[arguments.length].apply(this, arguments);\n };\n a[b].B = [];\n a[b].B[d.ea] = d;\n }\n}\nfunction ad(a, b, c) {\n m.hasOwnProperty(a) ? ((void 0 === c || void 0 !== m[a].B && void 0 !== m[a].B[c]) && V(`Cannot register public name '${a}' twice`), $c(m, a, a), m.hasOwnProperty(c) && V(`Cannot register multiple overloads of a function with the same number of arguments (${c})!`), m[a].B[c] = b) : (m[a] = b, void 0 !== c && (m[a].Pc = c));\n}\nfunction bd(a, b, c, d, e, f, g, n) {\n this.name = a;\n this.constructor = b;\n this.N = c;\n this.W = d;\n this.A = e;\n this.Ub = f;\n this.na = g;\n this.Pb = n;\n this.qb = [];\n}\nfunction cd(a, b, c) {\n for (; b !== c;) {\n b.na || V(`Expected null or instance of ${c.name}, got an instance of ${b.name}`), a = b.na(a), b = b.A;\n }\n return a;\n}\nfunction dd(a, b) {\n if (null === b) {\n return this.Na && V(`null is not a valid ${this.name}`), 0;\n }\n b.g || V(`Cannot pass \"${ed(b)}\" as a ${this.name}`);\n b.g.o || V(`Cannot pass deleted object as a pointer of type ${this.name}`);\n return cd(b.g.o, b.g.u.i, this.i);\n}\nfunction fd(a, b) {\n if (null === b) {\n this.Na && V(`null is not a valid ${this.name}`);\n if (this.ua) {\n var c = this.Pa();\n null !== a && a.push(this.W, c);\n return c;\n }\n return 0;\n }\n b.g || V(`Cannot pass \"${ed(b)}\" as a ${this.name}`);\n b.g.o || V(`Cannot pass deleted object as a pointer of type ${this.name}`);\n !this.ta && b.g.u.ta && V(`Cannot convert argument of type ${b.g.L ? b.g.L.name : b.g.u.name} to parameter type ${this.name}`);\n c = cd(b.g.o, b.g.u.i, this.i);\n if (this.ua) {\n switch(void 0 === b.g.G && V(\"Passing raw pointer to smart pointer is illegal\"), this.tc) {\n case 0:\n b.g.L === this ? c = b.g.G : V(`Cannot convert argument of type ${b.g.L ? b.g.L.name : b.g.u.name} to parameter type ${this.name}`);\n break;\n case 1:\n c = b.g.G;\n break;\n case 2:\n if (b.g.L === this) {\n c = b.g.G;\n } else {\n var d = b.clone();\n c = this.oc(c, sc(function() {\n d[\"delete\"]();\n }));\n null !== a && a.push(this.W, c);\n }\n break;\n default:\n V(\"Unsupporting sharing policy\");\n }\n }\n return c;\n}\nfunction gd(a, b) {\n if (null === b) {\n return this.Na && V(`null is not a valid ${this.name}`), 0;\n }\n b.g || V(`Cannot pass \"${ed(b)}\" as a ${this.name}`);\n b.g.o || V(`Cannot pass deleted object as a pointer of type ${this.name}`);\n b.g.u.ta && V(`Cannot convert argument of type ${b.g.u.name} to parameter type ${this.name}`);\n return cd(b.g.o, b.g.u.i, this.i);\n}\nfunction hd(a, b, c, d) {\n this.name = a;\n this.i = b;\n this.Na = c;\n this.ta = d;\n this.ua = !1;\n this.W = this.oc = this.Pa = this.rb = this.tc = this.nc = void 0;\n void 0 !== b.A ? this.toWireType = fd : (this.toWireType = d ? dd : gd, this.K = null);\n}\nfunction jd(a, b, c) {\n m.hasOwnProperty(a) || Nc(\"Replacing nonexistant public symbol\");\n void 0 !== m[a].B && void 0 !== c ? m[a].B[c] = b : (m[a] = b, m[a].ea = c);\n}\nvar kd = [], ld = a => {\n var b = kd[a];\n b || (a >= kd.length && (kd.length = a + 1), kd[a] = b = Ka.get(a));\n return b;\n}, md = (a, b) => {\n var c = [];\n return function() {\n c.length = 0;\n Object.assign(c, arguments);\n if (a.includes(\"j\")) {\n var d = m[\"dynCall_\" + a];\n d = c && c.length ? d.apply(null, [b].concat(c)) : d.call(null, b);\n } else {\n d = ld(b).apply(null, c);\n }\n return d;\n };\n};\nfunction Z(a, b) {\n a = W(a);\n var c = a.includes(\"j\") ? md(a, b) : ld(b);\n \"function\" != typeof c && V(`unknown function pointer with signature ${a}: ${b}`);\n return c;\n}\nvar nd = void 0;\nfunction od(a, b) {\n function c(f) {\n e[f] || Bc[f] || (Uc[f] ? Uc[f].forEach(c) : (d.push(f), e[f] = !0));\n }\n var d = [], e = {};\n b.forEach(c);\n throw new nd(`${a}: ` + d.map(Cc).join([\", \"]));\n}\nfunction pd(a, b, c, d, e) {\n var f = b.length;\n 2 > f && V(\"argTypes array size mismatch! Must at least get return value and 'this' types!\");\n var g = null !== b[1] && null !== c, n = !1;\n for (c = 1; c < b.length; ++c) {\n if (null !== b[c] && void 0 === b[c].K) {\n n = !0;\n break;\n }\n }\n var p = \"void\" !== b[0].name, l = f - 2, u = Array(l), v = [], x = [];\n return function() {\n arguments.length !== l && V(`function ${a} called with ${arguments.length} arguments, expected ${l} args!`);\n x.length = 0;\n v.length = g ? 2 : 1;\n v[0] = e;\n if (g) {\n var k = b[1].toWireType(x, this);\n v[1] = k;\n }\n for (var t = 0; t < l; ++t) {\n u[t] = b[t + 2].toWireType(x, arguments[t]), v.push(u[t]);\n }\n t = d.apply(null, v);\n if (n) {\n Rc(x);\n } else {\n for (var r = g ? 1 : 2; r < b.length; r++) {\n var B = 1 === r ? k : u[r - 2];\n null !== b[r].K && b[r].K(B);\n }\n }\n k = p ? b[0].fromWireType(t) : void 0;\n return k;\n };\n}\nfunction sd(a, b) {\n for (var c = [], d = 0; d < a; d++) {\n c.push(N[b + 4 * d >> 2]);\n }\n return c;\n}\nfunction td(a, b, c) {\n a instanceof Object || V(`${c} with invalid \"this\": ${a}`);\n a instanceof b.i.constructor || V(`${c} incompatible with \"this\" of type ${a.constructor.name}`);\n a.g.o || V(`cannot call emscripten binding method ${c} on deleted object`);\n return cd(a.g.o, a.g.u.i, b.i);\n}\nfunction ud(a) {\n a >= U.h && 0 === --U.get(a).tb && U.Zb(a);\n}\nfunction vd(a, b, c) {\n switch(b) {\n case 0:\n return function(d) {\n return this.fromWireType((c ? C : E)[d]);\n };\n case 1:\n return function(d) {\n return this.fromWireType((c ? Da : Ea)[d >> 1]);\n };\n case 2:\n return function(d) {\n return this.fromWireType((c ? L : N)[d >> 2]);\n };\n default:\n throw new TypeError(\"Unknown integer type: \" + a);\n }\n}\nfunction ed(a) {\n if (null === a) {\n return \"null\";\n }\n var b = typeof a;\n return \"object\" === b || \"array\" === b || \"function\" === b ? a.toString() : \"\" + a;\n}\nfunction wd(a, b) {\n switch(b) {\n case 2:\n return function(c) {\n return this.fromWireType(Fa[c >> 2]);\n };\n case 3:\n return function(c) {\n return this.fromWireType(Ia[c >> 3]);\n };\n default:\n throw new TypeError(\"Unknown float type: \" + a);\n }\n}\nfunction xd(a, b, c) {\n switch(b) {\n case 0:\n return c ? function(d) {\n return C[d];\n } : function(d) {\n return E[d];\n };\n case 1:\n return c ? function(d) {\n return Da[d >> 1];\n } : function(d) {\n return Ea[d >> 1];\n };\n case 2:\n return c ? function(d) {\n return L[d >> 2];\n } : function(d) {\n return N[d >> 2];\n };\n default:\n throw new TypeError(\"Unknown integer type: \" + a);\n }\n}\nvar yd = \"undefined\" != typeof TextDecoder ? new TextDecoder(\"utf-16le\") : void 0, zd = (a, b) => {\n var c = a >> 1;\n for (var d = c + b / 2; !(c >= d) && Ea[c];) {\n ++c;\n }\n c <<= 1;\n if (32 < c - a && yd) {\n return yd.decode(E.subarray(a, c));\n }\n c = \"\";\n for (d = 0; !(d >= b / 2); ++d) {\n var e = Da[a + 2 * d >> 1];\n if (0 == e) {\n break;\n }\n c += String.fromCharCode(e);\n }\n return c;\n}, Ad = (a, b, c) => {\n void 0 === c && (c = 2147483647);\n if (2 > c) {\n return 0;\n }\n c -= 2;\n var d = b;\n c = c < 2 * a.length ? c / 2 : a.length;\n for (var e = 0; e < c; ++e) {\n Da[b >> 1] = a.charCodeAt(e), b += 2;\n }\n Da[b >> 1] = 0;\n return b - d;\n}, Bd = a => 2 * a.length, Cd = (a, b) => {\n for (var c = 0, d = \"\"; !(c >= b / 4);) {\n var e = L[a + 4 * c >> 2];\n if (0 == e) {\n break;\n }\n ++c;\n 65536 <= e ? (e -= 65536, d += String.fromCharCode(55296 | e >> 10, 56320 | e & 1023)) : d += String.fromCharCode(e);\n }\n return d;\n}, Dd = (a, b, c) => {\n void 0 === c && (c = 2147483647);\n if (4 > c) {\n return 0;\n }\n var d = b;\n c = d + c - 4;\n for (var e = 0; e < a.length; ++e) {\n var f = a.charCodeAt(e);\n if (55296 <= f && 57343 >= f) {\n var g = a.charCodeAt(++e);\n f = 65536 + ((f & 1023) << 10) | g & 1023;\n }\n L[b >> 2] = f;\n b += 4;\n if (b + 4 > c) {\n break;\n }\n }\n L[b >> 2] = 0;\n return b - d;\n}, Ed = a => {\n for (var b = 0, c = 0; c < a.length; ++c) {\n var d = a.charCodeAt(c);\n 55296 <= d && 57343 >= d && ++c;\n b += 4;\n }\n return b;\n}, Fd = {};\nfunction Gd(a) {\n var b = Fd[a];\n return void 0 === b ? W(a) : b;\n}\nvar Hd = [];\nfunction Id(a) {\n var b = Hd.length;\n Hd.push(a);\n return b;\n}\nfunction Jd(a, b) {\n for (var c = Array(a), d = 0; d < a; ++d) {\n c[d] = Fc(N[b + 4 * d >> 2], \"parameter \" + d);\n }\n return c;\n}\nvar Kd = [], Ld = [], Md = {}, Od = () => {\n if (!Nd) {\n var a = {USER:\"web_user\", LOGNAME:\"web_user\", PATH:\"/\", PWD:\"/\", HOME:\"/home/web_user\", LANG:(\"object\" == typeof navigator && navigator.languages && navigator.languages[0] || \"C\").replace(\"-\", \"_\") + \".UTF-8\", _:na || \"./this.program\"}, b;\n for (b in Md) {\n void 0 === Md[b] ? delete a[b] : a[b] = Md[b];\n }\n var c = [];\n for (b in a) {\n c.push(`${b}=${a[b]}`);\n }\n Nd = c;\n }\n return Nd;\n}, Nd, Pd = a => 0 === a % 4 && (0 !== a % 100 || 0 === a % 400), Qd = [31, 29, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31], Rd = [31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31], Sd = (a, b, c, d) => {\n function e(k, t, r) {\n for (k = \"number\" == typeof k ? k.toString() : k || \"\"; k.length < t;) {\n k = r[0] + k;\n }\n return k;\n }\n function f(k, t) {\n return e(k, t, \"0\");\n }\n function g(k, t) {\n function r(D) {\n return 0 > D ? -1 : 0 < D ? 1 : 0;\n }\n var B;\n 0 === (B = r(k.getFullYear() - t.getFullYear())) && 0 === (B = r(k.getMonth() - t.getMonth())) && (B = r(k.getDate() - t.getDate()));\n return B;\n }\n function n(k) {\n switch(k.getDay()) {\n case 0:\n return new Date(k.getFullYear() - 1, 11, 29);\n case 1:\n return k;\n case 2:\n return new Date(k.getFullYear(), 0, 3);\n case 3:\n return new Date(k.getFullYear(), 0, 2);\n case 4:\n return new Date(k.getFullYear(), 0, 1);\n case 5:\n return new Date(k.getFullYear() - 1, 11, 31);\n case 6:\n return new Date(k.getFullYear() - 1, 11, 30);\n }\n }\n function p(k) {\n var t = k.ca;\n for (k = new Date((new Date(k.da + 1900, 0, 1)).getTime()); 0 < t;) {\n var r = k.getMonth(), B = (Pd(k.getFullYear()) ? Qd : Rd)[r];\n if (t > B - k.getDate()) {\n t -= B - k.getDate() + 1, k.setDate(1), 11 > r ? k.setMonth(r + 1) : (k.setMonth(0), k.setFullYear(k.getFullYear() + 1));\n } else {\n k.setDate(k.getDate() + t);\n break;\n }\n }\n r = new Date(k.getFullYear() + 1, 0, 4);\n t = n(new Date(k.getFullYear(), 0, 4));\n r = n(r);\n return 0 >= g(t, k) ? 0 >= g(r, k) ? k.getFullYear() + 1 : k.getFullYear() : k.getFullYear() - 1;\n }\n var l = L[d + 40 >> 2];\n d = {wc:L[d >> 2], vc:L[d + 4 >> 2], Fa:L[d + 8 >> 2], Sa:L[d + 12 >> 2], Ga:L[d + 16 >> 2], da:L[d + 20 >> 2], R:L[d + 24 >> 2], ca:L[d + 28 >> 2], Rc:L[d + 32 >> 2], uc:L[d + 36 >> 2], xc:l ? l ? nb(E, l) : \"\" : \"\"};\n c = c ? nb(E, c) : \"\";\n l = {\"%c\":\"%a %b %d %H:%M:%S %Y\", \"%D\":\"%m/%d/%y\", \"%F\":\"%Y-%m-%d\", \"%h\":\"%b\", \"%r\":\"%I:%M:%S %p\", \"%R\":\"%H:%M\", \"%T\":\"%H:%M:%S\", \"%x\":\"%m/%d/%y\", \"%X\":\"%H:%M:%S\", \"%Ec\":\"%c\", \"%EC\":\"%C\", \"%Ex\":\"%m/%d/%y\", \"%EX\":\"%H:%M:%S\", \"%Ey\":\"%y\", \"%EY\":\"%Y\", \"%Od\":\"%d\", \"%Oe\":\"%e\", \"%OH\":\"%H\", \"%OI\":\"%I\", \"%Om\":\"%m\", \"%OM\":\"%M\", \"%OS\":\"%S\", \"%Ou\":\"%u\", \"%OU\":\"%U\", \"%OV\":\"%V\", \"%Ow\":\"%w\", \"%OW\":\"%W\", \"%Oy\":\"%y\",};\n for (var u in l) {\n c = c.replace(new RegExp(u, \"g\"), l[u]);\n }\n var v = \"Sunday Monday Tuesday Wednesday Thursday Friday Saturday\".split(\" \"), x = \"January February March April May June July August September October November December\".split(\" \");\n l = {\"%a\":k => v[k.R].substring(0, 3), \"%A\":k => v[k.R], \"%b\":k => x[k.Ga].substring(0, 3), \"%B\":k => x[k.Ga], \"%C\":k => f((k.da + 1900) / 100 | 0, 2), \"%d\":k => f(k.Sa, 2), \"%e\":k => e(k.Sa, 2, \" \"), \"%g\":k => p(k).toString().substring(2), \"%G\":k => p(k), \"%H\":k => f(k.Fa, 2), \"%I\":k => {\n k = k.Fa;\n 0 == k ? k = 12 : 12 < k && (k -= 12);\n return f(k, 2);\n }, \"%j\":k => {\n for (var t = 0, r = 0; r <= k.Ga - 1; t += (Pd(k.da + 1900) ? Qd : Rd)[r++]) {\n }\n return f(k.Sa + t, 3);\n }, \"%m\":k => f(k.Ga + 1, 2), \"%M\":k => f(k.vc, 2), \"%n\":() => \"\\n\", \"%p\":k => 0 <= k.Fa && 12 > k.Fa ? \"AM\" : \"PM\", \"%S\":k => f(k.wc, 2), \"%t\":() => \"\\t\", \"%u\":k => k.R || 7, \"%U\":k => f(Math.floor((k.ca + 7 - k.R) / 7), 2), \"%V\":k => {\n var t = Math.floor((k.ca + 7 - (k.R + 6) % 7) / 7);\n 2 >= (k.R + 371 - k.ca - 2) % 7 && t++;\n if (t) {\n 53 == t && (r = (k.R + 371 - k.ca) % 7, 4 == r || 3 == r && Pd(k.da) || (t = 1));\n } else {\n t = 52;\n var r = (k.R + 7 - k.ca - 1) % 7;\n (4 == r || 5 == r && Pd(k.da % 400 - 1)) && t++;\n }\n return f(t, 2);\n }, \"%w\":k => k.R, \"%W\":k => f(Math.floor((k.ca + 7 - (k.R + 6) % 7) / 7), 2), \"%y\":k => (k.da + 1900).toString().substring(2), \"%Y\":k => k.da + 1900, \"%z\":k => {\n k = k.uc;\n var t = 0 <= k;\n k = Math.abs(k) / 60;\n return (t ? \"+\" : \"-\") + String(\"0000\" + (k / 60 * 100 + k % 60)).slice(-4);\n }, \"%Z\":k => k.xc, \"%%\":() => \"%\"};\n c = c.replace(/%%/g, \"\\x00\\x00\");\n for (u in l) {\n c.includes(u) && (c = c.replace(new RegExp(u, \"g\"), l[u](d)));\n }\n c = c.replace(/\\0\\0/g, \"%\");\n u = rb(c, !1);\n if (u.length > b) {\n return 0;\n }\n C.set(u, a);\n return u.length - 1;\n};\nfunction Pb(a, b, c, d) {\n a || (a = this);\n this.parent = a;\n this.U = a.U;\n this.wa = null;\n this.id = Hb++;\n this.name = b;\n this.mode = c;\n this.l = {};\n this.m = {};\n this.za = d;\n}\nObject.defineProperties(Pb.prototype, {read:{get:function() {\n return 365 === (this.mode & 365);\n}, set:function(a) {\n a ? this.mode |= 365 : this.mode &= -366;\n}}, write:{get:function() {\n return 146 === (this.mode & 146);\n}, set:function(a) {\n a ? this.mode |= 146 : this.mode &= -147;\n}}});\ngc();\nIb = Array(4096);\nWb(P, \"/\");\nS(\"/tmp\", 16895, 0);\nS(\"/home\", 16895, 0);\nS(\"/home/web_user\", 16895, 0);\n(() => {\n S(\"/dev\", 16895, 0);\n ub(259, {read:() => 0, write:(d, e, f, g) => g,});\n Xb(\"/dev/null\", 259);\n tb(1280, wb);\n tb(1536, xb);\n Xb(\"/dev/tty\", 1280);\n Xb(\"/dev/tty1\", 1536);\n var a = new Uint8Array(1024), b = 0, c = () => {\n 0 === b && (b = kb(a).byteLength);\n return a[--b];\n };\n jc(\"random\", c);\n jc(\"urandom\", c);\n S(\"/dev/shm\", 16895, 0);\n S(\"/dev/shm/tmp\", 16895, 0);\n})();\n(() => {\n S(\"/proc\", 16895, 0);\n var a = S(\"/proc/self\", 16895, 0);\n S(\"/proc/self/fd\", 16895, 0);\n Wb({U:() => {\n var b = Ab(a, \"fd\", 16895, 73);\n b.l = {ka:(c, d) => {\n var e = Tb(+d);\n c = {parent:null, U:{mb:\"fake\"}, l:{ma:() => e.path},};\n return c.parent = c;\n }};\n return b;\n }}, \"/proc/self/fd\");\n})();\nObject.assign(pc.prototype, {get(a) {\n return this.M[a];\n}, has(a) {\n return void 0 !== this.M[a];\n}, pa(a) {\n var b = this.hb.pop() || this.M.length;\n this.M[b] = a;\n return b;\n}, Zb(a) {\n this.M[a] = void 0;\n this.hb.push(a);\n}});\nqc = m.BindingError = class extends Error {\n constructor(a) {\n super(a);\n this.name = \"BindingError\";\n }\n};\nU.M.push({value:void 0}, {value:null}, {value:!0}, {value:!1},);\nU.h = U.M.length;\nm.count_emval_handles = function() {\n for (var a = 0, b = U.h; b < U.M.length; ++b) {\n void 0 !== U.M[b] && ++a;\n }\n return a;\n};\nuc = m.PureVirtualError = tc(\"PureVirtualError\");\nfor (var Td = Array(256), Ud = 0; 256 > Ud; ++Ud) {\n Td[Ud] = String.fromCharCode(Ud);\n}\nvc = Td;\nm.getInheritedInstanceCount = function() {\n return Object.keys(zc).length;\n};\nm.getLiveInheritedInstances = function() {\n var a = [], b;\n for (b in zc) {\n zc.hasOwnProperty(b) && a.push(zc[b]);\n }\n return a;\n};\nm.flushPendingDeletes = xc;\nm.setDelayFunction = function(a) {\n yc = a;\n wc.length && yc && yc(xc);\n};\nMc = m.InternalError = class extends Error {\n constructor(a) {\n super(a);\n this.name = \"InternalError\";\n }\n};\nZc.prototype.isAliasOf = function(a) {\n if (!(this instanceof Zc && a instanceof Zc)) {\n return !1;\n }\n var b = this.g.u.i, c = this.g.o, d = a.g.u.i;\n for (a = a.g.o; b.A;) {\n c = b.na(c), b = b.A;\n }\n for (; d.A;) {\n a = d.na(a), d = d.A;\n }\n return b === d && c === a;\n};\nZc.prototype.clone = function() {\n this.g.o || Yc(this);\n if (this.g.ia) {\n return this.g.count.value += 1, this;\n }\n var a = Pc, b = Object, c = b.create, d = Object.getPrototypeOf(this), e = this.g;\n a = a(c.call(b, d, {g:{value:{count:e.count, fa:e.fa, ia:e.ia, o:e.o, u:e.u, G:e.G, L:e.L,},}}));\n a.g.count.value += 1;\n a.g.fa = !1;\n return a;\n};\nZc.prototype[\"delete\"] = function() {\n this.g.o || Yc(this);\n this.g.fa && !this.g.ia && V(\"Object already scheduled for deletion\");\n Gc(this);\n Ic(this.g);\n this.g.ia || (this.g.G = void 0, this.g.o = void 0);\n};\nZc.prototype.isDeleted = function() {\n return !this.g.o;\n};\nZc.prototype.deleteLater = function() {\n this.g.o || Yc(this);\n this.g.fa && !this.g.ia && V(\"Object already scheduled for deletion\");\n wc.push(this);\n 1 === wc.length && yc && yc(xc);\n this.g.fa = !0;\n return this;\n};\nhd.prototype.Vb = function(a) {\n this.rb && (a = this.rb(a));\n return a;\n};\nhd.prototype.ab = function(a) {\n this.W && this.W(a);\n};\nhd.prototype.argPackAdvance = 8;\nhd.prototype.readValueFromPointer = Sc;\nhd.prototype.deleteObject = function(a) {\n if (null !== a) {\n a[\"delete\"]();\n }\n};\nhd.prototype.fromWireType = function(a) {\n function b() {\n return this.ua ? Oc(this.i.N, {u:this.nc, o:c, L:this, G:a,}) : Oc(this.i.N, {u:this, o:a,});\n }\n var c = this.Vb(a);\n if (!c) {\n return this.ab(a), null;\n }\n var d = Lc(this.i, c);\n if (void 0 !== d) {\n if (0 === d.g.count.value) {\n return d.g.o = c, d.g.G = a, d.clone();\n }\n d = d.clone();\n this.ab(a);\n return d;\n }\n d = this.i.Ub(c);\n d = Kc[d];\n if (!d) {\n return b.call(this);\n }\n d = this.ta ? d.Kb : d.pointerType;\n var e = Jc(c, this.i, d.i);\n return null === e ? b.call(this) : this.ua ? Oc(d.i.N, {u:d, o:e, L:this, G:a,}) : Oc(d.i.N, {u:d, o:e,});\n};\nnd = m.UnboundTypeError = tc(\"UnboundTypeError\");\nvar Xd = {__syscall_fcntl64:function(a, b, c) {\n lc = c;\n try {\n var d = Tb(a);\n switch(b) {\n case 0:\n var e = mc();\n return 0 > e ? -28 : Vb(d, e).X;\n case 1:\n case 2:\n return 0;\n case 3:\n return d.flags;\n case 4:\n return e = mc(), d.flags |= e, 0;\n case 5:\n return e = mc(), Da[e + 0 >> 1] = 2, 0;\n case 6:\n case 7:\n return 0;\n case 16:\n case 8:\n return -28;\n case 9:\n return L[Vd() >> 2] = 28, -1;\n default:\n return -28;\n }\n } catch (f) {\n if (\"undefined\" == typeof kc || \"ErrnoError\" !== f.name) {\n throw f;\n }\n return -f.aa;\n }\n}, __syscall_ioctl:function(a, b, c) {\n lc = c;\n try {\n var d = Tb(a);\n switch(b) {\n case 21509:\n return d.s ? 0 : -59;\n case 21505:\n if (!d.s) {\n return -59;\n }\n if (d.s.V.bc) {\n b = [3, 28, 127, 21, 4, 0, 1, 0, 17, 19, 26, 0, 18, 15, 23, 22, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,];\n var e = mc();\n L[e >> 2] = 25856;\n L[e + 4 >> 2] = 5;\n L[e + 8 >> 2] = 191;\n L[e + 12 >> 2] = 35387;\n for (var f = 0; 32 > f; f++) {\n C[e + f + 17 >> 0] = b[f] || 0;\n }\n }\n return 0;\n case 21510:\n case 21511:\n case 21512:\n return d.s ? 0 : -59;\n case 21506:\n case 21507:\n case 21508:\n if (!d.s) {\n return -59;\n }\n if (d.s.V.cc) {\n for (e = mc(), b = [], f = 0; 32 > f; f++) {\n b.push(C[e + f + 17 >> 0]);\n }\n }\n return 0;\n case 21519:\n if (!d.s) {\n return -59;\n }\n e = mc();\n return L[e >> 2] = 0;\n case 21520:\n return d.s ? -28 : -59;\n case 21531:\n e = mc();\n if (!d.m.ac) {\n throw new O(59);\n }\n return d.m.ac(d, b, e);\n case 21523:\n if (!d.s) {\n return -59;\n }\n d.s.V.dc && (f = [24, 80], e = mc(), Da[e >> 1] = f[0], Da[e + 2 >> 1] = f[1]);\n return 0;\n case 21524:\n return d.s ? 0 : -59;\n case 21515:\n return d.s ? 0 : -59;\n default:\n return -28;\n }\n } catch (g) {\n if (\"undefined\" == typeof kc || \"ErrnoError\" !== g.name) {\n throw g;\n }\n return -g.aa;\n }\n}, __syscall_openat:function(a, b, c, d) {\n lc = d;\n try {\n b = b ? nb(E, b) : \"\";\n var e = b;\n if (\"/\" === e.charAt(0)) {\n b = e;\n } else {\n var f = -100 === a ? \"/\" : Tb(a).path;\n if (0 == e.length) {\n throw new O(44);\n }\n b = gb(f + \"/\" + e);\n }\n var g = d ? mc() : 0;\n return ec(b, c, g).X;\n } catch (n) {\n if (\"undefined\" == typeof kc || \"ErrnoError\" !== n.name) {\n throw n;\n }\n return -n.aa;\n }\n}, _embind_create_inheriting_constructor:function(a, b, c) {\n a = W(a);\n b = Fc(b, \"wrapper\");\n c = rc(c);\n var d = [].slice, e = b.i, f = e.N, g = e.A.N, n = e.A.constructor;\n a = oc(a, function() {\n e.A.qb.forEach(function(l) {\n if (this[l] === g[l]) {\n throw new uc(`Pure virtual function ${l} must be implemented in JavaScript`);\n }\n }.bind(this));\n Object.defineProperty(this, \"__parent\", {value:f});\n this.__construct.apply(this, d.call(arguments));\n });\n f.__construct = function() {\n this === f && V(\"Pass correct 'this' to __construct\");\n var l = n.implement.apply(void 0, [this].concat(d.call(arguments)));\n Gc(l);\n var u = l.g;\n l.notifyOnDestruction();\n u.ia = !0;\n Object.defineProperties(this, {g:{value:u}});\n Pc(this);\n l = u.o;\n l = Ac(e, l);\n zc.hasOwnProperty(l) ? V(`Tried to register registered instance: ${l}`) : zc[l] = this;\n };\n f.__destruct = function() {\n this === f && V(\"Pass correct 'this' to __destruct\");\n Gc(this);\n var l = this.g.o;\n l = Ac(e, l);\n zc.hasOwnProperty(l) ? delete zc[l] : V(`Tried to unregister unregistered instance: ${l}`);\n };\n a.prototype = Object.create(f);\n for (var p in c) {\n a.prototype[p] = c[p];\n }\n return sc(a);\n}, _embind_finalize_value_object:function(a) {\n var b = Qc[a];\n delete Qc[a];\n var c = b.Pa, d = b.W, e = b.eb, f = e.map(g => g.Yb).concat(e.map(g => g.rc));\n Y([a], f, g => {\n var n = {};\n e.forEach((p, l) => {\n var u = g[l], v = p.Wb, x = p.Xb, k = g[l + e.length], t = p.qc, r = p.sc;\n n[p.Sb] = {read:B => u.fromWireType(v(x, B)), write:(B, D) => {\n var w = [];\n t(r, B, k.toWireType(w, D));\n Rc(w);\n }};\n });\n return [{name:b.name, fromWireType:function(p) {\n var l = {}, u;\n for (u in n) {\n l[u] = n[u].read(p);\n }\n d(p);\n return l;\n }, toWireType:function(p, l) {\n for (var u in n) {\n if (!(u in l)) {\n throw new TypeError(`Missing field: \"${u}\"`);\n }\n }\n var v = c();\n for (u in n) {\n n[u].write(v, l[u]);\n }\n null !== p && p.push(d, v);\n return v;\n }, argPackAdvance:8, readValueFromPointer:Sc, K:d,}];\n });\n}, _embind_register_bigint:function() {\n}, _embind_register_bool:function(a, b, c, d, e) {\n var f = Wc(c);\n b = W(b);\n Vc(a, {name:b, fromWireType:function(g) {\n return !!g;\n }, toWireType:function(g, n) {\n return n ? d : e;\n }, argPackAdvance:8, readValueFromPointer:function(g) {\n if (1 === c) {\n var n = C;\n } else if (2 === c) {\n n = Da;\n } else if (4 === c) {\n n = L;\n } else {\n throw new TypeError(\"Unknown boolean type size: \" + b);\n }\n return this.fromWireType(n[g >> f]);\n }, K:null,});\n}, _embind_register_class:function(a, b, c, d, e, f, g, n, p, l, u, v, x) {\n u = W(u);\n f = Z(e, f);\n n && (n = Z(g, n));\n l && (l = Z(p, l));\n x = Z(v, x);\n var k = nc(u);\n ad(k, function() {\n od(`Cannot construct ${u} due to unbound types`, [d]);\n });\n Y([a, b, c], d ? [d] : [], function(t) {\n t = t[0];\n if (d) {\n var r = t.i;\n var B = r.N;\n } else {\n B = Zc.prototype;\n }\n t = oc(k, function() {\n if (Object.getPrototypeOf(this) !== D) {\n throw new qc(\"Use 'new' to construct \" + u);\n }\n if (void 0 === w.$) {\n throw new qc(u + \" has no accessible constructor\");\n }\n var T = w.$[arguments.length];\n if (void 0 === T) {\n throw new qc(`Tried to invoke ctor of ${u} with invalid number of parameters (${arguments.length}) - expected (${Object.keys(w.$).toString()}) parameters instead!`);\n }\n return T.apply(this, arguments);\n });\n var D = Object.create(B, {constructor:{value:t},});\n t.prototype = D;\n var w = new bd(u, t, D, x, r, f, n, l);\n w.A && (void 0 === w.A.oa && (w.A.oa = []), w.A.oa.push(w));\n r = new hd(u, w, !0, !1);\n B = new hd(u + \"*\", w, !1, !1);\n var M = new hd(u + \" const*\", w, !1, !0);\n Kc[a] = {pointerType:B, Kb:M};\n jd(k, t);\n return [r, B, M];\n });\n}, _embind_register_class_class_function:function(a, b, c, d, e, f, g) {\n var n = sd(c, d);\n b = W(b);\n f = Z(e, f);\n Y([], [a], function(p) {\n function l() {\n od(`Cannot call ${u} due to unbound types`, n);\n }\n p = p[0];\n var u = `${p.name}.${b}`;\n b.startsWith(\"@@\") && (b = Symbol[b.substring(2)]);\n var v = p.i.constructor;\n void 0 === v[b] ? (l.ea = c - 1, v[b] = l) : ($c(v, b, u), v[b].B[c - 1] = l);\n Y([], n, function(x) {\n x = pd(u, [x[0], null].concat(x.slice(1)), null, f, g);\n void 0 === v[b].B ? (x.ea = c - 1, v[b] = x) : v[b].B[c - 1] = x;\n if (p.i.oa) {\n for (const k of p.i.oa) {\n k.constructor.hasOwnProperty(b) || (k.constructor[b] = x);\n }\n }\n return [];\n });\n return [];\n });\n}, _embind_register_class_class_property:function(a, b, c, d, e, f, g, n) {\n b = W(b);\n f = Z(e, f);\n Y([], [a], function(p) {\n p = p[0];\n var l = `${p.name}.${b}`, u = {get() {\n od(`Cannot access ${l} due to unbound types`, [c]);\n }, enumerable:!0, configurable:!0};\n u.set = n ? () => {\n od(`Cannot access ${l} due to unbound types`, [c]);\n } : () => {\n V(`${l} is a read-only property`);\n };\n Object.defineProperty(p.i.constructor, b, u);\n Y([], [c], function(v) {\n v = v[0];\n var x = {get() {\n return v.fromWireType(f(d));\n }, enumerable:!0};\n n && (n = Z(g, n), x.set = k => {\n var t = [];\n n(d, v.toWireType(t, k));\n Rc(t);\n });\n Object.defineProperty(p.i.constructor, b, x);\n return [];\n });\n return [];\n });\n}, _embind_register_class_constructor:function(a, b, c, d, e, f) {\n var g = sd(b, c);\n e = Z(d, e);\n Y([], [a], function(n) {\n n = n[0];\n var p = `constructor ${n.name}`;\n void 0 === n.i.$ && (n.i.$ = []);\n if (void 0 !== n.i.$[b - 1]) {\n throw new qc(`Cannot register multiple constructors with identical number of parameters (${b - 1}) for class '${n.name}'! Overload resolution is currently only performed using the parameter count, not actual type info!`);\n }\n n.i.$[b - 1] = () => {\n od(`Cannot construct ${n.name} due to unbound types`, g);\n };\n Y([], g, function(l) {\n l.splice(1, 0, null);\n n.i.$[b - 1] = pd(p, l, null, e, f);\n return [];\n });\n return [];\n });\n}, _embind_register_class_function:function(a, b, c, d, e, f, g, n) {\n var p = sd(c, d);\n b = W(b);\n f = Z(e, f);\n Y([], [a], function(l) {\n function u() {\n od(`Cannot call ${v} due to unbound types`, p);\n }\n l = l[0];\n var v = `${l.name}.${b}`;\n b.startsWith(\"@@\") && (b = Symbol[b.substring(2)]);\n n && l.i.qb.push(b);\n var x = l.i.N, k = x[b];\n void 0 === k || void 0 === k.B && k.className !== l.name && k.ea === c - 2 ? (u.ea = c - 2, u.className = l.name, x[b] = u) : ($c(x, b, v), x[b].B[c - 2] = u);\n Y([], p, function(t) {\n t = pd(v, t, l, f, g);\n void 0 === x[b].B ? (t.ea = c - 2, x[b] = t) : x[b].B[c - 2] = t;\n return [];\n });\n return [];\n });\n}, _embind_register_class_property:function(a, b, c, d, e, f, g, n, p, l) {\n b = W(b);\n e = Z(d, e);\n Y([], [a], function(u) {\n u = u[0];\n var v = `${u.name}.${b}`, x = {get() {\n od(`Cannot access ${v} due to unbound types`, [c, g]);\n }, enumerable:!0, configurable:!0};\n x.set = p ? () => {\n od(`Cannot access ${v} due to unbound types`, [c, g]);\n } : () => {\n V(v + \" is a read-only property\");\n };\n Object.defineProperty(u.i.N, b, x);\n Y([], p ? [c, g] : [c], function(k) {\n var t = k[0], r = {get() {\n var D = td(this, u, v + \" getter\");\n return t.fromWireType(e(f, D));\n }, enumerable:!0};\n if (p) {\n p = Z(n, p);\n var B = k[1];\n r.set = function(D) {\n var w = td(this, u, v + \" setter\"), M = [];\n p(l, w, B.toWireType(M, D));\n Rc(M);\n };\n }\n Object.defineProperty(u.i.N, b, r);\n return [];\n });\n return [];\n });\n}, _embind_register_emval:function(a, b) {\n b = W(b);\n Vc(a, {name:b, fromWireType:function(c) {\n var d = rc(c);\n ud(c);\n return d;\n }, toWireType:function(c, d) {\n return sc(d);\n }, argPackAdvance:8, readValueFromPointer:Sc, K:null,});\n}, _embind_register_enum:function(a, b, c, d) {\n function e() {\n }\n c = Wc(c);\n b = W(b);\n e.values = {};\n Vc(a, {name:b, constructor:e, fromWireType:function(f) {\n return this.constructor.values[f];\n }, toWireType:function(f, g) {\n return g.value;\n }, argPackAdvance:8, readValueFromPointer:vd(b, c, d), K:null,});\n ad(b, e);\n}, _embind_register_enum_value:function(a, b, c) {\n var d = Fc(a, \"enum\");\n b = W(b);\n a = d.constructor;\n d = Object.create(d.constructor.prototype, {value:{value:c}, constructor:{value:oc(`${d.name}_${b}`, function() {\n })},});\n a.values[c] = d;\n a[b] = d;\n}, _embind_register_float:function(a, b, c) {\n c = Wc(c);\n b = W(b);\n Vc(a, {name:b, fromWireType:function(d) {\n return d;\n }, toWireType:function(d, e) {\n return e;\n }, argPackAdvance:8, readValueFromPointer:wd(b, c), K:null,});\n}, _embind_register_function:function(a, b, c, d, e, f) {\n var g = sd(b, c);\n a = W(a);\n e = Z(d, e);\n ad(a, function() {\n od(`Cannot call ${a} due to unbound types`, g);\n }, b - 1);\n Y([], g, function(n) {\n jd(a, pd(a, [n[0], null].concat(n.slice(1)), null, e, f), b - 1);\n return [];\n });\n}, _embind_register_integer:function(a, b, c, d, e) {\n b = W(b);\n -1 === e && (e = 4294967295);\n e = Wc(c);\n var f = n => n;\n if (0 === d) {\n var g = 32 - 8 * c;\n f = n => n << g >>> g;\n }\n c = b.includes(\"unsigned\") ? function(n, p) {\n return p >>> 0;\n } : function(n, p) {\n return p;\n };\n Vc(a, {name:b, fromWireType:f, toWireType:c, argPackAdvance:8, readValueFromPointer:xd(b, e, 0 !== d), K:null,});\n}, _embind_register_memory_view:function(a, b, c) {\n function d(f) {\n f >>= 2;\n var g = N;\n return new e(g.buffer, g[f + 1], g[f]);\n }\n var e = [Int8Array, Uint8Array, Int16Array, Uint16Array, Int32Array, Uint32Array, Float32Array, Float64Array,][b];\n c = W(c);\n Vc(a, {name:c, fromWireType:d, argPackAdvance:8, readValueFromPointer:d,}, {$b:!0,});\n}, _embind_register_std_string:function(a, b) {\n b = W(b);\n var c = \"std::string\" === b;\n Vc(a, {name:b, fromWireType:function(d) {\n var e = N[d >> 2], f = d + 4;\n if (c) {\n for (var g = f, n = 0; n <= e; ++n) {\n var p = f + n;\n if (n == e || 0 == E[p]) {\n g = g ? nb(E, g, p - g) : \"\";\n if (void 0 === l) {\n var l = g;\n } else {\n l += String.fromCharCode(0), l += g;\n }\n g = p + 1;\n }\n }\n } else {\n l = Array(e);\n for (n = 0; n < e; ++n) {\n l[n] = String.fromCharCode(E[f + n]);\n }\n l = l.join(\"\");\n }\n Ec(d);\n return l;\n }, toWireType:function(d, e) {\n e instanceof ArrayBuffer && (e = new Uint8Array(e));\n var f = \"string\" == typeof e;\n f || e instanceof Uint8Array || e instanceof Uint8ClampedArray || e instanceof Int8Array || V(\"Cannot pass non-string to std::string\");\n var g = c && f ? pb(e) : e.length;\n var n = Wd(4 + g + 1), p = n + 4;\n N[n >> 2] = g;\n if (c && f) {\n qb(e, E, p, g + 1);\n } else {\n if (f) {\n for (f = 0; f < g; ++f) {\n var l = e.charCodeAt(f);\n 255 < l && (Ec(p), V(\"String has UTF-16 code units that do not fit in 8 bits\"));\n E[p + f] = l;\n }\n } else {\n for (f = 0; f < g; ++f) {\n E[p + f] = e[f];\n }\n }\n }\n null !== d && d.push(Ec, n);\n return n;\n }, argPackAdvance:8, readValueFromPointer:Sc, K:function(d) {\n Ec(d);\n },});\n}, _embind_register_std_wstring:function(a, b, c) {\n c = W(c);\n if (2 === b) {\n var d = zd;\n var e = Ad;\n var f = Bd;\n var g = () => Ea;\n var n = 1;\n } else {\n 4 === b && (d = Cd, e = Dd, f = Ed, g = () => N, n = 2);\n }\n Vc(a, {name:c, fromWireType:function(p) {\n for (var l = N[p >> 2], u = g(), v, x = p + 4, k = 0; k <= l; ++k) {\n var t = p + 4 + k * b;\n if (k == l || 0 == u[t >> n]) {\n x = d(x, t - x), void 0 === v ? v = x : (v += String.fromCharCode(0), v += x), x = t + b;\n }\n }\n Ec(p);\n return v;\n }, toWireType:function(p, l) {\n \"string\" != typeof l && V(`Cannot pass non-string to C++ string type ${c}`);\n var u = f(l), v = Wd(4 + u + b);\n N[v >> 2] = u >> n;\n e(l, v + 4, u + b);\n null !== p && p.push(Ec, v);\n return v;\n }, argPackAdvance:8, readValueFromPointer:Sc, K:function(p) {\n Ec(p);\n },});\n}, _embind_register_value_object:function(a, b, c, d, e, f) {\n Qc[a] = {name:W(b), Pa:Z(c, d), W:Z(e, f), eb:[],};\n}, _embind_register_value_object_field:function(a, b, c, d, e, f, g, n, p, l) {\n Qc[a].eb.push({Sb:W(b), Yb:c, Wb:Z(d, e), Xb:f, rc:g, qc:Z(n, p), sc:l,});\n}, _embind_register_void:function(a, b) {\n b = W(b);\n Vc(a, {fc:!0, name:b, argPackAdvance:0, fromWireType:function() {\n }, toWireType:function() {\n },});\n}, _emscripten_get_now_is_monotonic:() => !0, _emval_as:function(a, b, c) {\n a = rc(a);\n b = Fc(b, \"emval::as\");\n var d = [], e = sc(d);\n N[c >> 2] = e;\n return b.toWireType(d, a);\n}, _emval_call_method:function(a, b, c, d, e) {\n a = Hd[a];\n b = rc(b);\n c = Gd(c);\n var f = [];\n N[d >> 2] = sc(f);\n return a(b, c, f, e);\n}, _emval_call_void_method:function(a, b, c, d) {\n a = Hd[a];\n b = rc(b);\n c = Gd(c);\n a(b, c, null, d);\n}, _emval_decref:ud, _emval_get_method_caller:function(a, b) {\n var c = Jd(a, b), d = c[0];\n b = d.name + \"_$\" + c.slice(1).map(function(g) {\n return g.name;\n }).join(\"_\") + \"$\";\n var e = Kd[b];\n if (void 0 !== e) {\n return e;\n }\n var f = Array(a - 1);\n e = Id((g, n, p, l) => {\n for (var u = 0, v = 0; v < a - 1; ++v) {\n f[v] = c[v + 1].readValueFromPointer(l + u), u += c[v + 1].argPackAdvance;\n }\n g = g[n].apply(g, f);\n for (v = 0; v < a - 1; ++v) {\n c[v + 1].Nb && c[v + 1].Nb(f[v]);\n }\n if (!d.fc) {\n return d.toWireType(p, g);\n }\n });\n return Kd[b] = e;\n}, _emval_get_module_property:function(a) {\n a = Gd(a);\n return sc(m[a]);\n}, _emval_get_property:function(a, b) {\n a = rc(a);\n b = rc(b);\n return sc(a[b]);\n}, _emval_incref:function(a) {\n 4 < a && (U.get(a).tb += 1);\n}, _emval_new_cstring:function(a) {\n return sc(Gd(a));\n}, _emval_new_object:function() {\n return sc({});\n}, _emval_run_destructors:function(a) {\n var b = rc(a);\n Rc(b);\n ud(a);\n}, _emval_set_property:function(a, b, c) {\n a = rc(a);\n b = rc(b);\n c = rc(c);\n a[b] = c;\n}, _emval_take_value:function(a, b) {\n a = Fc(a, \"_emval_take_value\");\n a = a.readValueFromPointer(b);\n return sc(a);\n}, abort:() => {\n Aa(\"\");\n}, emscripten_asm_const_int:(a, b, c) => {\n Ld.length = 0;\n var d;\n for (c >>= 2; d = E[b++];) {\n c += 105 != d & c, Ld.push(105 == d ? L[c] : Ia[c++ >> 1]), ++c;\n }\n return db[a].apply(null, Ld);\n}, emscripten_date_now:function() {\n return Date.now();\n}, emscripten_get_now:() => performance.now(), emscripten_memcpy_big:(a, b, c) => E.copyWithin(a, b, b + c), emscripten_resize_heap:a => {\n var b = E.length;\n a >>>= 0;\n if (2147483648 < a) {\n return !1;\n }\n for (var c = 1; 4 >= c; c *= 2) {\n var d = b * (1 + 0.2 / c);\n d = Math.min(d, a + 100663296);\n var e = Math;\n d = Math.max(a, d);\n a: {\n e = e.min.call(e, 2147483648, d + (65536 - d % 65536) % 65536) - Ba.buffer.byteLength + 65535 >>> 16;\n try {\n Ba.grow(e);\n Ja();\n var f = 1;\n break a;\n } catch (g) {\n }\n f = void 0;\n }\n if (f) {\n return !0;\n }\n }\n return !1;\n}, environ_get:(a, b) => {\n var c = 0;\n Od().forEach(function(d, e) {\n var f = b + c;\n e = N[a + 4 * e >> 2] = f;\n for (f = 0; f < d.length; ++f) {\n C[e++ >> 0] = d.charCodeAt(f);\n }\n C[e >> 0] = 0;\n c += d.length + 1;\n });\n return 0;\n}, environ_sizes_get:(a, b) => {\n var c = Od();\n N[a >> 2] = c.length;\n var d = 0;\n c.forEach(function(e) {\n d += e.length + 1;\n });\n N[b >> 2] = d;\n return 0;\n}, fd_close:function(a) {\n try {\n var b = Tb(a);\n if (null === b.X) {\n throw new O(8);\n }\n b.Ma && (b.Ma = null);\n try {\n b.m.close && b.m.close(b);\n } catch (c) {\n throw c;\n } finally {\n Gb[b.X] = null;\n }\n b.X = null;\n return 0;\n } catch (c) {\n if (\"undefined\" == typeof kc || \"ErrnoError\" !== c.name) {\n throw c;\n }\n return c.aa;\n }\n}, fd_read:function(a, b, c, d) {\n try {\n a: {\n var e = Tb(a);\n a = b;\n for (var f, g = b = 0; g < c; g++) {\n var n = N[a >> 2], p = N[a + 4 >> 2];\n a += 8;\n var l = e, u = n, v = p, x = f, k = C;\n if (0 > v || 0 > x) {\n throw new O(28);\n }\n if (null === l.X) {\n throw new O(8);\n }\n if (1 === (l.flags & 2097155)) {\n throw new O(8);\n }\n if (16384 === (l.node.mode & 61440)) {\n throw new O(31);\n }\n if (!l.m.read) {\n throw new O(28);\n }\n var t = \"undefined\" != typeof x;\n if (!t) {\n x = l.position;\n } else if (!l.seekable) {\n throw new O(70);\n }\n var r = l.m.read(l, k, u, v, x);\n t || (l.position += r);\n var B = r;\n if (0 > B) {\n var D = -1;\n break a;\n }\n b += B;\n if (B < p) {\n break;\n }\n \"undefined\" !== typeof f && (f += B);\n }\n D = b;\n }\n N[d >> 2] = D;\n return 0;\n } catch (w) {\n if (\"undefined\" == typeof kc || \"ErrnoError\" !== w.name) {\n throw w;\n }\n return w.aa;\n }\n}, fd_seek:function(a, b, c, d, e) {\n b = c + 2097152 >>> 0 < 4194305 - !!b ? (b >>> 0) + 4294967296 * c : NaN;\n try {\n if (isNaN(b)) {\n return 61;\n }\n var f = Tb(a);\n fc(f, b, d);\n $a = [f.position >>> 0, (Za = f.position, 1.0 <= +Math.abs(Za) ? 0.0 < Za ? +Math.floor(Za / 4294967296.0) >>> 0 : ~~+Math.ceil((Za - +(~~Za >>> 0)) / 4294967296.0) >>> 0 : 0)];\n L[e >> 2] = $a[0];\n L[e + 4 >> 2] = $a[1];\n f.Ma && 0 === b && 0 === d && (f.Ma = null);\n return 0;\n } catch (g) {\n if (\"undefined\" == typeof kc || \"ErrnoError\" !== g.name) {\n throw g;\n }\n return g.aa;\n }\n}, fd_write:function(a, b, c, d) {\n try {\n a: {\n var e = Tb(a);\n a = b;\n for (var f, g = b = 0; g < c; g++) {\n var n = N[a >> 2], p = N[a + 4 >> 2];\n a += 8;\n var l = e, u = n, v = p, x = f, k = C;\n if (0 > v || 0 > x) {\n throw new O(28);\n }\n if (null === l.X) {\n throw new O(8);\n }\n if (0 === (l.flags & 2097155)) {\n throw new O(8);\n }\n if (16384 === (l.node.mode & 61440)) {\n throw new O(31);\n }\n if (!l.m.write) {\n throw new O(28);\n }\n l.seekable && l.flags & 1024 && fc(l, 0, 2);\n var t = \"undefined\" != typeof x;\n if (!t) {\n x = l.position;\n } else if (!l.seekable) {\n throw new O(70);\n }\n var r = l.m.write(l, k, u, v, x, void 0);\n t || (l.position += r);\n var B = r;\n if (0 > B) {\n var D = -1;\n break a;\n }\n b += B;\n \"undefined\" !== typeof f && (f += B);\n }\n D = b;\n }\n N[d >> 2] = D;\n return 0;\n } catch (w) {\n if (\"undefined\" == typeof kc || \"ErrnoError\" !== w.name) {\n throw w;\n }\n return w.aa;\n }\n}, strftime_l:(a, b, c, d) => Sd(a, b, c, d)};\n(function() {\n function a(c) {\n z = c = c.exports;\n Ba = z.memory;\n Ja();\n Ka = z.__indirect_function_table;\n Ma.unshift(z.__wasm_call_ctors);\n Pa--;\n m.monitorRunDependencies && m.monitorRunDependencies(Pa);\n if (0 == Pa && (null !== Qa && (clearInterval(Qa), Qa = null), Ra)) {\n var d = Ra;\n Ra = null;\n d();\n }\n return c;\n }\n var b = {env:Xd, wasi_snapshot_preview1:Xd,};\n Pa++;\n m.monitorRunDependencies && m.monitorRunDependencies(Pa);\n if (m.instantiateWasm) {\n try {\n return m.instantiateWasm(b, a);\n } catch (c) {\n xa(\"Module.instantiateWasm callback failed with error: \" + c), ea(c);\n }\n }\n Ya(b, function(c) {\n a(c.instance);\n }).catch(ea);\n return {};\n})();\nvar Ec = a => (Ec = z.free)(a), Wd = a => (Wd = z.malloc)(a), ab = m._ma_device__on_notification_unlocked = a => (ab = m._ma_device__on_notification_unlocked = z.ma_device__on_notification_unlocked)(a);\nm._ma_malloc_emscripten = (a, b) => (m._ma_malloc_emscripten = z.ma_malloc_emscripten)(a, b);\nm._ma_free_emscripten = (a, b) => (m._ma_free_emscripten = z.ma_free_emscripten)(a, b);\nvar bb = m._ma_device_process_pcm_frames_capture__webaudio = (a, b, c) => (bb = m._ma_device_process_pcm_frames_capture__webaudio = z.ma_device_process_pcm_frames_capture__webaudio)(a, b, c), cb = m._ma_device_process_pcm_frames_playback__webaudio = (a, b, c) => (cb = m._ma_device_process_pcm_frames_playback__webaudio = z.ma_device_process_pcm_frames_playback__webaudio)(a, b, c), Vd = () => (Vd = z.__errno_location)(), Dc = a => (Dc = z.__getTypeName)(a);\nm.__embind_initialize_bindings = () => (m.__embind_initialize_bindings = z._embind_initialize_bindings)();\nm.dynCall_iiji = (a, b, c, d, e) => (m.dynCall_iiji = z.dynCall_iiji)(a, b, c, d, e);\nm.dynCall_jiji = (a, b, c, d, e) => (m.dynCall_jiji = z.dynCall_jiji)(a, b, c, d, e);\nm.dynCall_iiiji = (a, b, c, d, e, f) => (m.dynCall_iiiji = z.dynCall_iiiji)(a, b, c, d, e, f);\nm.dynCall_iij = (a, b, c, d) => (m.dynCall_iij = z.dynCall_iij)(a, b, c, d);\nm.dynCall_jii = (a, b, c) => (m.dynCall_jii = z.dynCall_jii)(a, b, c);\nm.dynCall_viijii = (a, b, c, d, e, f, g) => (m.dynCall_viijii = z.dynCall_viijii)(a, b, c, d, e, f, g);\nm.dynCall_iiiiij = (a, b, c, d, e, f, g) => (m.dynCall_iiiiij = z.dynCall_iiiiij)(a, b, c, d, e, f, g);\nm.dynCall_iiiiijj = (a, b, c, d, e, f, g, n, p) => (m.dynCall_iiiiijj = z.dynCall_iiiiijj)(a, b, c, d, e, f, g, n, p);\nm.dynCall_iiiiiijj = (a, b, c, d, e, f, g, n, p, l) => (m.dynCall_iiiiiijj = z.dynCall_iiiiiijj)(a, b, c, d, e, f, g, n, p, l);\nvar Yd;\nRa = function Zd() {\n Yd || $d();\n Yd || (Ra = Zd);\n};\nfunction $d() {\n function a() {\n if (!Yd && (Yd = !0, m.calledRun = !0, !Ca)) {\n m.noFSInit || hc || (hc = !0, gc(), m.stdin = m.stdin, m.stdout = m.stdout, m.stderr = m.stderr, m.stdin ? jc(\"stdin\", m.stdin) : cc(\"/dev/tty\", \"/dev/stdin\"), m.stdout ? jc(\"stdout\", null, m.stdout) : cc(\"/dev/tty\", \"/dev/stdout\"), m.stderr ? jc(\"stderr\", null, m.stderr) : cc(\"/dev/tty1\", \"/dev/stderr\"), ec(\"/dev/stdin\", 0), ec(\"/dev/stdout\", 1), ec(\"/dev/stderr\", 1));\n Jb = !1;\n eb(Ma);\n aa(m);\n if (m.onRuntimeInitialized) {\n m.onRuntimeInitialized();\n }\n if (m.postRun) {\n for (\"function\" == typeof m.postRun && (m.postRun = [m.postRun]); m.postRun.length;) {\n var b = m.postRun.shift();\n Na.unshift(b);\n }\n }\n eb(Na);\n }\n }\n if (!(0 < Pa)) {\n if (m.preRun) {\n for (\"function\" == typeof m.preRun && (m.preRun = [m.preRun]); m.preRun.length;) {\n Oa();\n }\n }\n eb(La);\n 0 < Pa || (m.setStatus ? (m.setStatus(\"Running...\"), setTimeout(function() {\n setTimeout(function() {\n m.setStatus(\"\");\n }, 1);\n a();\n }, 1)) : a());\n }\n}\nif (m.preInit) {\n for (\"function\" == typeof m.preInit && (m.preInit = [m.preInit]); 0 < m.preInit.length;) {\n m.preInit.pop()();\n }\n}\n$d();\n\n\n\n return moduleArg.ready\n}\n\n);\n})();\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (Rive);\n\n/***/ }),\n/* 2 */\n/***/ ((module) => {\n\nmodule.exports = /*#__PURE__*/JSON.parse('{\"name\":\"@rive-app/canvas\",\"version\":\"2.26.3\",\"description\":\"Rive\\'s canvas based web api.\",\"main\":\"rive.js\",\"homepage\":\"https://rive.app\",\"repository\":{\"type\":\"git\",\"url\":\"https://github.com/rive-app/rive-wasm/tree/master/js\"},\"keywords\":[\"rive\",\"animation\"],\"author\":\"Rive\",\"contributors\":[\"Luigi Rosso (https://rive.app)\",\"Maxwell Talbot (https://rive.app)\",\"Arthur Vivian (https://rive.app)\",\"Umberto Sonnino (https://rive.app)\",\"Matthew Sullivan (mailto:matt.j.sullivan@gmail.com)\"],\"license\":\"MIT\",\"files\":[\"rive.js\",\"rive.js.map\",\"rive.wasm\",\"rive_fallback.wasm\",\"rive.d.ts\",\"rive_advanced.mjs.d.ts\"],\"typings\":\"rive.d.ts\",\"dependencies\":{},\"browser\":{\"fs\":false,\"path\":false}}');\n\n/***/ }),\n/* 3 */\n/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {\n\n__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ Animation: () => (/* reexport safe */ _Animation__WEBPACK_IMPORTED_MODULE_0__.Animation)\n/* harmony export */ });\n/* harmony import */ var _Animation__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(4);\n\n\n\n/***/ }),\n/* 4 */\n/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {\n\n__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ Animation: () => (/* binding */ Animation)\n/* harmony export */ });\n/**\n * Represents an animation that can be played on an Artboard.\n * Wraps animations and instances from the runtime and keeps track of playback state.\n *\n * The `Animation` class manages the state and behavior of a single animation instance,\n * including its current time, loop count, and ability to scrub to a specific time.\n *\n * The class provides methods to advance the animation, apply its interpolated keyframe\n * values to the Artboard, and clean up the underlying animation instance when the\n * animation is no longer needed.\n */\nvar Animation = /** @class */ (function () {\n /**\n * Constructs a new animation\n * @constructor\n * @param {any} animation: runtime animation object\n * @param {any} instance: runtime animation instance object\n */\n function Animation(animation, artboard, runtime, playing) {\n this.animation = animation;\n this.artboard = artboard;\n this.playing = playing;\n this.loopCount = 0;\n /**\n * The time to which the animation should move to on the next render.\n * If not null, the animation will scrub to this time instead of advancing by the given time.\n */\n this.scrubTo = null;\n this.instance = new runtime.LinearAnimationInstance(animation, artboard);\n }\n Object.defineProperty(Animation.prototype, \"name\", {\n /**\n * Returns the animation's name\n */\n get: function () {\n return this.animation.name;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(Animation.prototype, \"time\", {\n /**\n * Returns the animation's name\n */\n get: function () {\n return this.instance.time;\n },\n /**\n * Sets the animation's current time\n */\n set: function (value) {\n this.instance.time = value;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(Animation.prototype, \"loopValue\", {\n /**\n * Returns the animation's loop type\n */\n get: function () {\n return this.animation.loopValue;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(Animation.prototype, \"needsScrub\", {\n /**\n * Indicates whether the animation needs to be scrubbed.\n * @returns `true` if the animation needs to be scrubbed, `false` otherwise.\n */\n get: function () {\n return this.scrubTo !== null;\n },\n enumerable: false,\n configurable: true\n });\n /**\n * Advances the animation by the give time. If the animation needs scrubbing,\n * time is ignored and the stored scrub value is used.\n * @param time the time to advance the animation by if no scrubbing required\n */\n Animation.prototype.advance = function (time) {\n if (this.scrubTo === null) {\n this.instance.advance(time);\n }\n else {\n this.instance.time = 0;\n this.instance.advance(this.scrubTo);\n this.scrubTo = null;\n }\n };\n /**\n * Apply interpolated keyframe values to the artboard. This should be called after calling\n * .advance() on an animation instance so that new values are applied to properties.\n *\n * Note: This does not advance the artboard, which updates all objects on the artboard\n * @param mix - Mix value for the animation from 0 to 1\n */\n Animation.prototype.apply = function (mix) {\n this.instance.apply(mix);\n };\n /**\n * Deletes the backing Wasm animation instance; once this is called, this\n * animation is no more.\n */\n Animation.prototype.cleanup = function () {\n this.instance.delete();\n };\n return Animation;\n}());\n\n\n\n/***/ }),\n/* 5 */\n/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {\n\n__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ BLANK_URL: () => (/* reexport safe */ _sanitizeUrl__WEBPACK_IMPORTED_MODULE_1__.BLANK_URL),\n/* harmony export */ registerTouchInteractions: () => (/* reexport safe */ _registerTouchInteractions__WEBPACK_IMPORTED_MODULE_0__.registerTouchInteractions),\n/* harmony export */ sanitizeUrl: () => (/* reexport safe */ _sanitizeUrl__WEBPACK_IMPORTED_MODULE_1__.sanitizeUrl)\n/* harmony export */ });\n/* harmony import */ var _registerTouchInteractions__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(6);\n/* harmony import */ var _sanitizeUrl__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(7);\n\n\n\n\n/***/ }),\n/* 6 */\n/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {\n\n__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ registerTouchInteractions: () => (/* binding */ registerTouchInteractions)\n/* harmony export */ });\nvar _this = undefined;\n/**\n * Returns the clientX and clientY properties from touch or mouse events. Also\n * calls preventDefault() on the event if it is a touchstart or touchmove to prevent\n * scrolling the page on mobile devices\n * @param event - Either a TouchEvent or a MouseEvent\n * @returns - Coordinates of the clientX and clientY properties from the touch/mouse event\n */\nvar getClientCoordinates = function (event, isTouchScrollEnabled) {\n var _a, _b;\n if ([\"touchstart\", \"touchmove\"].indexOf(event.type) > -1 &&\n ((_a = event.touches) === null || _a === void 0 ? void 0 : _a.length)) {\n // This flag, if false, prevents touch events on the canvas default behavior\n // which may prevent scrolling if a drag motion on the canvas is performed\n if (!isTouchScrollEnabled) {\n event.preventDefault();\n }\n return {\n clientX: event.touches[0].clientX,\n clientY: event.touches[0].clientY,\n };\n }\n else if (event.type === \"touchend\" &&\n ((_b = event.changedTouches) === null || _b === void 0 ? void 0 : _b.length)) {\n return {\n clientX: event.changedTouches[0].clientX,\n clientY: event.changedTouches[0].clientY,\n };\n }\n else {\n return {\n clientX: event.clientX,\n clientY: event.clientY,\n };\n }\n};\n/**\n * Registers mouse move/up/down callback handlers on the canvas to send meaningful coordinates to\n * the state machine pointer move/up/down functions based on cursor interaction\n */\nvar registerTouchInteractions = function (_a) {\n var canvas = _a.canvas, artboard = _a.artboard, _b = _a.stateMachines, stateMachines = _b === void 0 ? [] : _b, renderer = _a.renderer, rive = _a.rive, fit = _a.fit, alignment = _a.alignment, _c = _a.isTouchScrollEnabled, isTouchScrollEnabled = _c === void 0 ? false : _c, _d = _a.layoutScaleFactor, layoutScaleFactor = _d === void 0 ? 1.0 : _d;\n if (!canvas ||\n !stateMachines.length ||\n !renderer ||\n !rive ||\n !artboard ||\n typeof window === \"undefined\") {\n return null;\n }\n /**\n * After a touchend event, some browsers may fire synthetic mouse events\n * (mouseover, mousedown, mousemove, mouseup) if the touch interaction did not cause\n * any default action (such as scrolling).\n *\n * This is done to simulate the behavior of a mouse for applications that do not support\n * touch events.\n *\n * We're keeping track of the previous event to not send the synthetic mouse events if the\n * touch event was a click (touchstart -> touchend).\n *\n * This is only needed when `isTouchScrollEnabled` is false\n * When true, `preventDefault()` is called which prevents this behaviour.\n **/\n var _prevEventType = null;\n var _syntheticEventsActive = false;\n var processEventCallback = function (event) {\n // Exit early out of all synthetic mouse events\n // https://stackoverflow.com/questions/9656990/how-to-prevent-simulated-mouse-events-in-mobile-browsers\n // https://stackoverflow.com/questions/25572070/javascript-touchend-versus-click-dilemma\n if (_syntheticEventsActive && event instanceof MouseEvent) {\n // Synthetic event finished\n if (event.type == \"mouseup\") {\n _syntheticEventsActive = false;\n }\n return;\n }\n // Test if it's a \"touch click\". This could cause the browser to send\n // synthetic mouse events.\n _syntheticEventsActive =\n isTouchScrollEnabled &&\n event.type === \"touchend\" &&\n _prevEventType === \"touchstart\";\n _prevEventType = event.type;\n var boundingRect = event.currentTarget.getBoundingClientRect();\n var _a = getClientCoordinates(event, isTouchScrollEnabled), clientX = _a.clientX, clientY = _a.clientY;\n if (!clientX && !clientY) {\n return;\n }\n var canvasX = clientX - boundingRect.left;\n var canvasY = clientY - boundingRect.top;\n var forwardMatrix = rive.computeAlignment(fit, alignment, {\n minX: 0,\n minY: 0,\n maxX: boundingRect.width,\n maxY: boundingRect.height,\n }, artboard.bounds, layoutScaleFactor);\n var invertedMatrix = new rive.Mat2D();\n forwardMatrix.invert(invertedMatrix);\n var canvasCoordinatesVector = new rive.Vec2D(canvasX, canvasY);\n var transformedVector = rive.mapXY(invertedMatrix, canvasCoordinatesVector);\n var transformedX = transformedVector.x();\n var transformedY = transformedVector.y();\n transformedVector.delete();\n invertedMatrix.delete();\n canvasCoordinatesVector.delete();\n forwardMatrix.delete();\n switch (event.type) {\n /**\n * There's a 2px buffer for a hitRadius when translating the pointer coordinates\n * down to the state machine. In cases where the hitbox is about that much away\n * from the Artboard border, we don't have exact precision on determining pointer\n * exit. We're therefore adding to the translated coordinates on mouseout of a canvas\n * to ensure that we report the mouse has truly exited the hitarea.\n * https://github.com/rive-app/rive-cpp/blob/master/src/animation/state_machine_instance.cpp#L336\n *\n * We add/subtract 10000 to account for when the graphic goes beyond the canvas bound\n * due to for example, a fit: 'cover'. Not perfect, but helps reliably (for now) ensure\n * we report going out of bounds when the mouse is out of the canvas\n */\n case \"mouseout\":\n for (var _i = 0, stateMachines_1 = stateMachines; _i < stateMachines_1.length; _i++) {\n var stateMachine = stateMachines_1[_i];\n stateMachine.pointerMove(transformedX, transformedY);\n }\n break;\n // Pointer moving/hovering on the canvas\n case \"touchmove\":\n case \"mouseover\":\n case \"mousemove\": {\n for (var _b = 0, stateMachines_2 = stateMachines; _b < stateMachines_2.length; _b++) {\n var stateMachine = stateMachines_2[_b];\n stateMachine.pointerMove(transformedX, transformedY);\n }\n break;\n }\n // Pointer click initiated but not released yet on the canvas\n case \"touchstart\":\n case \"mousedown\": {\n for (var _c = 0, stateMachines_3 = stateMachines; _c < stateMachines_3.length; _c++) {\n var stateMachine = stateMachines_3[_c];\n stateMachine.pointerDown(transformedX, transformedY);\n }\n break;\n }\n // Pointer click released on the canvas\n case \"touchend\":\n case \"mouseup\": {\n for (var _d = 0, stateMachines_4 = stateMachines; _d < stateMachines_4.length; _d++) {\n var stateMachine = stateMachines_4[_d];\n stateMachine.pointerUp(transformedX, transformedY);\n }\n break;\n }\n default:\n }\n };\n var callback = processEventCallback.bind(_this);\n canvas.addEventListener(\"mouseover\", callback);\n canvas.addEventListener(\"mouseout\", callback);\n canvas.addEventListener(\"mousemove\", callback);\n canvas.addEventListener(\"mousedown\", callback);\n canvas.addEventListener(\"mouseup\", callback);\n canvas.addEventListener(\"touchmove\", callback, {\n passive: isTouchScrollEnabled,\n });\n canvas.addEventListener(\"touchstart\", callback, {\n passive: isTouchScrollEnabled,\n });\n canvas.addEventListener(\"touchend\", callback);\n return function () {\n canvas.removeEventListener(\"mouseover\", callback);\n canvas.removeEventListener(\"mouseout\", callback);\n canvas.removeEventListener(\"mousemove\", callback);\n canvas.removeEventListener(\"mousedown\", callback);\n canvas.removeEventListener(\"mouseup\", callback);\n canvas.removeEventListener(\"touchmove\", callback);\n canvas.removeEventListener(\"touchstart\", callback);\n canvas.removeEventListener(\"touchend\", callback);\n };\n};\n\n\n/***/ }),\n/* 7 */\n/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {\n\n__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ BLANK_URL: () => (/* binding */ BLANK_URL),\n/* harmony export */ sanitizeUrl: () => (/* binding */ sanitizeUrl)\n/* harmony export */ });\n// Reference: https://github.com/braintree/sanitize-url/tree/main\nvar invalidProtocolRegex = /^([^\\w]*)(javascript|data|vbscript)/im;\nvar htmlEntitiesRegex = /&#(\\w+)(^\\w|;)?/g;\nvar htmlCtrlEntityRegex = /&(newline|tab);/gi;\nvar ctrlCharactersRegex = /[\\u0000-\\u001F\\u007F-\\u009F\\u2000-\\u200D\\uFEFF]/gim;\nvar urlSchemeRegex = /^.+(:|:)/gim;\nvar relativeFirstCharacters = [\".\", \"/\"];\nvar BLANK_URL = \"about:blank\";\nfunction isRelativeUrlWithoutProtocol(url) {\n return relativeFirstCharacters.indexOf(url[0]) > -1;\n}\n// adapted from https://stackoverflow.com/a/29824550/2601552\nfunction decodeHtmlCharacters(str) {\n var removedNullByte = str.replace(ctrlCharactersRegex, \"\");\n return removedNullByte.replace(htmlEntitiesRegex, function (match, dec) {\n return String.fromCharCode(dec);\n });\n}\nfunction sanitizeUrl(url) {\n if (!url) {\n return BLANK_URL;\n }\n var sanitizedUrl = decodeHtmlCharacters(url)\n .replace(htmlCtrlEntityRegex, \"\")\n .replace(ctrlCharactersRegex, \"\")\n .trim();\n if (!sanitizedUrl) {\n return BLANK_URL;\n }\n if (isRelativeUrlWithoutProtocol(sanitizedUrl)) {\n return sanitizedUrl;\n }\n var urlSchemeParseResults = sanitizedUrl.match(urlSchemeRegex);\n if (!urlSchemeParseResults) {\n return sanitizedUrl;\n }\n var urlScheme = urlSchemeParseResults[0];\n if (invalidProtocolRegex.test(urlScheme)) {\n return BLANK_URL;\n }\n return sanitizedUrl;\n}\n\n\n/***/ })\n/******/ \t]);\n/************************************************************************/\n/******/ \t// The module cache\n/******/ \tvar __webpack_module_cache__ = {};\n/******/ \t\n/******/ \t// The require function\n/******/ \tfunction __webpack_require__(moduleId) {\n/******/ \t\t// Check if module is in cache\n/******/ \t\tvar cachedModule = __webpack_module_cache__[moduleId];\n/******/ \t\tif (cachedModule !== undefined) {\n/******/ \t\t\treturn cachedModule.exports;\n/******/ \t\t}\n/******/ \t\t// Create a new module (and put it into the cache)\n/******/ \t\tvar module = __webpack_module_cache__[moduleId] = {\n/******/ \t\t\t// no module.id needed\n/******/ \t\t\t// no module.loaded needed\n/******/ \t\t\texports: {}\n/******/ \t\t};\n/******/ \t\n/******/ \t\t// Execute the module function\n/******/ \t\t__webpack_modules__[moduleId](module, module.exports, __webpack_require__);\n/******/ \t\n/******/ \t\t// Return the exports of the module\n/******/ \t\treturn module.exports;\n/******/ \t}\n/******/ \t\n/************************************************************************/\n/******/ \t/* webpack/runtime/define property getters */\n/******/ \t(() => {\n/******/ \t\t// define getter functions for harmony exports\n/******/ \t\t__webpack_require__.d = (exports, definition) => {\n/******/ \t\t\tfor(var key in definition) {\n/******/ \t\t\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n/******/ \t\t\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n/******/ \t\t\t\t}\n/******/ \t\t\t}\n/******/ \t\t};\n/******/ \t})();\n/******/ \t\n/******/ \t/* webpack/runtime/hasOwnProperty shorthand */\n/******/ \t(() => {\n/******/ \t\t__webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))\n/******/ \t})();\n/******/ \t\n/******/ \t/* webpack/runtime/make namespace object */\n/******/ \t(() => {\n/******/ \t\t// define __esModule on exports\n/******/ \t\t__webpack_require__.r = (exports) => {\n/******/ \t\t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n/******/ \t\t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n/******/ \t\t\t}\n/******/ \t\t\tObject.defineProperty(exports, '__esModule', { value: true });\n/******/ \t\t};\n/******/ \t})();\n/******/ \t\n/************************************************************************/\nvar __webpack_exports__ = {};\n// This entry needs to be wrapped in an IIFE because it needs to be isolated against other modules in the chunk.\n(() => {\n__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ Alignment: () => (/* binding */ Alignment),\n/* harmony export */ EventType: () => (/* binding */ EventType),\n/* harmony export */ Fit: () => (/* binding */ Fit),\n/* harmony export */ Layout: () => (/* binding */ Layout),\n/* harmony export */ LoopType: () => (/* binding */ LoopType),\n/* harmony export */ Rive: () => (/* binding */ Rive),\n/* harmony export */ RiveEventType: () => (/* binding */ RiveEventType),\n/* harmony export */ RiveFile: () => (/* binding */ RiveFile),\n/* harmony export */ RuntimeLoader: () => (/* binding */ RuntimeLoader),\n/* harmony export */ StateMachineInput: () => (/* binding */ StateMachineInput),\n/* harmony export */ StateMachineInputType: () => (/* binding */ StateMachineInputType),\n/* harmony export */ Testing: () => (/* binding */ Testing),\n/* harmony export */ decodeAudio: () => (/* binding */ decodeAudio),\n/* harmony export */ decodeFont: () => (/* binding */ decodeFont),\n/* harmony export */ decodeImage: () => (/* binding */ decodeImage)\n/* harmony export */ });\n/* harmony import */ var _rive_advanced_mjs__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(1);\n/* harmony import */ var package_json__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(2);\n/* harmony import */ var _animation__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(3);\n/* harmony import */ var _utils__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(5);\nvar __extends = (undefined && undefined.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n if (typeof b !== \"function\" && b !== null)\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nvar __awaiter = (undefined && undefined.__awaiter) || function (thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\nvar __generator = (undefined && undefined.__generator) || function (thisArg, body) {\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g = Object.create((typeof Iterator === \"function\" ? Iterator : Object).prototype);\n return g.next = verb(0), g[\"throw\"] = verb(1), g[\"return\"] = verb(2), typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\n function verb(n) { return function (v) { return step([n, v]); }; }\n function step(op) {\n if (f) throw new TypeError(\"Generator is already executing.\");\n while (g && (g = 0, op[0] && (_ = 0)), _) try {\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\n if (y = 0, t) op = [op[0] & 2, t.value];\n switch (op[0]) {\n case 0: case 1: t = op; break;\n case 4: _.label++; return { value: op[1], done: false };\n case 5: _.label++; y = op[1]; op = [0]; continue;\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\n default:\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\n if (t[2]) _.ops.pop();\n _.trys.pop(); continue;\n }\n op = body.call(thisArg, _);\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\n }\n};\n\n\n\n\nvar RiveError = /** @class */ (function (_super) {\n __extends(RiveError, _super);\n function RiveError() {\n var _this = _super !== null && _super.apply(this, arguments) || this;\n _this.isHandledError = true;\n return _this;\n }\n return RiveError;\n}(Error));\n// #regions helpers\nvar resolveErrorMessage = function (error) {\n return error && error.isHandledError\n ? error.message\n : \"Problem loading file; may be corrupt!\";\n};\n// #region layout\n// Fit options for the canvas\nvar Fit;\n(function (Fit) {\n Fit[\"Cover\"] = \"cover\";\n Fit[\"Contain\"] = \"contain\";\n Fit[\"Fill\"] = \"fill\";\n Fit[\"FitWidth\"] = \"fitWidth\";\n Fit[\"FitHeight\"] = \"fitHeight\";\n Fit[\"None\"] = \"none\";\n Fit[\"ScaleDown\"] = \"scaleDown\";\n Fit[\"Layout\"] = \"layout\";\n})(Fit || (Fit = {}));\n// Alignment options for the canvas\nvar Alignment;\n(function (Alignment) {\n Alignment[\"Center\"] = \"center\";\n Alignment[\"TopLeft\"] = \"topLeft\";\n Alignment[\"TopCenter\"] = \"topCenter\";\n Alignment[\"TopRight\"] = \"topRight\";\n Alignment[\"CenterLeft\"] = \"centerLeft\";\n Alignment[\"CenterRight\"] = \"centerRight\";\n Alignment[\"BottomLeft\"] = \"bottomLeft\";\n Alignment[\"BottomCenter\"] = \"bottomCenter\";\n Alignment[\"BottomRight\"] = \"bottomRight\";\n})(Alignment || (Alignment = {}));\n// Alignment options for Rive animations in a HTML canvas\nvar Layout = /** @class */ (function () {\n function Layout(params) {\n var _a, _b, _c, _d, _e, _f, _g;\n this.fit = (_a = params === null || params === void 0 ? void 0 : params.fit) !== null && _a !== void 0 ? _a : Fit.Contain;\n this.alignment = (_b = params === null || params === void 0 ? void 0 : params.alignment) !== null && _b !== void 0 ? _b : Alignment.Center;\n this.layoutScaleFactor = (_c = params === null || params === void 0 ? void 0 : params.layoutScaleFactor) !== null && _c !== void 0 ? _c : 1;\n this.minX = (_d = params === null || params === void 0 ? void 0 : params.minX) !== null && _d !== void 0 ? _d : 0;\n this.minY = (_e = params === null || params === void 0 ? void 0 : params.minY) !== null && _e !== void 0 ? _e : 0;\n this.maxX = (_f = params === null || params === void 0 ? void 0 : params.maxX) !== null && _f !== void 0 ? _f : 0;\n this.maxY = (_g = params === null || params === void 0 ? void 0 : params.maxY) !== null && _g !== void 0 ? _g : 0;\n }\n // Alternative constructor to build a Layout from an interface/object\n Layout.new = function (_a) {\n var fit = _a.fit, alignment = _a.alignment, minX = _a.minX, minY = _a.minY, maxX = _a.maxX, maxY = _a.maxY;\n console.warn(\"This function is deprecated: please use `new Layout({})` instead\");\n return new Layout({ fit: fit, alignment: alignment, minX: minX, minY: minY, maxX: maxX, maxY: maxY });\n };\n /**\n * Makes a copy of the layout, replacing any specified parameters\n */\n Layout.prototype.copyWith = function (_a) {\n var fit = _a.fit, alignment = _a.alignment, layoutScaleFactor = _a.layoutScaleFactor, minX = _a.minX, minY = _a.minY, maxX = _a.maxX, maxY = _a.maxY;\n return new Layout({\n fit: fit !== null && fit !== void 0 ? fit : this.fit,\n alignment: alignment !== null && alignment !== void 0 ? alignment : this.alignment,\n layoutScaleFactor: layoutScaleFactor !== null && layoutScaleFactor !== void 0 ? layoutScaleFactor : this.layoutScaleFactor,\n minX: minX !== null && minX !== void 0 ? minX : this.minX,\n minY: minY !== null && minY !== void 0 ? minY : this.minY,\n maxX: maxX !== null && maxX !== void 0 ? maxX : this.maxX,\n maxY: maxY !== null && maxY !== void 0 ? maxY : this.maxY,\n });\n };\n // Returns fit for the Wasm runtime format\n Layout.prototype.runtimeFit = function (rive) {\n if (this.cachedRuntimeFit)\n return this.cachedRuntimeFit;\n var fit;\n if (this.fit === Fit.Cover)\n fit = rive.Fit.cover;\n else if (this.fit === Fit.Contain)\n fit = rive.Fit.contain;\n else if (this.fit === Fit.Fill)\n fit = rive.Fit.fill;\n else if (this.fit === Fit.FitWidth)\n fit = rive.Fit.fitWidth;\n else if (this.fit === Fit.FitHeight)\n fit = rive.Fit.fitHeight;\n else if (this.fit === Fit.ScaleDown)\n fit = rive.Fit.scaleDown;\n else if (this.fit === Fit.Layout)\n fit = rive.Fit.layout;\n else\n fit = rive.Fit.none;\n this.cachedRuntimeFit = fit;\n return fit;\n };\n // Returns alignment for the Wasm runtime format\n Layout.prototype.runtimeAlignment = function (rive) {\n if (this.cachedRuntimeAlignment)\n return this.cachedRuntimeAlignment;\n var alignment;\n if (this.alignment === Alignment.TopLeft)\n alignment = rive.Alignment.topLeft;\n else if (this.alignment === Alignment.TopCenter)\n alignment = rive.Alignment.topCenter;\n else if (this.alignment === Alignment.TopRight)\n alignment = rive.Alignment.topRight;\n else if (this.alignment === Alignment.CenterLeft)\n alignment = rive.Alignment.centerLeft;\n else if (this.alignment === Alignment.CenterRight)\n alignment = rive.Alignment.centerRight;\n else if (this.alignment === Alignment.BottomLeft)\n alignment = rive.Alignment.bottomLeft;\n else if (this.alignment === Alignment.BottomCenter)\n alignment = rive.Alignment.bottomCenter;\n else if (this.alignment === Alignment.BottomRight)\n alignment = rive.Alignment.bottomRight;\n else\n alignment = rive.Alignment.center;\n this.cachedRuntimeAlignment = alignment;\n return alignment;\n };\n return Layout;\n}());\n\n// Runtime singleton; use getInstance to provide a callback that returns the\n// Rive runtime\nvar RuntimeLoader = /** @class */ (function () {\n // Class is never instantiated\n function RuntimeLoader() {\n }\n // Loads the runtime\n RuntimeLoader.loadRuntime = function () {\n _rive_advanced_mjs__WEBPACK_IMPORTED_MODULE_0__[\"default\"]({\n // Loads Wasm bundle\n locateFile: function () { return RuntimeLoader.wasmURL; },\n })\n .then(function (rive) {\n var _a;\n RuntimeLoader.runtime = rive;\n // Fire all the callbacks\n while (RuntimeLoader.callBackQueue.length > 0) {\n (_a = RuntimeLoader.callBackQueue.shift()) === null || _a === void 0 ? void 0 : _a(RuntimeLoader.runtime);\n }\n })\n .catch(function (error) {\n // Capture specific error details\n var errorDetails = {\n message: (error === null || error === void 0 ? void 0 : error.message) || \"Unknown error\",\n type: (error === null || error === void 0 ? void 0 : error.name) || \"Error\",\n // Some browsers may provide additional WebAssembly-specific details\n wasmError: error instanceof WebAssembly.CompileError ||\n error instanceof WebAssembly.RuntimeError,\n originalError: error,\n };\n // Log detailed error for debugging\n console.debug(\"Rive WASM load error details:\", errorDetails);\n // In case unpkg fails, or the wasm was not supported, we try to load the fallback module from jsdelivr.\n // This `rive_fallback.wasm` is compiled to support older architecture.\n // TODO: (Gordon): preemptively test browser support and load the correct wasm file. Then use jsdelvr only if unpkg fails.\n var backupJsdelivrUrl = \"https://cdn.jsdelivr.net/npm/\".concat(package_json__WEBPACK_IMPORTED_MODULE_1__.name, \"@\").concat(package_json__WEBPACK_IMPORTED_MODULE_1__.version, \"/rive_fallback.wasm\");\n if (RuntimeLoader.wasmURL.toLowerCase() !== backupJsdelivrUrl) {\n console.warn(\"Failed to load WASM from \".concat(RuntimeLoader.wasmURL, \" (\").concat(errorDetails.message, \"), trying jsdelivr as a backup\"));\n RuntimeLoader.setWasmUrl(backupJsdelivrUrl);\n RuntimeLoader.loadRuntime();\n }\n else {\n var errorMessage = [\n \"Could not load Rive WASM file from \".concat(RuntimeLoader.wasmURL, \" or \").concat(backupJsdelivrUrl, \".\"),\n \"Possible reasons:\",\n \"- Network connection is down\",\n \"- WebAssembly is not supported in this environment\",\n \"- The WASM file is corrupted or incompatible\",\n \"\\nError details:\",\n \"- Type: \".concat(errorDetails.type),\n \"- Message: \".concat(errorDetails.message),\n \"- WebAssembly-specific error: \".concat(errorDetails.wasmError),\n \"\\nTo resolve, you may need to:\",\n \"1. Check your network connection\",\n \"2. Set a new WASM source via RuntimeLoader.setWasmUrl()\",\n \"3. Call RuntimeLoader.loadRuntime() again\",\n ].join(\"\\n\");\n console.error(errorMessage);\n }\n });\n };\n // Provides a runtime instance via a callback\n RuntimeLoader.getInstance = function (callback) {\n // If it's not loading, start loading runtime\n if (!RuntimeLoader.isLoading) {\n RuntimeLoader.isLoading = true;\n RuntimeLoader.loadRuntime();\n }\n if (!RuntimeLoader.runtime) {\n RuntimeLoader.callBackQueue.push(callback);\n }\n else {\n callback(RuntimeLoader.runtime);\n }\n };\n // Provides a runtime instance via a promise\n RuntimeLoader.awaitInstance = function () {\n return new Promise(function (resolve) {\n return RuntimeLoader.getInstance(function (rive) { return resolve(rive); });\n });\n };\n // Manually sets the wasm url\n RuntimeLoader.setWasmUrl = function (url) {\n RuntimeLoader.wasmURL = url;\n };\n // Gets the current wasm url\n RuntimeLoader.getWasmUrl = function () {\n return RuntimeLoader.wasmURL;\n };\n // Flag to indicate that loading has started/completed\n RuntimeLoader.isLoading = false;\n // List of callbacks for the runtime that come in while loading\n RuntimeLoader.callBackQueue = [];\n // Path to the Wasm file; default path works for testing only;\n // if embedded wasm is used then this is never used.\n RuntimeLoader.wasmURL = \"https://unpkg.com/\".concat(package_json__WEBPACK_IMPORTED_MODULE_1__.name, \"@\").concat(package_json__WEBPACK_IMPORTED_MODULE_1__.version, \"/rive.wasm\");\n return RuntimeLoader;\n}());\n\n// #endregion\n// #region state machines\nvar StateMachineInputType;\n(function (StateMachineInputType) {\n StateMachineInputType[StateMachineInputType[\"Number\"] = 56] = \"Number\";\n StateMachineInputType[StateMachineInputType[\"Trigger\"] = 58] = \"Trigger\";\n StateMachineInputType[StateMachineInputType[\"Boolean\"] = 59] = \"Boolean\";\n})(StateMachineInputType || (StateMachineInputType = {}));\n/**\n * An input for a state machine\n */\nvar StateMachineInput = /** @class */ (function () {\n function StateMachineInput(type, runtimeInput) {\n this.type = type;\n this.runtimeInput = runtimeInput;\n }\n Object.defineProperty(StateMachineInput.prototype, \"name\", {\n /**\n * Returns the name of the input\n */\n get: function () {\n return this.runtimeInput.name;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(StateMachineInput.prototype, \"value\", {\n /**\n * Returns the current value of the input\n */\n get: function () {\n return this.runtimeInput.value;\n },\n /**\n * Sets the value of the input\n */\n set: function (value) {\n this.runtimeInput.value = value;\n },\n enumerable: false,\n configurable: true\n });\n /**\n * Fires a trigger; does nothing on Number or Boolean input types\n */\n StateMachineInput.prototype.fire = function () {\n if (this.type === StateMachineInputType.Trigger) {\n this.runtimeInput.fire();\n }\n };\n /**\n * Deletes the input\n */\n StateMachineInput.prototype.delete = function () {\n this.runtimeInput = null;\n };\n return StateMachineInput;\n}());\n\nvar RiveEventType;\n(function (RiveEventType) {\n RiveEventType[RiveEventType[\"General\"] = 128] = \"General\";\n RiveEventType[RiveEventType[\"OpenUrl\"] = 131] = \"OpenUrl\";\n})(RiveEventType || (RiveEventType = {}));\nvar StateMachine = /** @class */ (function () {\n /**\n * @constructor\n * @param stateMachine runtime state machine object\n * @param instance runtime state machine instance object\n */\n function StateMachine(stateMachine, runtime, playing, artboard) {\n this.stateMachine = stateMachine;\n this.playing = playing;\n this.artboard = artboard;\n /**\n * Caches the inputs from the runtime\n */\n this.inputs = [];\n this.instance = new runtime.StateMachineInstance(stateMachine, artboard);\n this.initInputs(runtime);\n }\n Object.defineProperty(StateMachine.prototype, \"name\", {\n get: function () {\n return this.stateMachine.name;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(StateMachine.prototype, \"statesChanged\", {\n /**\n * Returns a list of state names that have changed on this frame\n */\n get: function () {\n var names = [];\n for (var i = 0; i < this.instance.stateChangedCount(); i++) {\n names.push(this.instance.stateChangedNameByIndex(i));\n }\n return names;\n },\n enumerable: false,\n configurable: true\n });\n /**\n * Advances the state machine instance by a given time.\n * @param time - the time to advance the animation by in seconds\n */\n StateMachine.prototype.advance = function (time) {\n this.instance.advance(time);\n };\n /**\n * Advances the state machine instance by a given time and apply changes to artboard.\n * @param time - the time to advance the animation by in seconds\n */\n StateMachine.prototype.advanceAndApply = function (time) {\n this.instance.advanceAndApply(time);\n };\n /**\n * Returns the number of events reported from the last advance call\n * @returns Number of events reported\n */\n StateMachine.prototype.reportedEventCount = function () {\n return this.instance.reportedEventCount();\n };\n /**\n * Returns a RiveEvent object emitted from the last advance call at the given index\n * of a list of potentially multiple events. If an event at the index is not found,\n * undefined is returned.\n * @param i index of the event reported in a list of potentially multiple events\n * @returns RiveEvent or extended RiveEvent object returned, or undefined\n */\n StateMachine.prototype.reportedEventAt = function (i) {\n return this.instance.reportedEventAt(i);\n };\n /**\n * Fetches references to the state machine's inputs and caches them\n * @param runtime an instance of the runtime; needed for the SMIInput types\n */\n StateMachine.prototype.initInputs = function (runtime) {\n // Fetch the inputs from the runtime if we don't have them\n for (var i = 0; i < this.instance.inputCount(); i++) {\n var input = this.instance.input(i);\n this.inputs.push(this.mapRuntimeInput(input, runtime));\n }\n };\n /**\n * Maps a runtime input to it's appropriate type\n * @param input\n */\n StateMachine.prototype.mapRuntimeInput = function (input, runtime) {\n if (input.type === runtime.SMIInput.bool) {\n return new StateMachineInput(StateMachineInputType.Boolean, input.asBool());\n }\n else if (input.type === runtime.SMIInput.number) {\n return new StateMachineInput(StateMachineInputType.Number, input.asNumber());\n }\n else if (input.type === runtime.SMIInput.trigger) {\n return new StateMachineInput(StateMachineInputType.Trigger, input.asTrigger());\n }\n };\n /**\n * Deletes the backing Wasm state machine instance; once this is called, this\n * state machine is no more.\n */\n StateMachine.prototype.cleanup = function () {\n this.inputs.forEach(function (input) {\n input.delete();\n });\n this.inputs.length = 0;\n this.instance.delete();\n };\n return StateMachine;\n}());\n// #endregion\n// #region animator\n/**\n * Manages animation\n */\nvar Animator = /** @class */ (function () {\n /**\n * Constructs a new animator\n * @constructor\n * @param runtime Rive runtime; needed to instance animations & state machines\n * @param artboard the artboard that holds all animations and state machines\n * @param animations optional list of animations\n * @param stateMachines optional list of state machines\n */\n function Animator(runtime, artboard, eventManager, animations, stateMachines) {\n if (animations === void 0) { animations = []; }\n if (stateMachines === void 0) { stateMachines = []; }\n this.runtime = runtime;\n this.artboard = artboard;\n this.eventManager = eventManager;\n this.animations = animations;\n this.stateMachines = stateMachines;\n }\n /**\n * Adds animations and state machines by their names. If names are shared\n * between animations & state machines, then the first one found will be\n * created. Best not to use the same names for these in your Rive file.\n * @param animatable the name(s) of animations and state machines to add\n * @returns a list of names of the playing animations and state machines\n */\n Animator.prototype.add = function (animatables, playing, fireEvent) {\n if (fireEvent === void 0) { fireEvent = true; }\n animatables = mapToStringArray(animatables);\n // If animatables is empty, play or pause everything\n if (animatables.length === 0) {\n this.animations.forEach(function (a) { return (a.playing = playing); });\n this.stateMachines.forEach(function (m) { return (m.playing = playing); });\n }\n else {\n // Play/pause already instanced items, or create new instances\n var instancedAnimationNames = this.animations.map(function (a) { return a.name; });\n var instancedMachineNames = this.stateMachines.map(function (m) { return m.name; });\n for (var i = 0; i < animatables.length; i++) {\n var aIndex = instancedAnimationNames.indexOf(animatables[i]);\n var mIndex = instancedMachineNames.indexOf(animatables[i]);\n if (aIndex >= 0 || mIndex >= 0) {\n if (aIndex >= 0) {\n // Animation is instanced, play/pause it\n this.animations[aIndex].playing = playing;\n }\n else {\n // State machine is instanced, play/pause it\n this.stateMachines[mIndex].playing = playing;\n }\n }\n else {\n // Try to create a new animation instance\n var anim = this.artboard.animationByName(animatables[i]);\n if (anim) {\n var newAnimation = new _animation__WEBPACK_IMPORTED_MODULE_2__.Animation(anim, this.artboard, this.runtime, playing);\n // Display the first frame of the specified animation\n newAnimation.advance(0);\n newAnimation.apply(1.0);\n this.animations.push(newAnimation);\n }\n else {\n // Try to create a new state machine instance\n var sm = this.artboard.stateMachineByName(animatables[i]);\n if (sm) {\n var newStateMachine = new StateMachine(sm, this.runtime, playing, this.artboard);\n this.stateMachines.push(newStateMachine);\n }\n }\n }\n }\n }\n // Fire play/paused events for animations\n if (fireEvent) {\n if (playing) {\n this.eventManager.fire({\n type: EventType.Play,\n data: this.playing,\n });\n }\n else {\n this.eventManager.fire({\n type: EventType.Pause,\n data: this.paused,\n });\n }\n }\n return playing ? this.playing : this.paused;\n };\n /**\n * Adds linear animations by their names.\n * @param animatables the name(s) of animations to add\n * @param playing whether animations should play on instantiation\n */\n Animator.prototype.initLinearAnimations = function (animatables, playing) {\n // Play/pause already instanced items, or create new instances\n // This validation is kept to maintain compatibility with current behavior.\n // But given that it this is called during artboard initialization\n // it should probably be safe to remove.\n var instancedAnimationNames = this.animations.map(function (a) { return a.name; });\n for (var i = 0; i < animatables.length; i++) {\n var aIndex = instancedAnimationNames.indexOf(animatables[i]);\n if (aIndex >= 0) {\n this.animations[aIndex].playing = playing;\n }\n else {\n // Try to create a new animation instance\n var anim = this.artboard.animationByName(animatables[i]);\n if (anim) {\n var newAnimation = new _animation__WEBPACK_IMPORTED_MODULE_2__.Animation(anim, this.artboard, this.runtime, playing);\n // Display the first frame of the specified animation\n newAnimation.advance(0);\n newAnimation.apply(1.0);\n this.animations.push(newAnimation);\n }\n }\n }\n };\n /**\n * Adds state machines by their names.\n * @param animatables the name(s) of state machines to add\n * @param playing whether state machines should play on instantiation\n */\n Animator.prototype.initStateMachines = function (animatables, playing) {\n // Play/pause already instanced items, or create new instances\n // This validation is kept to maintain compatibility with current behavior.\n // But given that it this is called during artboard initialization\n // it should probably be safe to remove.\n var instancedStateMachineNames = this.stateMachines.map(function (a) { return a.name; });\n for (var i = 0; i < animatables.length; i++) {\n var aIndex = instancedStateMachineNames.indexOf(animatables[i]);\n if (aIndex >= 0) {\n this.stateMachines[aIndex].playing = playing;\n }\n else {\n // Try to create a new state machine instance\n var sm = this.artboard.stateMachineByName(animatables[i]);\n if (sm) {\n var newStateMachine = new StateMachine(sm, this.runtime, playing, this.artboard);\n this.stateMachines.push(newStateMachine);\n }\n else {\n // In order to maintain compatibility with current behavior, if a state machine is not found\n // we look for an animation with the same name\n this.initLinearAnimations([animatables[i]], playing);\n }\n }\n }\n };\n /**\n * Play the named animations/state machines\n * @param animatables the names of the animations/machines to play; plays all if empty\n * @returns a list of the playing items\n */\n Animator.prototype.play = function (animatables) {\n return this.add(animatables, true);\n };\n /**\n * Pauses named animations and state machines, or everything if nothing is\n * specified\n * @param animatables names of the animations and state machines to pause\n * @returns a list of names of the animations and state machines paused\n */\n Animator.prototype.pause = function (animatables) {\n return this.add(animatables, false);\n };\n /**\n * Set time of named animations\n * @param animations names of the animations to scrub\n * @param value time scrub value, a floating point number to which the playhead is jumped\n * @returns a list of names of the animations that were scrubbed\n */\n Animator.prototype.scrub = function (animatables, value) {\n var forScrubbing = this.animations.filter(function (a) {\n return animatables.includes(a.name);\n });\n forScrubbing.forEach(function (a) { return (a.scrubTo = value); });\n return forScrubbing.map(function (a) { return a.name; });\n };\n Object.defineProperty(Animator.prototype, \"playing\", {\n /**\n * Returns a list of names of all animations and state machines currently\n * playing\n */\n get: function () {\n return this.animations\n .filter(function (a) { return a.playing; })\n .map(function (a) { return a.name; })\n .concat(this.stateMachines.filter(function (m) { return m.playing; }).map(function (m) { return m.name; }));\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(Animator.prototype, \"paused\", {\n /**\n * Returns a list of names of all animations and state machines currently\n * paused\n */\n get: function () {\n return this.animations\n .filter(function (a) { return !a.playing; })\n .map(function (a) { return a.name; })\n .concat(this.stateMachines.filter(function (m) { return !m.playing; }).map(function (m) { return m.name; }));\n },\n enumerable: false,\n configurable: true\n });\n /**\n * Stops and removes all named animations and state machines\n * @param animatables animations and state machines to remove\n * @returns a list of names of removed items\n */\n Animator.prototype.stop = function (animatables) {\n var _this = this;\n animatables = mapToStringArray(animatables);\n // If nothing's specified, wipe them out, all of them\n var removedNames = [];\n // Stop everything\n if (animatables.length === 0) {\n removedNames = this.animations\n .map(function (a) { return a.name; })\n .concat(this.stateMachines.map(function (m) { return m.name; }));\n // Clean up before emptying the arrays\n this.animations.forEach(function (a) { return a.cleanup(); });\n this.stateMachines.forEach(function (m) { return m.cleanup(); });\n // Empty out the arrays\n this.animations.splice(0, this.animations.length);\n this.stateMachines.splice(0, this.stateMachines.length);\n }\n else {\n // Remove only the named animations/state machines\n var animationsToRemove = this.animations.filter(function (a) {\n return animatables.includes(a.name);\n });\n animationsToRemove.forEach(function (a) {\n a.cleanup();\n _this.animations.splice(_this.animations.indexOf(a), 1);\n });\n var machinesToRemove = this.stateMachines.filter(function (m) {\n return animatables.includes(m.name);\n });\n machinesToRemove.forEach(function (m) {\n m.cleanup();\n _this.stateMachines.splice(_this.stateMachines.indexOf(m), 1);\n });\n removedNames = animationsToRemove\n .map(function (a) { return a.name; })\n .concat(machinesToRemove.map(function (m) { return m.name; }));\n }\n this.eventManager.fire({\n type: EventType.Stop,\n data: removedNames,\n });\n // Return the list of animations removed\n return removedNames;\n };\n Object.defineProperty(Animator.prototype, \"isPlaying\", {\n /**\n * Returns true if at least one animation is active\n */\n get: function () {\n return (this.animations.reduce(function (acc, curr) { return acc || curr.playing; }, false) ||\n this.stateMachines.reduce(function (acc, curr) { return acc || curr.playing; }, false));\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(Animator.prototype, \"isPaused\", {\n /**\n * Returns true if all animations are paused and there's at least one animation\n */\n get: function () {\n return (!this.isPlaying &&\n (this.animations.length > 0 || this.stateMachines.length > 0));\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(Animator.prototype, \"isStopped\", {\n /**\n * Returns true if there are no playing or paused animations/state machines\n */\n get: function () {\n return this.animations.length === 0 && this.stateMachines.length === 0;\n },\n enumerable: false,\n configurable: true\n });\n /**\n * If there are no animations or state machines, add the first one found\n * @returns the name of the animation or state machine instanced\n */\n Animator.prototype.atLeastOne = function (playing, fireEvent) {\n if (fireEvent === void 0) { fireEvent = true; }\n var instancedName;\n if (this.animations.length === 0 && this.stateMachines.length === 0) {\n if (this.artboard.animationCount() > 0) {\n // Add the first animation\n this.add([(instancedName = this.artboard.animationByIndex(0).name)], playing, fireEvent);\n }\n else if (this.artboard.stateMachineCount() > 0) {\n // Add the first state machine\n this.add([(instancedName = this.artboard.stateMachineByIndex(0).name)], playing, fireEvent);\n }\n }\n return instancedName;\n };\n /**\n * Checks if any animations have looped and if so, fire the appropriate event\n */\n Animator.prototype.handleLooping = function () {\n for (var _i = 0, _a = this.animations.filter(function (a) { return a.playing; }); _i < _a.length; _i++) {\n var animation = _a[_i];\n // Emit if the animation looped\n if (animation.loopValue === 0 && animation.loopCount) {\n animation.loopCount = 0;\n // This is a one-shot; if it has ended, delete the instance\n this.stop(animation.name);\n }\n else if (animation.loopValue === 1 && animation.loopCount) {\n this.eventManager.fire({\n type: EventType.Loop,\n data: { animation: animation.name, type: LoopType.Loop },\n });\n animation.loopCount = 0;\n }\n // Wasm indicates a loop at each time the animation\n // changes direction, so a full loop/lap occurs every\n // two loop counts\n else if (animation.loopValue === 2 && animation.loopCount > 1) {\n this.eventManager.fire({\n type: EventType.Loop,\n data: { animation: animation.name, type: LoopType.PingPong },\n });\n animation.loopCount = 0;\n }\n }\n };\n /**\n * Checks if states have changed in state machines and fires a statechange\n * event\n */\n Animator.prototype.handleStateChanges = function () {\n var statesChanged = [];\n for (var _i = 0, _a = this.stateMachines.filter(function (sm) { return sm.playing; }); _i < _a.length; _i++) {\n var stateMachine = _a[_i];\n statesChanged.push.apply(statesChanged, stateMachine.statesChanged);\n }\n if (statesChanged.length > 0) {\n this.eventManager.fire({\n type: EventType.StateChange,\n data: statesChanged,\n });\n }\n };\n Animator.prototype.handleAdvancing = function (time) {\n this.eventManager.fire({\n type: EventType.Advance,\n data: time,\n });\n };\n return Animator;\n}());\n// #endregion\n// #region events\n/**\n * Supported event types triggered in Rive\n */\nvar EventType;\n(function (EventType) {\n EventType[\"Load\"] = \"load\";\n EventType[\"LoadError\"] = \"loaderror\";\n EventType[\"Play\"] = \"play\";\n EventType[\"Pause\"] = \"pause\";\n EventType[\"Stop\"] = \"stop\";\n EventType[\"Loop\"] = \"loop\";\n EventType[\"Draw\"] = \"draw\";\n EventType[\"Advance\"] = \"advance\";\n EventType[\"StateChange\"] = \"statechange\";\n EventType[\"RiveEvent\"] = \"riveevent\";\n EventType[\"AudioStatusChange\"] = \"audiostatuschange\";\n})(EventType || (EventType = {}));\n/**\n * Looping types: one-shot, loop, and ping-pong\n */\nvar LoopType;\n(function (LoopType) {\n LoopType[\"OneShot\"] = \"oneshot\";\n LoopType[\"Loop\"] = \"loop\";\n LoopType[\"PingPong\"] = \"pingpong\";\n})(LoopType || (LoopType = {}));\n// Manages Rive events and listeners\nvar EventManager = /** @class */ (function () {\n function EventManager(listeners) {\n if (listeners === void 0) { listeners = []; }\n this.listeners = listeners;\n }\n // Gets listeners of specified type\n EventManager.prototype.getListeners = function (type) {\n return this.listeners.filter(function (e) { return e.type === type; });\n };\n // Adds a listener\n EventManager.prototype.add = function (listener) {\n if (!this.listeners.includes(listener)) {\n this.listeners.push(listener);\n }\n };\n /**\n * Removes a listener\n * @param listener the listener with the callback to be removed\n */\n EventManager.prototype.remove = function (listener) {\n // We can't simply look for the listener as it'll be a different instance to\n // one originally subscribed. Find all the listeners of the right type and\n // then check their callbacks which should match.\n for (var i = 0; i < this.listeners.length; i++) {\n var currentListener = this.listeners[i];\n if (currentListener.type === listener.type) {\n if (currentListener.callback === listener.callback) {\n this.listeners.splice(i, 1);\n break;\n }\n }\n }\n };\n /**\n * Clears all listeners of specified type, or every listener if no type is\n * specified\n * @param type the type of listeners to clear, or all listeners if not\n * specified\n */\n EventManager.prototype.removeAll = function (type) {\n var _this = this;\n if (!type) {\n this.listeners.splice(0, this.listeners.length);\n }\n else {\n this.listeners\n .filter(function (l) { return l.type === type; })\n .forEach(function (l) { return _this.remove(l); });\n }\n };\n // Fires an event\n EventManager.prototype.fire = function (event) {\n var eventListeners = this.getListeners(event.type);\n eventListeners.forEach(function (listener) { return listener.callback(event); });\n };\n return EventManager;\n}());\n// Manages a queue of tasks\nvar TaskQueueManager = /** @class */ (function () {\n function TaskQueueManager(eventManager) {\n this.eventManager = eventManager;\n this.queue = [];\n }\n // Adds a task top the queue\n TaskQueueManager.prototype.add = function (task) {\n this.queue.push(task);\n };\n // Processes all tasks in the queue\n TaskQueueManager.prototype.process = function () {\n while (this.queue.length > 0) {\n var task = this.queue.shift();\n if (task === null || task === void 0 ? void 0 : task.action) {\n task.action();\n }\n if (task === null || task === void 0 ? void 0 : task.event) {\n this.eventManager.fire(task.event);\n }\n }\n };\n return TaskQueueManager;\n}());\n// #endregion\n// #region Audio\nvar SystemAudioStatus;\n(function (SystemAudioStatus) {\n SystemAudioStatus[SystemAudioStatus[\"AVAILABLE\"] = 0] = \"AVAILABLE\";\n SystemAudioStatus[SystemAudioStatus[\"UNAVAILABLE\"] = 1] = \"UNAVAILABLE\";\n})(SystemAudioStatus || (SystemAudioStatus = {}));\n// Class to handle audio context availability and status changes\nvar AudioManager = /** @class */ (function (_super) {\n __extends(AudioManager, _super);\n function AudioManager() {\n var _this = _super !== null && _super.apply(this, arguments) || this;\n _this._started = false;\n _this._enabled = false;\n _this._status = SystemAudioStatus.UNAVAILABLE;\n return _this;\n }\n AudioManager.prototype.delay = function (time) {\n return __awaiter(this, void 0, void 0, function () {\n return __generator(this, function (_a) {\n return [2 /*return*/, new Promise(function (resolve) { return setTimeout(resolve, time); })];\n });\n });\n };\n AudioManager.prototype.timeout = function () {\n return __awaiter(this, void 0, void 0, function () {\n return __generator(this, function (_a) {\n return [2 /*return*/, new Promise(function (_, reject) { return setTimeout(reject, 50); })];\n });\n });\n };\n // Alerts animations on status changes and removes the listeners to avoid alerting twice.\n AudioManager.prototype.reportToListeners = function () {\n this.fire({ type: EventType.AudioStatusChange });\n this.removeAll();\n };\n /**\n * The audio context has been resolved.\n * Alert any listeners that we can now play audio.\n * Rive will now play audio at the configured volume.\n */\n AudioManager.prototype.enableAudio = function () {\n return __awaiter(this, void 0, void 0, function () {\n return __generator(this, function (_a) {\n if (!this._enabled) {\n this._enabled = true;\n this._status = SystemAudioStatus.AVAILABLE;\n this.reportToListeners();\n }\n return [2 /*return*/];\n });\n });\n };\n /**\n * Check if we are able to play audio.\n *\n * We currently check the audio context, when resume() returns before a timeout we know that the\n * audio context is running and we can enable audio.\n */\n AudioManager.prototype.testAudio = function () {\n return __awaiter(this, void 0, void 0, function () {\n var _a;\n return __generator(this, function (_b) {\n switch (_b.label) {\n case 0:\n if (!(this._status === SystemAudioStatus.UNAVAILABLE &&\n this._audioContext !== null)) return [3 /*break*/, 4];\n _b.label = 1;\n case 1:\n _b.trys.push([1, 3, , 4]);\n return [4 /*yield*/, Promise.race([this._audioContext.resume(), this.timeout()])];\n case 2:\n _b.sent();\n this.enableAudio();\n return [3 /*break*/, 4];\n case 3:\n _a = _b.sent();\n return [3 /*break*/, 4];\n case 4: return [2 /*return*/];\n }\n });\n });\n };\n /**\n * Establish audio for use with rive.\n * We both test if we can use audio intermittently and listen for user interaction.\n * The aim is to enable audio playback as soon as the browser allows this.\n */\n AudioManager.prototype._establishAudio = function () {\n return __awaiter(this, void 0, void 0, function () {\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n if (!!this._started) return [3 /*break*/, 5];\n this._started = true;\n if (!(typeof window == \"undefined\")) return [3 /*break*/, 1];\n this.enableAudio();\n return [3 /*break*/, 5];\n case 1:\n this._audioContext = new AudioContext();\n this.listenForUserAction();\n _a.label = 2;\n case 2:\n if (!(this._status === SystemAudioStatus.UNAVAILABLE)) return [3 /*break*/, 5];\n return [4 /*yield*/, this.testAudio()];\n case 3:\n _a.sent();\n return [4 /*yield*/, this.delay(1000)];\n case 4:\n _a.sent();\n return [3 /*break*/, 2];\n case 5: return [2 /*return*/];\n }\n });\n });\n };\n AudioManager.prototype.listenForUserAction = function () {\n var _this = this;\n // NOTE: AudioContexts are ready immediately if requested in a ui callback\n // we *could* re request one in this listener.\n var _clickListener = function () { return __awaiter(_this, void 0, void 0, function () {\n return __generator(this, function (_a) {\n // note this has \"better\" results than calling `await this.testAudio()`\n // as we force audio to be enabled in the current thread, rather than chancing\n // the thread to be passed over for some other async context\n this.enableAudio();\n return [2 /*return*/];\n });\n }); };\n // NOTE: we should test this on mobile/pads\n document.addEventListener(\"pointerdown\", _clickListener, {\n once: true,\n });\n };\n /**\n * Establish the audio context for rive, this lets rive know that we can play audio.\n */\n AudioManager.prototype.establishAudio = function () {\n return __awaiter(this, void 0, void 0, function () {\n return __generator(this, function (_a) {\n this._establishAudio();\n return [2 /*return*/];\n });\n });\n };\n Object.defineProperty(AudioManager.prototype, \"systemVolume\", {\n get: function () {\n if (this._status === SystemAudioStatus.UNAVAILABLE) {\n // We do an immediate test to avoid depending on the delay of the running test\n this.testAudio();\n return 0;\n }\n return 1;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(AudioManager.prototype, \"status\", {\n get: function () {\n return this._status;\n },\n enumerable: false,\n configurable: true\n });\n return AudioManager;\n}(EventManager));\nvar audioManager = new AudioManager();\nvar FakeResizeObserver = /** @class */ (function () {\n function FakeResizeObserver() {\n }\n FakeResizeObserver.prototype.observe = function () { };\n FakeResizeObserver.prototype.unobserve = function () { };\n FakeResizeObserver.prototype.disconnect = function () { };\n return FakeResizeObserver;\n}());\nvar MyResizeObserver = globalThis.ResizeObserver || FakeResizeObserver;\n/**\n * This class takes care of any observers that will be attached to an animation.\n * It should be treated as a singleton because observers are much more performant\n * when used for observing multiple elements by a single instance.\n */\nvar ObjectObservers = /** @class */ (function () {\n function ObjectObservers() {\n var _this = this;\n this._elementsMap = new Map();\n /**\n * Resize observers trigger both when the element changes its size and also when the\n * element is added or removed from the document.\n */\n this._onObservedEntry = function (entry) {\n var observed = _this._elementsMap.get(entry.target);\n if (observed !== null) {\n observed.onResize(entry.target.clientWidth == 0 || entry.target.clientHeight == 0);\n }\n else {\n _this._resizeObserver.unobserve(entry.target);\n }\n };\n this._onObserved = function (entries) {\n entries.forEach(_this._onObservedEntry);\n };\n this._resizeObserver = new MyResizeObserver(this._onObserved);\n }\n // Adds an observable element\n ObjectObservers.prototype.add = function (element, onResize) {\n var observed = {\n onResize: onResize,\n element: element,\n };\n this._elementsMap.set(element, observed);\n this._resizeObserver.observe(element);\n return observed;\n };\n // Removes an observable element\n ObjectObservers.prototype.remove = function (observed) {\n this._resizeObserver.unobserve(observed.element);\n this._elementsMap.delete(observed.element);\n };\n return ObjectObservers;\n}());\nvar observers = new ObjectObservers();\nvar RiveFile = /** @class */ (function () {\n function RiveFile(params) {\n // Allow the runtime to automatically load assets hosted in Rive's runtime.\n this.enableRiveAssetCDN = true;\n this.referenceCount = 0;\n this.destroyed = false;\n this.src = params.src;\n this.buffer = params.buffer;\n if (params.assetLoader)\n this.assetLoader = params.assetLoader;\n this.enableRiveAssetCDN =\n typeof params.enableRiveAssetCDN == \"boolean\"\n ? params.enableRiveAssetCDN\n : true;\n // New event management system\n this.eventManager = new EventManager();\n if (params.onLoad)\n this.on(EventType.Load, params.onLoad);\n if (params.onLoadError)\n this.on(EventType.LoadError, params.onLoadError);\n }\n RiveFile.prototype.initData = function () {\n return __awaiter(this, void 0, void 0, function () {\n var _a, loader, _b;\n var _c;\n return __generator(this, function (_d) {\n switch (_d.label) {\n case 0:\n if (!this.src) return [3 /*break*/, 2];\n _a = this;\n return [4 /*yield*/, loadRiveFile(this.src)];\n case 1:\n _a.buffer = _d.sent();\n _d.label = 2;\n case 2:\n if (this.destroyed) {\n return [2 /*return*/];\n }\n if (this.assetLoader) {\n loader = new this.runtime.CustomFileAssetLoader({\n loadContents: this.assetLoader,\n });\n }\n // Load the Rive file\n _b = this;\n return [4 /*yield*/, this.runtime.load(new Uint8Array(this.buffer), loader, this.enableRiveAssetCDN)];\n case 3:\n // Load the Rive file\n _b.file = _d.sent();\n if (this.destroyed) {\n (_c = this.file) === null || _c === void 0 ? void 0 : _c.delete();\n this.file = null;\n return [2 /*return*/];\n }\n if (this.file !== null) {\n this.eventManager.fire({\n type: EventType.Load,\n data: this,\n });\n }\n else {\n this.eventManager.fire({\n type: EventType.LoadError,\n data: null,\n });\n throw new Error(RiveFile.fileLoadErrorMessage);\n }\n return [2 /*return*/];\n }\n });\n });\n };\n RiveFile.prototype.init = function () {\n return __awaiter(this, void 0, void 0, function () {\n var _a;\n return __generator(this, function (_b) {\n switch (_b.label) {\n case 0:\n // If no source file url specified, it's a bust\n if (!this.src && !this.buffer) {\n throw new Error(RiveFile.missingErrorMessage);\n }\n _a = this;\n return [4 /*yield*/, RuntimeLoader.awaitInstance()];\n case 1:\n _a.runtime = _b.sent();\n if (this.destroyed) {\n return [2 /*return*/];\n }\n return [4 /*yield*/, this.initData()];\n case 2:\n _b.sent();\n return [2 /*return*/];\n }\n });\n });\n };\n /**\n * Subscribe to Rive-generated events\n * @param type the type of event to subscribe to\n * @param callback callback to fire when the event occurs\n */\n RiveFile.prototype.on = function (type, callback) {\n this.eventManager.add({\n type: type,\n callback: callback,\n });\n };\n /**\n * Unsubscribes from a Rive-generated event\n * @param type the type of event to unsubscribe from\n * @param callback the callback to unsubscribe\n */\n RiveFile.prototype.off = function (type, callback) {\n this.eventManager.remove({\n type: type,\n callback: callback,\n });\n };\n RiveFile.prototype.cleanup = function () {\n var _a;\n this.referenceCount -= 1;\n if (this.referenceCount <= 0) {\n this.removeAllRiveEventListeners();\n (_a = this.file) === null || _a === void 0 ? void 0 : _a.delete();\n this.file = null;\n this.destroyed = true;\n }\n };\n /**\n * Unsubscribes all Rive listeners from an event type, or everything if no type is\n * given\n * @param type the type of event to unsubscribe from, or all types if\n * undefined\n */\n RiveFile.prototype.removeAllRiveEventListeners = function (type) {\n this.eventManager.removeAll(type);\n };\n RiveFile.prototype.getInstance = function () {\n if (this.file !== null) {\n this.referenceCount += 1;\n return this.file;\n }\n };\n // Error message for missing source or buffer\n RiveFile.missingErrorMessage = \"Rive source file or data buffer required\";\n // Error message for file load error\n RiveFile.fileLoadErrorMessage = \"The file failed to load\";\n return RiveFile;\n}());\n\nvar Rive = /** @class */ (function () {\n function Rive(params) {\n var _this = this;\n var _a;\n // Tracks if a Rive file is loaded\n this.loaded = false;\n // Tracks if a Rive file is destroyed\n this.destroyed = false;\n // Reference of an object that handles any observers for the animation\n this._observed = null;\n /**\n * Tracks if a Rive file is loaded; we need this in addition to loaded as some\n * commands (e.g. contents) can be called as soon as the file is loaded.\n * However, playback commands need to be queued and run in order once initial\n * animations and autoplay has been sorted out. This applies to play, pause,\n * and start.\n */\n this.readyForPlaying = false;\n // Runtime artboard\n this.artboard = null;\n // place to clear up event listeners\n this.eventCleanup = null;\n this.shouldDisableRiveListeners = false;\n this.automaticallyHandleEvents = false;\n // Allow the runtime to automatically load assets hosted in Rive's runtime.\n this.enableRiveAssetCDN = true;\n // Keep a local value of the set volume to update it asynchronously\n this._volume = 1;\n // Keep a local value of the set width to update it asynchronously\n this._artboardWidth = undefined;\n // Keep a local value of the set height to update it asynchronously\n this._artboardHeight = undefined;\n // Keep a local value of the device pixel ratio used in rendering and canvas/artboard resizing\n this._devicePixelRatioUsed = 1;\n // Whether the canvas element's size is 0\n this._hasZeroSize = false;\n // Audio event listener\n this._audioEventListener = null;\n // draw method bound to the class\n this._boundDraw = null;\n // Durations to generate a frame for the last second. Used for performance profiling.\n this.durations = [];\n this.frameTimes = [];\n this.frameCount = 0;\n this.isTouchScrollEnabled = false;\n this.onCanvasResize = function (hasZeroSize) {\n var toggledDisplay = _this._hasZeroSize !== hasZeroSize;\n _this._hasZeroSize = hasZeroSize;\n if (!hasZeroSize) {\n if (toggledDisplay) {\n _this.resizeDrawingSurfaceToCanvas();\n }\n }\n else if (!_this._layout.maxX || !_this._layout.maxY) {\n _this.resizeToCanvas();\n }\n };\n /**\n * Used be draw to track when a second of active rendering time has passed.\n * Used for debugging purposes\n */\n this.renderSecondTimer = 0;\n this._boundDraw = this.draw.bind(this);\n this.canvas = params.canvas;\n if (params.canvas.constructor === HTMLCanvasElement) {\n this._observed = observers.add(this.canvas, this.onCanvasResize);\n }\n this.src = params.src;\n this.buffer = params.buffer;\n this.riveFile = params.riveFile;\n this.layout = (_a = params.layout) !== null && _a !== void 0 ? _a : new Layout();\n this.shouldDisableRiveListeners = !!params.shouldDisableRiveListeners;\n this.isTouchScrollEnabled = !!params.isTouchScrollEnabled;\n this.automaticallyHandleEvents = !!params.automaticallyHandleEvents;\n this.enableRiveAssetCDN =\n params.enableRiveAssetCDN === undefined\n ? true\n : params.enableRiveAssetCDN;\n // New event management system\n this.eventManager = new EventManager();\n if (params.onLoad)\n this.on(EventType.Load, params.onLoad);\n if (params.onLoadError)\n this.on(EventType.LoadError, params.onLoadError);\n if (params.onPlay)\n this.on(EventType.Play, params.onPlay);\n if (params.onPause)\n this.on(EventType.Pause, params.onPause);\n if (params.onStop)\n this.on(EventType.Stop, params.onStop);\n if (params.onLoop)\n this.on(EventType.Loop, params.onLoop);\n if (params.onStateChange)\n this.on(EventType.StateChange, params.onStateChange);\n if (params.onAdvance)\n this.on(EventType.Advance, params.onAdvance);\n /**\n * @deprecated Use camelCase'd versions instead.\n */\n if (params.onload && !params.onLoad)\n this.on(EventType.Load, params.onload);\n if (params.onloaderror && !params.onLoadError)\n this.on(EventType.LoadError, params.onloaderror);\n if (params.onplay && !params.onPlay)\n this.on(EventType.Play, params.onplay);\n if (params.onpause && !params.onPause)\n this.on(EventType.Pause, params.onpause);\n if (params.onstop && !params.onStop)\n this.on(EventType.Stop, params.onstop);\n if (params.onloop && !params.onLoop)\n this.on(EventType.Loop, params.onloop);\n if (params.onstatechange && !params.onStateChange)\n this.on(EventType.StateChange, params.onstatechange);\n /**\n * Asset loading\n */\n if (params.assetLoader)\n this.assetLoader = params.assetLoader;\n // Hook up the task queue\n this.taskQueue = new TaskQueueManager(this.eventManager);\n this.init({\n src: this.src,\n buffer: this.buffer,\n riveFile: this.riveFile,\n autoplay: params.autoplay,\n animations: params.animations,\n stateMachines: params.stateMachines,\n artboard: params.artboard,\n useOffscreenRenderer: params.useOffscreenRenderer,\n });\n }\n // Alternative constructor to build a Rive instance from an interface/object\n Rive.new = function (params) {\n console.warn(\"This function is deprecated: please use `new Rive({})` instead\");\n return new Rive(params);\n };\n // Event handler for when audio context becomes available\n Rive.prototype.onSystemAudioChanged = function () {\n this.volume = this._volume;\n };\n // Initializes the Rive object either from constructor or load()\n Rive.prototype.init = function (_a) {\n var _this = this;\n var src = _a.src, buffer = _a.buffer, riveFile = _a.riveFile, animations = _a.animations, stateMachines = _a.stateMachines, artboard = _a.artboard, _b = _a.autoplay, autoplay = _b === void 0 ? false : _b, _c = _a.useOffscreenRenderer, useOffscreenRenderer = _c === void 0 ? false : _c;\n if (this.destroyed) {\n return;\n }\n this.src = src;\n this.buffer = buffer;\n this.riveFile = riveFile;\n // If no source file url specified, it's a bust\n if (!this.src && !this.buffer && !this.riveFile) {\n throw new RiveError(Rive.missingErrorMessage);\n }\n // List of animations that should be initialized.\n var startingAnimationNames = mapToStringArray(animations);\n // List of state machines that should be initialized\n var startingStateMachineNames = mapToStringArray(stateMachines);\n // Ensure loaded is marked as false if loading new file\n this.loaded = false;\n this.readyForPlaying = false;\n // Ensure the runtime is loaded\n RuntimeLoader.awaitInstance()\n .then(function (runtime) {\n if (_this.destroyed) {\n return;\n }\n _this.runtime = runtime;\n _this.removeRiveListeners();\n _this.deleteRiveRenderer();\n // Get the canvas where you want to render the animation and create a renderer\n _this.renderer = _this.runtime.makeRenderer(_this.canvas, useOffscreenRenderer);\n // Initial size adjustment based on devicePixelRatio if no width/height are\n // specified explicitly\n if (!(_this.canvas.width || _this.canvas.height)) {\n _this.resizeDrawingSurfaceToCanvas();\n }\n // Load Rive data from a source uri or a data buffer\n _this.initData(artboard, startingAnimationNames, startingStateMachineNames, autoplay)\n .then(function () { return _this.setupRiveListeners(); })\n .catch(function (e) {\n console.error(e);\n });\n })\n .catch(function (e) {\n console.error(e);\n });\n };\n /**\n * Setup Rive Listeners on the canvas\n * @param riveListenerOptions - Enables TouchEvent events on the canvas. Set to true to allow\n * touch scrolling on the canvas element on touch-enabled devices\n * i.e. { isTouchScrollEnabled: true }\n */\n Rive.prototype.setupRiveListeners = function (riveListenerOptions) {\n var _this = this;\n if (this.eventCleanup) {\n this.eventCleanup();\n }\n if (!this.shouldDisableRiveListeners) {\n var activeStateMachines = (this.animator.stateMachines || [])\n .filter(function (sm) { return sm.playing && _this.runtime.hasListeners(sm.instance); })\n .map(function (sm) { return sm.instance; });\n var touchScrollEnabledOption = this.isTouchScrollEnabled;\n if (riveListenerOptions &&\n \"isTouchScrollEnabled\" in riveListenerOptions) {\n touchScrollEnabledOption = riveListenerOptions.isTouchScrollEnabled;\n }\n this.eventCleanup = (0,_utils__WEBPACK_IMPORTED_MODULE_3__.registerTouchInteractions)({\n canvas: this.canvas,\n artboard: this.artboard,\n stateMachines: activeStateMachines,\n renderer: this.renderer,\n rive: this.runtime,\n fit: this._layout.runtimeFit(this.runtime),\n alignment: this._layout.runtimeAlignment(this.runtime),\n isTouchScrollEnabled: touchScrollEnabledOption,\n layoutScaleFactor: this._layout.layoutScaleFactor,\n });\n }\n };\n /**\n * Remove Rive Listeners setup on the canvas\n */\n Rive.prototype.removeRiveListeners = function () {\n if (this.eventCleanup) {\n this.eventCleanup();\n this.eventCleanup = null;\n }\n };\n /**\n * If the instance has audio and the system audio is not ready\n * we hook the instance to the audio manager\n */\n Rive.prototype.initializeAudio = function () {\n var _this = this;\n var _a;\n // Initialize audio if needed\n if (audioManager.status == SystemAudioStatus.UNAVAILABLE) {\n if (((_a = this.artboard) === null || _a === void 0 ? void 0 : _a.hasAudio) && this._audioEventListener === null) {\n this._audioEventListener = {\n type: EventType.AudioStatusChange,\n callback: function () { return _this.onSystemAudioChanged(); },\n };\n audioManager.add(this._audioEventListener);\n audioManager.establishAudio();\n }\n }\n };\n Rive.prototype.initArtboardSize = function () {\n if (!this.artboard)\n return;\n // Use preset values if they are not undefined\n this._artboardWidth = this.artboard.width =\n this._artboardWidth || this.artboard.width;\n this._artboardHeight = this.artboard.height =\n this._artboardHeight || this.artboard.height;\n };\n // Initializes runtime with Rive data and preps for playing\n Rive.prototype.initData = function (artboardName, animationNames, stateMachineNames, autoplay) {\n return __awaiter(this, void 0, void 0, function () {\n var error_1, msg;\n var _a;\n return __generator(this, function (_b) {\n switch (_b.label) {\n case 0:\n _b.trys.push([0, 3, , 4]);\n if (!(this.riveFile == null)) return [3 /*break*/, 2];\n this.riveFile = new RiveFile({\n src: this.src,\n buffer: this.buffer,\n enableRiveAssetCDN: this.enableRiveAssetCDN,\n assetLoader: this.assetLoader,\n });\n return [4 /*yield*/, this.riveFile.init()];\n case 1:\n _b.sent();\n _b.label = 2;\n case 2:\n // Check for riveFile in case it has been cleaned up while initializing;\n if (!this.riveFile) {\n throw new RiveError(Rive.cleanupErrorMessage);\n }\n this.file = this.riveFile.getInstance();\n // Initialize and draw frame\n this.initArtboard(artboardName, animationNames, stateMachineNames, autoplay);\n // Initialize the artboard size\n this.initArtboardSize();\n // Check for audio\n this.initializeAudio();\n // Everything's set up, emit a load event\n this.loaded = true;\n this.eventManager.fire({\n type: EventType.Load,\n data: (_a = this.src) !== null && _a !== void 0 ? _a : \"buffer\",\n });\n // Flag ready for playback commands and clear the task queue; this order\n // is important or it may infinitely recurse\n this.readyForPlaying = true;\n this.taskQueue.process();\n this.drawFrame();\n return [2 /*return*/, Promise.resolve()];\n case 3:\n error_1 = _b.sent();\n msg = resolveErrorMessage(error_1);\n console.warn(msg);\n this.eventManager.fire({ type: EventType.LoadError, data: msg });\n return [2 /*return*/, Promise.reject(msg)];\n case 4: return [2 /*return*/];\n }\n });\n });\n };\n // Initialize for playback\n Rive.prototype.initArtboard = function (artboardName, animationNames, stateMachineNames, autoplay) {\n if (!this.file) {\n return;\n }\n // Fetch the artboard\n var rootArtboard = artboardName\n ? this.file.artboardByName(artboardName)\n : this.file.defaultArtboard();\n // Check we have a working artboard\n if (!rootArtboard) {\n var msg = \"Invalid artboard name or no default artboard\";\n console.warn(msg);\n this.eventManager.fire({ type: EventType.LoadError, data: msg });\n return;\n }\n this.artboard = rootArtboard;\n rootArtboard.volume = this._volume * audioManager.systemVolume;\n // Check that the artboard has at least 1 animation\n if (this.artboard.animationCount() < 1) {\n var msg = \"Artboard has no animations\";\n this.eventManager.fire({ type: EventType.LoadError, data: msg });\n throw msg;\n }\n // Initialize the animator\n this.animator = new Animator(this.runtime, this.artboard, this.eventManager);\n // Initialize the animations; as loaded hasn't happened yet, we need to\n // suppress firing the play/pause events until the load event has fired. To\n // do this we tell the animator to suppress firing events, and add event\n // firing to the task queue.\n var instanceNames;\n if (animationNames.length > 0 || stateMachineNames.length > 0) {\n instanceNames = animationNames.concat(stateMachineNames);\n this.animator.initLinearAnimations(animationNames, autoplay);\n this.animator.initStateMachines(stateMachineNames, autoplay);\n }\n else {\n instanceNames = [this.animator.atLeastOne(autoplay, false)];\n }\n // Queue up firing the playback events\n this.taskQueue.add({\n event: {\n type: autoplay ? EventType.Play : EventType.Pause,\n data: instanceNames,\n },\n });\n };\n // Draws the current artboard frame\n Rive.prototype.drawFrame = function () {\n var _a;\n if ((_a = document === null || document === void 0 ? void 0 : document.timeline) === null || _a === void 0 ? void 0 : _a.currentTime) {\n if (this.loaded && this.artboard && !this.frameRequestId) {\n this._boundDraw(document.timeline.currentTime);\n }\n }\n else {\n this.startRendering();\n }\n };\n /**\n * Draw rendering loop; renders animation frames at the correct time interval.\n * @param time the time at which to render a frame\n */\n Rive.prototype.draw = function (time, onSecond) {\n // Clear the frameRequestId, as we're now rendering a fresh frame\n this.frameRequestId = null;\n var before = performance.now();\n // On the first pass, make sure lastTime has a valid value\n if (!this.lastRenderTime) {\n this.lastRenderTime = time;\n }\n // Handle the onSecond callback\n this.renderSecondTimer += time - this.lastRenderTime;\n if (this.renderSecondTimer > 5000) {\n this.renderSecondTimer = 0;\n onSecond === null || onSecond === void 0 ? void 0 : onSecond();\n }\n // Calculate the elapsed time between frames in seconds\n var elapsedTime = (time - this.lastRenderTime) / 1000;\n this.lastRenderTime = time;\n // - Advance non-paused animations by the elapsed number of seconds\n // - Advance any animations that require scrubbing\n // - Advance to the first frame even when autoplay is false\n var activeAnimations = this.animator.animations\n .filter(function (a) { return a.playing || a.needsScrub; })\n // The scrubbed animations must be applied first to prevent weird artifacts\n // if the playing animations conflict with the scrubbed animating attribuates.\n .sort(function (first) { return (first.needsScrub ? -1 : 1); });\n for (var _i = 0, activeAnimations_1 = activeAnimations; _i < activeAnimations_1.length; _i++) {\n var animation = activeAnimations_1[_i];\n animation.advance(elapsedTime);\n if (animation.instance.didLoop) {\n animation.loopCount += 1;\n }\n animation.apply(1.0);\n }\n // - Advance non-paused state machines by the elapsed number of seconds\n // - Advance to the first frame even when autoplay is false\n var activeStateMachines = this.animator.stateMachines.filter(function (a) { return a.playing; });\n for (var _a = 0, activeStateMachines_1 = activeStateMachines; _a < activeStateMachines_1.length; _a++) {\n var stateMachine = activeStateMachines_1[_a];\n // Check for events before the current frame's state machine advance\n var numEventsReported = stateMachine.reportedEventCount();\n if (numEventsReported) {\n for (var i = 0; i < numEventsReported; i++) {\n var event_1 = stateMachine.reportedEventAt(i);\n if (event_1) {\n if (event_1.type === RiveEventType.OpenUrl) {\n this.eventManager.fire({\n type: EventType.RiveEvent,\n data: event_1,\n });\n // Handle the event side effect if explicitly enabled\n if (this.automaticallyHandleEvents) {\n var newAnchorTag = document.createElement(\"a\");\n var _b = event_1, url = _b.url, target = _b.target;\n var sanitizedUrl = (0,_utils__WEBPACK_IMPORTED_MODULE_3__.sanitizeUrl)(url);\n url && newAnchorTag.setAttribute(\"href\", sanitizedUrl);\n target && newAnchorTag.setAttribute(\"target\", target);\n if (sanitizedUrl && sanitizedUrl !== _utils__WEBPACK_IMPORTED_MODULE_3__.BLANK_URL) {\n newAnchorTag.click();\n }\n }\n }\n else {\n this.eventManager.fire({\n type: EventType.RiveEvent,\n data: event_1,\n });\n }\n }\n }\n }\n stateMachine.advanceAndApply(elapsedTime);\n // stateMachine.instance.apply(this.artboard);\n }\n // Once the animations have been applied to the artboard, advance it\n // by the elapsed time.\n if (this.animator.stateMachines.length == 0) {\n this.artboard.advance(elapsedTime);\n }\n var renderer = this.renderer;\n // Canvas must be wiped to prevent artifacts\n renderer.clear();\n renderer.save();\n // Update the renderer alignment if necessary\n this.alignRenderer();\n // Do not draw on 0 canvas size\n if (!this._hasZeroSize) {\n this.artboard.draw(renderer);\n }\n renderer.restore();\n renderer.flush();\n // Check for any animations that looped\n this.animator.handleLooping();\n // Check for any state machines that had a state change\n this.animator.handleStateChanges();\n // Report advanced time\n this.animator.handleAdvancing(elapsedTime);\n // Add duration to create frame to durations array\n this.frameCount++;\n var after = performance.now();\n this.frameTimes.push(after);\n this.durations.push(after - before);\n while (this.frameTimes[0] <= after - 1000) {\n this.frameTimes.shift();\n this.durations.shift();\n }\n // Calling requestAnimationFrame will rerun draw() at the correct rate:\n // https://developer.mozilla.org/en-US/docs/Web/API/Canvas_API/Tutorial/Basic_animations\n if (this.animator.isPlaying) {\n // Request a new rendering frame\n this.startRendering();\n }\n else if (this.animator.isPaused) {\n // Reset the end time so on playback it starts at the correct frame\n this.lastRenderTime = 0;\n }\n else if (this.animator.isStopped) {\n // Reset animation instances, artboard and time\n // TODO: implement this properly when we have instancing\n // this.initArtboard();\n // this.drawFrame();\n this.lastRenderTime = 0;\n }\n };\n /**\n * Align the renderer\n */\n Rive.prototype.alignRenderer = function () {\n var _a = this, renderer = _a.renderer, runtime = _a.runtime, _layout = _a._layout, artboard = _a.artboard;\n // Align things up safe in the knowledge we can restore if changed\n renderer.align(_layout.runtimeFit(runtime), _layout.runtimeAlignment(runtime), {\n minX: _layout.minX,\n minY: _layout.minY,\n maxX: _layout.maxX,\n maxY: _layout.maxY,\n }, artboard.bounds, this._devicePixelRatioUsed * _layout.layoutScaleFactor);\n };\n Object.defineProperty(Rive.prototype, \"fps\", {\n get: function () {\n return this.durations.length;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(Rive.prototype, \"frameTime\", {\n get: function () {\n if (this.durations.length === 0) {\n return 0;\n }\n return (this.durations.reduce(function (a, b) { return a + b; }, 0) / this.durations.length).toFixed(4);\n },\n enumerable: false,\n configurable: true\n });\n /**\n * Cleans up all Wasm-generated objects that need to be manually destroyed:\n * artboard instances, animation instances, state machine instances,\n * renderer instance, file and runtime.\n *\n * Once this is called, you will need to initialise a new instance of the\n * Rive class\n */\n Rive.prototype.cleanup = function () {\n var _a;\n this.destroyed = true;\n // Stop the renderer if it hasn't already been stopped.\n this.stopRendering();\n // Clean up any artboard, animation or state machine instances.\n this.cleanupInstances();\n // Remove from observer\n if (this._observed !== null) {\n observers.remove(this._observed);\n }\n this.removeRiveListeners();\n if (this.file) {\n (_a = this.riveFile) === null || _a === void 0 ? void 0 : _a.cleanup();\n this.file = null;\n }\n this.riveFile = null;\n this.deleteRiveRenderer();\n if (this._audioEventListener !== null) {\n audioManager.remove(this._audioEventListener);\n this._audioEventListener = null;\n }\n };\n /**\n * Cleans up the Renderer object. Only call this API if you no longer\n * need to render Rive content in your session.\n */\n Rive.prototype.deleteRiveRenderer = function () {\n var _a;\n (_a = this.renderer) === null || _a === void 0 ? void 0 : _a.delete();\n this.renderer = null;\n };\n /**\n * Cleans up any Wasm-generated objects that need to be manually destroyed:\n * artboard instances, animation instances, state machine instances.\n *\n * Once this is called, things will need to be reinitialized or bad things\n * might happen.\n */\n Rive.prototype.cleanupInstances = function () {\n if (this.eventCleanup !== null) {\n this.eventCleanup();\n }\n // Delete all animation and state machine instances\n this.stop();\n if (this.artboard) {\n this.artboard.delete();\n this.artboard = null;\n }\n };\n /**\n * Tries to query the setup Artboard for a text run node with the given name.\n *\n * @param textRunName - Name of the text run node associated with a text object\n * @returns - TextValueRun node or undefined if the text run cannot be queried\n */\n Rive.prototype.retrieveTextRun = function (textRunName) {\n var _a;\n if (!textRunName) {\n console.warn(\"No text run name provided\");\n return;\n }\n if (!this.artboard) {\n console.warn(\"Tried to access text run, but the Artboard is null\");\n return;\n }\n var textRun = this.artboard.textRun(textRunName);\n if (!textRun) {\n console.warn(\"Could not access a text run with name '\".concat(textRunName, \"' in the '\").concat((_a = this.artboard) === null || _a === void 0 ? void 0 : _a.name, \"' Artboard. Note that you must rename a text run node in the Rive editor to make it queryable at runtime.\"));\n return;\n }\n return textRun;\n };\n /**\n * Returns a string from a given text run node name, or undefined if the text run\n * cannot be queried.\n *\n * @param textRunName - Name of the text run node associated with a text object\n * @returns - String value of the text run node or undefined\n */\n Rive.prototype.getTextRunValue = function (textRunName) {\n var textRun = this.retrieveTextRun(textRunName);\n return textRun ? textRun.text : undefined;\n };\n /**\n * Sets a text value for a given text run node name if possible\n *\n * @param textRunName - Name of the text run node associated with a text object\n * @param textRunValue - String value to set on the text run node\n */\n Rive.prototype.setTextRunValue = function (textRunName, textRunValue) {\n var textRun = this.retrieveTextRun(textRunName);\n if (textRun) {\n textRun.text = textRunValue;\n }\n };\n // Plays specified animations; if none specified, it unpauses everything.\n Rive.prototype.play = function (animationNames, autoplay) {\n var _this = this;\n animationNames = mapToStringArray(animationNames);\n // If the file's not loaded, queue up the play\n if (!this.readyForPlaying) {\n this.taskQueue.add({\n action: function () { return _this.play(animationNames, autoplay); },\n });\n return;\n }\n this.animator.play(animationNames);\n if (this.eventCleanup) {\n this.eventCleanup();\n }\n this.setupRiveListeners();\n this.startRendering();\n };\n // Pauses specified animations; if none specified, pauses all.\n Rive.prototype.pause = function (animationNames) {\n var _this = this;\n animationNames = mapToStringArray(animationNames);\n // If the file's not loaded, early out, nothing to pause\n if (!this.readyForPlaying) {\n this.taskQueue.add({\n action: function () { return _this.pause(animationNames); },\n });\n return;\n }\n if (this.eventCleanup) {\n this.eventCleanup();\n }\n this.animator.pause(animationNames);\n };\n Rive.prototype.scrub = function (animationNames, value) {\n var _this = this;\n animationNames = mapToStringArray(animationNames);\n // If the file's not loaded, early out, nothing to pause\n if (!this.readyForPlaying) {\n this.taskQueue.add({\n action: function () { return _this.scrub(animationNames, value); },\n });\n return;\n }\n // Scrub the animation time; we draw a single frame here so that if\n // nothing's currently playing, the scrubbed animation is still rendered/\n this.animator.scrub(animationNames, value || 0);\n this.drawFrame();\n };\n // Stops specified animations; if none specifies, stops them all.\n Rive.prototype.stop = function (animationNames) {\n var _this = this;\n animationNames = mapToStringArray(animationNames);\n // If the file's not loaded, early out, nothing to pause\n if (!this.readyForPlaying) {\n this.taskQueue.add({\n action: function () { return _this.stop(animationNames); },\n });\n return;\n }\n // If there is no artboard, this.animator will be undefined\n if (this.animator) {\n this.animator.stop(animationNames);\n }\n if (this.eventCleanup) {\n this.eventCleanup();\n }\n };\n /**\n * Resets the animation\n * @param artboard the name of the artboard, or default if none given\n * @param animations the names of animations for playback\n * @param stateMachines the names of state machines for playback\n * @param autoplay whether to autoplay when reset, defaults to false\n *\n */\n Rive.prototype.reset = function (params) {\n var _a;\n // Get the current artboard, animations, state machines, and playback states\n var artBoardName = params === null || params === void 0 ? void 0 : params.artboard;\n var animationNames = mapToStringArray(params === null || params === void 0 ? void 0 : params.animations);\n var stateMachineNames = mapToStringArray(params === null || params === void 0 ? void 0 : params.stateMachines);\n var autoplay = (_a = params === null || params === void 0 ? void 0 : params.autoplay) !== null && _a !== void 0 ? _a : false;\n // Stop everything and clean up\n this.cleanupInstances();\n // Reinitialize an artboard instance with the state\n this.initArtboard(artBoardName, animationNames, stateMachineNames, autoplay);\n this.taskQueue.process();\n };\n // Loads a new Rive file, keeping listeners in place\n Rive.prototype.load = function (params) {\n this.file = null;\n // Stop all animations\n this.stop();\n // Reinitialize\n this.init(params);\n };\n Object.defineProperty(Rive.prototype, \"layout\", {\n /**\n * Returns the current layout. Note that layout should be treated as\n * immutable. If you want to change the layout, create a new one use the\n * layout setter\n */\n get: function () {\n return this._layout;\n },\n // Sets a new layout\n set: function (layout) {\n this._layout = layout;\n // If the maxX or maxY are 0, then set them to the canvas width and height\n if (!layout.maxX || !layout.maxY) {\n this.resizeToCanvas();\n }\n if (this.loaded && !this.animator.isPlaying) {\n this.drawFrame();\n }\n },\n enumerable: false,\n configurable: true\n });\n /**\n * Sets the layout bounds to the current canvas size; this is typically called\n * when the canvas is resized\n */\n Rive.prototype.resizeToCanvas = function () {\n this._layout = this.layout.copyWith({\n minX: 0,\n minY: 0,\n maxX: this.canvas.width,\n maxY: this.canvas.height,\n });\n };\n /**\n * Accounts for devicePixelRatio as a multiplier to render the size of the canvas drawing surface.\n * Uses the size of the backing canvas to set new width/height attributes. Need to re-render\n * and resize the layout to match the new drawing surface afterwards.\n * Useful function for consumers to include in a window resize listener.\n *\n * This method will set the {@link devicePixelRatioUsed} property.\n *\n * Optionally, you can provide a {@link customDevicePixelRatio} to provide a\n * custom value.\n */\n Rive.prototype.resizeDrawingSurfaceToCanvas = function (customDevicePixelRatio) {\n if (this.canvas instanceof HTMLCanvasElement && !!window) {\n var _a = this.canvas.getBoundingClientRect(), width = _a.width, height = _a.height;\n var dpr = customDevicePixelRatio || window.devicePixelRatio || 1;\n this.devicePixelRatioUsed = dpr;\n this.canvas.width = dpr * width;\n this.canvas.height = dpr * height;\n this.resizeToCanvas();\n this.drawFrame();\n if (this.layout.fit === Fit.Layout) {\n var scaleFactor = this._layout.layoutScaleFactor;\n this.artboard.width = width / scaleFactor;\n this.artboard.height = height / scaleFactor;\n }\n }\n };\n Object.defineProperty(Rive.prototype, \"source\", {\n // Returns the animation source, which may be undefined\n get: function () {\n return this.src;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(Rive.prototype, \"activeArtboard\", {\n /**\n * Returns the name of the active artboard\n */\n get: function () {\n return this.artboard ? this.artboard.name : \"\";\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(Rive.prototype, \"animationNames\", {\n // Returns a list of animation names on the chosen artboard\n get: function () {\n // If the file's not loaded, we got nothing to return\n if (!this.loaded || !this.artboard) {\n return [];\n }\n var animationNames = [];\n for (var i = 0; i < this.artboard.animationCount(); i++) {\n animationNames.push(this.artboard.animationByIndex(i).name);\n }\n return animationNames;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(Rive.prototype, \"stateMachineNames\", {\n /**\n * Returns a list of state machine names from the current artboard\n */\n get: function () {\n // If the file's not loaded, we got nothing to return\n if (!this.loaded || !this.artboard) {\n return [];\n }\n var stateMachineNames = [];\n for (var i = 0; i < this.artboard.stateMachineCount(); i++) {\n stateMachineNames.push(this.artboard.stateMachineByIndex(i).name);\n }\n return stateMachineNames;\n },\n enumerable: false,\n configurable: true\n });\n /**\n * Returns the inputs for the specified instanced state machine, or an empty\n * list if the name is invalid or the state machine is not instanced\n * @param name the state machine name\n * @returns the inputs for the named state machine\n */\n Rive.prototype.stateMachineInputs = function (name) {\n // If the file's not loaded, early out, nothing to pause\n if (!this.loaded) {\n return;\n }\n var stateMachine = this.animator.stateMachines.find(function (m) { return m.name === name; });\n return stateMachine === null || stateMachine === void 0 ? void 0 : stateMachine.inputs;\n };\n // Returns the input with the provided name at the given path\n Rive.prototype.retrieveInputAtPath = function (name, path) {\n if (!name) {\n console.warn(\"No input name provided for path '\".concat(path, \"'\"));\n return;\n }\n if (!this.artboard) {\n console.warn(\"Tried to access input: '\".concat(name, \"', at path: '\").concat(path, \"', but the Artboard is null\"));\n return;\n }\n var input = this.artboard.inputByPath(name, path);\n if (!input) {\n console.warn(\"Could not access an input with name: '\".concat(name, \"', at path:'\").concat(path, \"'\"));\n return;\n }\n return input;\n };\n /**\n * Set the boolean input with the provided name at the given path with value\n * @param input the state machine input name\n * @param value the value to set the input to\n * @param path the path the input is located at an artboard level\n */\n Rive.prototype.setBooleanStateAtPath = function (inputName, value, path) {\n var input = this.retrieveInputAtPath(inputName, path);\n if (!input)\n return;\n if (input.type === StateMachineInputType.Boolean) {\n input.asBool().value = value;\n }\n else {\n console.warn(\"Input with name: '\".concat(inputName, \"', at path:'\").concat(path, \"' is not a boolean\"));\n }\n };\n /**\n * Set the number input with the provided name at the given path with value\n * @param input the state machine input name\n * @param value the value to set the input to\n * @param path the path the input is located at an artboard level\n */\n Rive.prototype.setNumberStateAtPath = function (inputName, value, path) {\n var input = this.retrieveInputAtPath(inputName, path);\n if (!input)\n return;\n if (input.type === StateMachineInputType.Number) {\n input.asNumber().value = value;\n }\n else {\n console.warn(\"Input with name: '\".concat(inputName, \"', at path:'\").concat(path, \"' is not a number\"));\n }\n };\n /**\n * Fire the trigger with the provided name at the given path\n * @param input the state machine input name\n * @param path the path the input is located at an artboard level\n */\n Rive.prototype.fireStateAtPath = function (inputName, path) {\n var input = this.retrieveInputAtPath(inputName, path);\n if (!input)\n return;\n if (input.type === StateMachineInputType.Trigger) {\n input.asTrigger().fire();\n }\n else {\n console.warn(\"Input with name: '\".concat(inputName, \"', at path:'\").concat(path, \"' is not a trigger\"));\n }\n };\n // Returns the TextValueRun object for the provided name at the given path\n Rive.prototype.retrieveTextAtPath = function (name, path) {\n if (!name) {\n console.warn(\"No text name provided for path '\".concat(path, \"'\"));\n return;\n }\n if (!path) {\n console.warn(\"No path provided for text '\".concat(name, \"'\"));\n return;\n }\n if (!this.artboard) {\n console.warn(\"Tried to access text: '\".concat(name, \"', at path: '\").concat(path, \"', but the Artboard is null\"));\n return;\n }\n var text = this.artboard.textByPath(name, path);\n if (!text) {\n console.warn(\"Could not access text with name: '\".concat(name, \"', at path:'\").concat(path, \"'\"));\n return;\n }\n return text;\n };\n /**\n * Retrieves the text value for a specified text run at a given path\n * @param textName The name of the text run\n * @param path The path to the text run within the artboard\n * @returns The text value of the text run, or undefined if not found\n *\n * @example\n * // Get the text value for a text run named \"title\" at one nested artboard deep\n * const titleText = riveInstance.getTextRunValueAtPath(\"title\", \"artboard1\");\n *\n * @example\n * // Get the text value for a text run named \"subtitle\" within a nested group two artboards deep\n * const subtitleText = riveInstance.getTextRunValueAtPath(\"subtitle\", \"group/nestedGroup\");\n *\n * @remarks\n * If the text run cannot be found at the specified path, a warning will be logged to the console.\n */\n Rive.prototype.getTextRunValueAtPath = function (textName, path) {\n var run = this.retrieveTextAtPath(textName, path);\n if (!run) {\n console.warn(\"Could not get text with name: '\".concat(textName, \"', at path:'\").concat(path, \"'\"));\n return;\n }\n return run.text;\n };\n /**\n * Sets the text value for a specified text run at a given path\n * @param textName The name of the text run\n * @param value The new text value to set\n * @param path The path to the text run within the artboard\n * @returns void\n *\n * @example\n * // Set the text value for a text run named \"title\" at one nested artboard deep\n * riveInstance.setTextRunValueAtPath(\"title\", \"New Title\", \"artboard1\");\n *\n * @example\n * // Set the text value for a text run named \"subtitle\" within a nested group two artboards deep\n * riveInstance.setTextRunValueAtPath(\"subtitle\", \"New Subtitle\", \"group/nestedGroup\");\n *\n * @remarks\n * If the text run cannot be found at the specified path, a warning will be logged to the console.\n */\n Rive.prototype.setTextRunValueAtPath = function (textName, value, path) {\n var run = this.retrieveTextAtPath(textName, path);\n if (!run) {\n console.warn(\"Could not set text with name: '\".concat(textName, \"', at path:'\").concat(path, \"'\"));\n return;\n }\n run.text = value;\n };\n Object.defineProperty(Rive.prototype, \"playingStateMachineNames\", {\n // Returns a list of playing machine names\n get: function () {\n // If the file's not loaded, we got nothing to return\n if (!this.loaded) {\n return [];\n }\n return this.animator.stateMachines\n .filter(function (m) { return m.playing; })\n .map(function (m) { return m.name; });\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(Rive.prototype, \"playingAnimationNames\", {\n // Returns a list of playing animation names\n get: function () {\n // If the file's not loaded, we got nothing to return\n if (!this.loaded) {\n return [];\n }\n return this.animator.animations.filter(function (a) { return a.playing; }).map(function (a) { return a.name; });\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(Rive.prototype, \"pausedAnimationNames\", {\n // Returns a list of paused animation names\n get: function () {\n // If the file's not loaded, we got nothing to return\n if (!this.loaded) {\n return [];\n }\n return this.animator.animations\n .filter(function (a) { return !a.playing; })\n .map(function (a) { return a.name; });\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(Rive.prototype, \"pausedStateMachineNames\", {\n /**\n * Returns a list of paused machine names\n * @returns a list of state machine names that are paused\n */\n get: function () {\n // If the file's not loaded, we got nothing to return\n if (!this.loaded) {\n return [];\n }\n return this.animator.stateMachines\n .filter(function (m) { return !m.playing; })\n .map(function (m) { return m.name; });\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(Rive.prototype, \"isPlaying\", {\n /**\n * @returns true if any animation is playing\n */\n get: function () {\n return this.animator.isPlaying;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(Rive.prototype, \"isPaused\", {\n /**\n * @returns true if all instanced animations are paused\n */\n get: function () {\n return this.animator.isPaused;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(Rive.prototype, \"isStopped\", {\n /**\n * @returns true if no animations are playing or paused\n */\n get: function () {\n return this.animator.isStopped;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(Rive.prototype, \"bounds\", {\n /**\n * @returns the bounds of the current artboard, or undefined if the artboard\n * isn't loaded yet.\n */\n get: function () {\n return this.artboard ? this.artboard.bounds : undefined;\n },\n enumerable: false,\n configurable: true\n });\n /**\n * Subscribe to Rive-generated events\n * @param type the type of event to subscribe to\n * @param callback callback to fire when the event occurs\n */\n Rive.prototype.on = function (type, callback) {\n this.eventManager.add({\n type: type,\n callback: callback,\n });\n };\n /**\n * Unsubscribes from a Rive-generated event\n * @param type the type of event to unsubscribe from\n * @param callback the callback to unsubscribe\n */\n Rive.prototype.off = function (type, callback) {\n this.eventManager.remove({\n type: type,\n callback: callback,\n });\n };\n /**\n * Unsubscribes from a Rive-generated event\n * @deprecated\n * @param callback the callback to unsubscribe from\n */\n Rive.prototype.unsubscribe = function (type, callback) {\n console.warn(\"This function is deprecated: please use `off()` instead.\");\n this.off(type, callback);\n };\n /**\n * Unsubscribes all Rive listeners from an event type, or everything if no type is\n * given\n * @param type the type of event to unsubscribe from, or all types if\n * undefined\n */\n Rive.prototype.removeAllRiveEventListeners = function (type) {\n this.eventManager.removeAll(type);\n };\n /**\n * Unsubscribes all listeners from an event type, or everything if no type is\n * given\n * @deprecated\n * @param type the type of event to unsubscribe from, or all types if\n * undefined\n */\n Rive.prototype.unsubscribeAll = function (type) {\n console.warn(\"This function is deprecated: please use `removeAllRiveEventListeners()` instead.\");\n this.removeAllRiveEventListeners(type);\n };\n /**\n * Stops the rendering loop; this is different from pausing in that it doesn't\n * change the state of any animation. It stops rendering from occurring. This\n * is designed for situations such as when Rive isn't visible.\n *\n * The only way to start rendering again is to call `startRendering`.\n * Animations that are marked as playing will start from the position that\n * they would have been at if rendering had not been stopped.\n */\n Rive.prototype.stopRendering = function () {\n if (this.loaded && this.frameRequestId) {\n if (this.runtime.cancelAnimationFrame) {\n this.runtime.cancelAnimationFrame(this.frameRequestId);\n }\n else {\n cancelAnimationFrame(this.frameRequestId);\n }\n this.frameRequestId = null;\n }\n };\n /**\n * Starts the rendering loop if it has been previously stopped. If the\n * renderer is already active, then this will have zero effect.\n */\n Rive.prototype.startRendering = function () {\n if (this.loaded && this.artboard && !this.frameRequestId) {\n if (this.runtime.requestAnimationFrame) {\n this.frameRequestId = this.runtime.requestAnimationFrame(this._boundDraw);\n }\n else {\n this.frameRequestId = requestAnimationFrame(this._boundDraw);\n }\n }\n };\n /**\n * Enables frames-per-second (FPS) reporting for the runtime\n * If no callback is provided, Rive will append a fixed-position div at the top-right corner of\n * the page with the FPS reading\n * @param fpsCallback - Callback from the runtime during the RAF loop that supplies the FPS value\n */\n Rive.prototype.enableFPSCounter = function (fpsCallback) {\n this.runtime.enableFPSCounter(fpsCallback);\n };\n /**\n * Disables frames-per-second (FPS) reporting for the runtime\n */\n Rive.prototype.disableFPSCounter = function () {\n this.runtime.disableFPSCounter();\n };\n Object.defineProperty(Rive.prototype, \"contents\", {\n /**\n * Returns the contents of a Rive file: the artboards, animations, and state machines\n */\n get: function () {\n if (!this.loaded) {\n return undefined;\n }\n var riveContents = {\n artboards: [],\n };\n for (var i = 0; i < this.file.artboardCount(); i++) {\n var artboard = this.file.artboardByIndex(i);\n var artboardContents = {\n name: artboard.name,\n animations: [],\n stateMachines: [],\n };\n for (var j = 0; j < artboard.animationCount(); j++) {\n var animation = artboard.animationByIndex(j);\n artboardContents.animations.push(animation.name);\n }\n for (var k = 0; k < artboard.stateMachineCount(); k++) {\n var stateMachine = artboard.stateMachineByIndex(k);\n var name_1 = stateMachine.name;\n var instance = new this.runtime.StateMachineInstance(stateMachine, artboard);\n var inputContents = [];\n for (var l = 0; l < instance.inputCount(); l++) {\n var input = instance.input(l);\n inputContents.push({ name: input.name, type: input.type });\n }\n artboardContents.stateMachines.push({\n name: name_1,\n inputs: inputContents,\n });\n }\n riveContents.artboards.push(artboardContents);\n }\n return riveContents;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(Rive.prototype, \"volume\", {\n /**\n * Getter / Setter for the volume of the artboard\n */\n get: function () {\n if (this.artboard && this.artboard.volume !== this._volume) {\n this._volume = this.artboard.volume;\n }\n return this._volume;\n },\n set: function (value) {\n this._volume = value;\n if (this.artboard) {\n this.artboard.volume = value * audioManager.systemVolume;\n }\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(Rive.prototype, \"artboardWidth\", {\n /**\n * The width of the artboard.\n *\n * This will return 0 if the artboard is not loaded yet and a custom\n * width has not been set.\n *\n * Do not set this value manually when using {@link resizeDrawingSurfaceToCanvas}\n * with a {@link Layout.fit} of {@link Fit.Layout}, as the artboard width is\n * automatically set.\n */\n get: function () {\n var _a;\n if (this.artboard) {\n return this.artboard.width;\n }\n return (_a = this._artboardWidth) !== null && _a !== void 0 ? _a : 0;\n },\n set: function (value) {\n this._artboardWidth = value;\n if (this.artboard) {\n this.artboard.width = value;\n }\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(Rive.prototype, \"artboardHeight\", {\n /**\n * The height of the artboard.\n *\n * This will return 0 if the artboard is not loaded yet and a custom\n * height has not been set.\n *\n * Do not set this value manually when using {@link resizeDrawingSurfaceToCanvas}\n * with a {@link Layout.fit} of {@link Fit.Layout}, as the artboard height is\n * automatically set.\n */\n get: function () {\n var _a;\n if (this.artboard) {\n return this.artboard.height;\n }\n return (_a = this._artboardHeight) !== null && _a !== void 0 ? _a : 0;\n },\n set: function (value) {\n this._artboardHeight = value;\n if (this.artboard) {\n this.artboard.height = value;\n }\n },\n enumerable: false,\n configurable: true\n });\n /**\n * Reset the artboard size to its original values.\n */\n Rive.prototype.resetArtboardSize = function () {\n if (this.artboard) {\n this.artboard.resetArtboardSize();\n this._artboardWidth = this.artboard.width;\n this._artboardHeight = this.artboard.height;\n }\n else {\n // If the artboard isn't loaded, we need to reset the custom width and height\n this._artboardWidth = undefined;\n this._artboardHeight = undefined;\n }\n };\n Object.defineProperty(Rive.prototype, \"devicePixelRatioUsed\", {\n /**\n * The device pixel ratio used in rendering and canvas/artboard resizing.\n *\n * This value will be overidden by the device pixel ratio used in\n * {@link resizeDrawingSurfaceToCanvas}. If you use that method, do not set this value.\n */\n get: function () {\n return this._devicePixelRatioUsed;\n },\n set: function (value) {\n this._devicePixelRatioUsed = value;\n },\n enumerable: false,\n configurable: true\n });\n // Error message for missing source or buffer\n Rive.missingErrorMessage = \"Rive source file or data buffer required\";\n // Error message for removed rive file\n Rive.cleanupErrorMessage = \"Attempt to use file after calling cleanup.\";\n return Rive;\n}());\n\n// Loads Rive data from a URI via fetch.\nvar loadRiveFile = function (src) { return __awaiter(void 0, void 0, void 0, function () {\n var req, res, buffer;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n req = new Request(src);\n return [4 /*yield*/, fetch(req)];\n case 1:\n res = _a.sent();\n return [4 /*yield*/, res.arrayBuffer()];\n case 2:\n buffer = _a.sent();\n return [2 /*return*/, buffer];\n }\n });\n}); };\n// #endregion\n// #region utility functions\n/*\n * Utility function to ensure an object is a string array\n */\nvar mapToStringArray = function (obj) {\n if (typeof obj === \"string\") {\n return [obj];\n }\n else if (obj instanceof Array) {\n return obj;\n }\n // If obj is undefined, return empty array\n return [];\n};\n// #endregion\n// #region testing utilities\n// Exports to only be used for tests\nvar Testing = {\n EventManager: EventManager,\n TaskQueueManager: TaskQueueManager,\n};\n// #endregion\n// #region asset loaders\n/**\n * Decodes bytes into an audio asset.\n *\n * Be sure to call `.unref()` on the audio once it is no longer needed. This\n * allows the engine to clean it up when it is not used by any more animations.\n */\nvar decodeAudio = function (bytes) {\n return new Promise(function (resolve) {\n return RuntimeLoader.getInstance(function (rive) {\n rive.decodeAudio(bytes, resolve);\n });\n });\n};\n/**\n * Decodes bytes into an image.\n *\n * Be sure to call `.unref()` on the image once it is no longer needed. This\n * allows the engine to clean it up when it is not used by any more animations.\n */\nvar decodeImage = function (bytes) {\n return new Promise(function (resolve) {\n return RuntimeLoader.getInstance(function (rive) {\n rive.decodeImage(bytes, resolve);\n });\n });\n};\n/**\n * Decodes bytes into a font.\n *\n * Be sure to call `.unref()` on the font once it is no longer needed. This\n * allows the engine to clean it up when it is not used by any more animations.\n */\nvar decodeFont = function (bytes) {\n return new Promise(function (resolve) {\n return RuntimeLoader.getInstance(function (rive) {\n rive.decodeFont(bytes, resolve);\n });\n });\n};\n// #endregion\n\n})();\n\n/******/ \treturn __webpack_exports__;\n/******/ })()\n;\n});\n//# sourceMappingURL=rive.js.map","/**\n * Returns a function, that, as long as it continues to be invoked, will not\n * be triggered. The function will be called after it stops being called for\n * N milliseconds. If `immediate` is passed, trigger the function on the\n * leading edge, instead of the trailing. The function also has a property 'clear' \n * that is a function which will clear the timer to prevent previously scheduled executions. \n *\n * @source underscore.js\n * @see http://unscriptable.com/2009/03/20/debouncing-javascript-methods/\n * @param {Function} function to wrap\n * @param {Number} timeout in ms (`100`)\n * @param {Boolean} whether to execute at the beginning (`false`)\n * @api public\n */\nfunction debounce(func, wait, immediate){\n var timeout, args, context, timestamp, result;\n if (null == wait) wait = 100;\n\n function later() {\n var last = Date.now() - timestamp;\n\n if (last < wait && last >= 0) {\n timeout = setTimeout(later, wait - last);\n } else {\n timeout = null;\n if (!immediate) {\n result = func.apply(context, args);\n context = args = null;\n }\n }\n };\n\n var debounced = function(){\n context = this;\n args = arguments;\n timestamp = Date.now();\n var callNow = immediate && !timeout;\n if (!timeout) timeout = setTimeout(later, wait);\n if (callNow) {\n result = func.apply(context, args);\n context = args = null;\n }\n\n return result;\n };\n\n debounced.clear = function() {\n if (timeout) {\n clearTimeout(timeout);\n timeout = null;\n }\n };\n \n debounced.flush = function() {\n if (timeout) {\n result = func.apply(context, args);\n context = args = null;\n \n clearTimeout(timeout);\n timeout = null;\n }\n };\n\n return debounced;\n};\n\n// Adds compatibility for ES modules\ndebounce.debounce = debounce;\n\nmodule.exports = debounce;\n","module.exports = __WEBPACK_EXTERNAL_MODULE__1024__;","module.exports = __WEBPACK_EXTERNAL_MODULE__314__;","import { l, k, c, b, d, e, f, g } from './chunk-DCAKKOYV.js';\n\nvar m=class{_dotLottie;_animationsMap=new Map;_themeMap=new Map;_stateMachinesMap=new Map;_manifest;get dotLottie(){return this._dotLottie}get animationsMap(){return this._animationsMap}get themeMap(){return this._themeMap}get stateMachinesMap(){return this._stateMachinesMap}get manifest(){return this._manifest}async loadFromUrl(i){let t=await fetch(i,{method:\"GET\",mode:\"cors\"});if(!t.ok)throw new Error(`Failed to load dotLottie from ${i} with status ${t.status}`);let a=t.headers.get(\"content-type\");if(a!=null&&a.includes(\"application/json\")){let e=await t.json();if(!l(e))throw new Error(`Invalid lottie JSON at ${i}`);let n=k(i);this._animationsMap.set(n,e);let p={activeAnimationId:n,animations:[{id:n}]};this._manifest=p;}else {this._dotLottie=await c(await t.arrayBuffer());let e=await b(this._dotLottie);if(!e)throw new Error(\"Manifest not found\");this._manifest=e;}}loadFromLottieJSON(i){if(!l(i))throw new Error(\"Invalid lottie JSON\");let t=\"my-animation\";this._animationsMap.set(t,i);let a={activeAnimationId:t,animations:[{id:t}]};this._manifest=a;}async loadFromArrayBuffer(i){this._dotLottie=await c(i);let t=await b(this._dotLottie);if(!t)throw new Error(\"Manifest not found\");this._manifest=t;}async getAnimation(i){if(this._animationsMap.get(i))return this._animationsMap.get(i);if(!this._dotLottie)return;let t=await d(this._dotLottie,i,{inlineAssets:!0});return t&&this._animationsMap.set(i,t),t}async getTheme(i){if(this._themeMap.get(i))return this._themeMap.get(i);if(!this._dotLottie)return;let t=await e(this._dotLottie,i);return t&&this._themeMap.set(i,t),t}async getStateMachines(){if(!this._dotLottie)return;let i=await f(this._dotLottie);for(let t in i)if(t){let a=i[t];if(a){let e=JSON.parse(a);if(e){let n=e.descriptor.id;this._stateMachinesMap.get(n)||this._stateMachinesMap.set(n,e);}}}return Array.from(this._stateMachinesMap.values())}async getStateMachine(i){if(this._stateMachinesMap.get(i))return this._stateMachinesMap.get(i);if(!this._dotLottie)return;let t=await g(this._dotLottie,i);return t&&this._stateMachinesMap.set(t.descriptor.id,t),t}};\n\nexport { m as a };\n//# sourceMappingURL=out.js.map\n//# sourceMappingURL=chunk-74T7T5LL.js.map","var g=Object.create;var f=Object.defineProperty;var h=Object.getOwnPropertyDescriptor;var i=Object.getOwnPropertyNames;var j=Object.getPrototypeOf,k=Object.prototype.hasOwnProperty;var m=(b,a)=>()=>(a||b((a={exports:{}}).exports,a),a.exports);var l=(b,a,c,e)=>{if(a&&typeof a==\"object\"||typeof a==\"function\")for(let d of i(a))!k.call(b,d)&&d!==c&&f(b,d,{get:()=>a[d],enumerable:!(e=h(a,d))||e.enumerable});return b};var n=(b,a,c)=>(c=b!=null?g(j(b)):{},l(a||!b||!b.__esModule?f(c,\"default\",{value:b,enumerable:!0}):c,b));\n\nexport { m as a, n as b };\n//# sourceMappingURL=out.js.map\n//# sourceMappingURL=chunk-B7OIQIGJ.js.map","function a(){throw new Error(\"Cycle detected\")}function d(){if(e>1)e--;else {for(var t,i=!1;h!==void 0;){var o=h;for(h=void 0,c++;o!==void 0;){var n=o.o;if(o.o=void 0,o.f&=-3,!(8&o.f)&&S(o))try{o.c();}catch(_){i||(t=_,i=!0);}o=n;}}if(c=0,e--,i)throw t}}var r=void 0;var h=void 0,e=0,c=0,u=0;function l(t){if(r!==void 0){var i=t.n;if(i===void 0||i.t!==r)return i={i:0,S:t,p:r.s,n:void 0,t:r,e:void 0,x:void 0,r:i},r.s!==void 0&&(r.s.n=i),r.s=i,t.n=i,32&r.f&&t.S(i),i;if(i.i===-1)return i.i=0,i.n!==void 0&&(i.n.p=i.p,i.p!==void 0&&(i.p.n=i.n),i.p=r.s,i.n=void 0,r.s.n=i,r.s=i),i}}function s(t){this.v=t,this.i=0,this.n=void 0,this.t=void 0;}s.prototype.h=function(){return !0};s.prototype.S=function(t){this.t!==t&&t.e===void 0&&(t.x=this.t,this.t!==void 0&&(this.t.e=t),this.t=t);};s.prototype.U=function(t){if(this.t!==void 0){var i=t.e,o=t.x;i!==void 0&&(i.x=o,t.e=void 0),o!==void 0&&(o.e=i,t.x=void 0),t===this.t&&(this.t=o);}};s.prototype.subscribe=function(t){var i=this;return m(function(){var o=i.value,n=32&this.f;this.f&=-33;try{t(o);}finally{this.f|=n;}})};s.prototype.valueOf=function(){return this.value};s.prototype.toString=function(){return this.value+\"\"};s.prototype.toJSON=function(){return this.value};s.prototype.peek=function(){return this.v};Object.defineProperty(s.prototype,\"value\",{get:function(){var t=l(this);return t!==void 0&&(t.i=this.i),this.v},set:function(t){if(r instanceof f&&function(){throw new Error(\"Computed cannot have side-effects\")}(),t!==this.v){c>100&&a(),this.v=t,this.i++,u++,e++;try{for(var i=this.t;i!==void 0;i=i.x)i.t.N();}finally{d();}}}});function y(t){return new s(t)}function S(t){for(var i=t.s;i!==void 0;i=i.n)if(i.S.i!==i.i||!i.S.h()||i.S.i!==i.i)return !0;return !1}function w(t){for(var i=t.s;i!==void 0;i=i.n){var o=i.S.n;if(o!==void 0&&(i.r=o),i.S.n=i,i.i=-1,i.n===void 0){t.s=i;break}}}function b(t){for(var i=t.s,o=void 0;i!==void 0;){var n=i.p;i.i===-1?(i.S.U(i),n!==void 0&&(n.n=i.n),i.n!==void 0&&(i.n.p=n)):o=i,i.S.n=i.r,i.r!==void 0&&(i.r=void 0),i=n;}t.s=o;}function f(t){s.call(this,void 0),this.x=t,this.s=void 0,this.g=u-1,this.f=4;}(f.prototype=new s).h=function(){if(this.f&=-3,1&this.f)return !1;if((36&this.f)==32||(this.f&=-5,this.g===u))return !0;if(this.g=u,this.f|=1,this.i>0&&!S(this))return this.f&=-2,!0;var t=r;try{w(this),r=this;var i=this.x();(16&this.f||this.v!==i||this.i===0)&&(this.v=i,this.f&=-17,this.i++);}catch(o){this.v=o,this.f|=16,this.i++;}return r=t,b(this),this.f&=-2,!0};f.prototype.S=function(t){if(this.t===void 0){this.f|=36;for(var i=this.s;i!==void 0;i=i.n)i.S.S(i);}s.prototype.S.call(this,t);};f.prototype.U=function(t){if(this.t!==void 0&&(s.prototype.U.call(this,t),this.t===void 0)){this.f&=-33;for(var i=this.s;i!==void 0;i=i.n)i.S.U(i);}};f.prototype.N=function(){if(!(2&this.f)){this.f|=6;for(var t=this.t;t!==void 0;t=t.x)t.t.N();}};f.prototype.peek=function(){if(this.h()||a(),16&this.f)throw this.v;return this.v};Object.defineProperty(f.prototype,\"value\",{get:function(){1&this.f&&a();var t=l(this);if(this.h(),t!==void 0&&(t.i=this.i),16&this.f)throw this.v;return this.v}});function x(t){var i=t.u;if(t.u=void 0,typeof i==\"function\"){e++;var o=r;r=void 0;try{i();}catch(n){throw t.f&=-2,t.f|=8,p(t),n}finally{r=o,d();}}}function p(t){for(var i=t.s;i!==void 0;i=i.n)i.S.U(i);t.x=void 0,t.s=void 0,x(t);}function T(t){if(r!==this)throw new Error(\"Out-of-order effect\");b(this),r=t,this.f&=-2,8&this.f&&p(this),d();}function v(t){this.x=t,this.u=void 0,this.s=void 0,this.o=void 0,this.f=32;}v.prototype.c=function(){var t=this.S();try{if(8&this.f||this.x===void 0)return;var i=this.x();typeof i==\"function\"&&(this.u=i);}finally{t();}};v.prototype.S=function(){1&this.f&&a(),this.f|=1,this.f&=-9,x(this),w(this),e++;var t=r;return r=this,T.bind(this,t)};v.prototype.N=function(){2&this.f||(this.f|=2,this.o=h,h=this);};v.prototype.d=function(){this.f|=8,1&this.f||p(this);};function m(t){var i=new v(t);try{i.c();}catch(o){throw i.d(),o}return i.d.bind(i)}var g=class{_state;_prevState;constructor(i){this._prevState=i,this._state=y(i);}setState(i){this._prevState=this._state.value,this._state.value=i;}subscribe(i){return this._state.subscribe(o=>i(o,this._prevState))}};\n\nexport { g as a };\n//# sourceMappingURL=out.js.map\n//# sourceMappingURL=chunk-BHJSY5WG.js.map","var Vt={},ge=function(t,e,r,a,n){var i=new Worker(Vt[e]||(Vt[e]=URL.createObjectURL(new Blob([t+';addEventListener(\"error\",function(e){e=e.error;postMessage({$e$:[e.message,e.code,e.stack]})})'],{type:\"text/javascript\"}))));return i.onmessage=function(s){var u=s.data,l=u.$e$;if(l){var o=new Error(l[0]);o.code=l[1],o.stack=l[2],n(o,null);}else n(null,u);},i.postMessage(r,a),i},O=Uint8Array,H=Uint16Array,Ct=Int32Array,At=new O([0,0,0,0,0,0,0,0,1,1,1,1,2,2,2,2,3,3,3,3,4,4,4,4,5,5,5,5,0,0,0,0]),bt=new O([0,0,0,0,1,1,2,2,3,3,4,4,5,5,6,6,7,7,8,8,9,9,10,10,11,11,12,12,13,13,0,0]),qt=new O([16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15]),Rt=function(t,e){for(var r=new H(31),a=0;a<31;++a)r[a]=e+=1<>1|(_&21845)<<1,R=(R&52428)>>2|(R&13107)<<2,R=(R&61680)>>4|(R&3855)<<4,ut[_]=((R&65280)>>8|(R&255)<<8)>>1;var R,_,K=function(t,e,r){for(var a=t.length,n=0,i=new H(e);n>l]=o;}else for(u=new H(a),n=0;n>15-t[n]);return u},tt=new O(288);for(_=0;_<144;++_)tt[_]=8;var _;for(_=144;_<256;++_)tt[_]=9;var _;for(_=256;_<280;++_)tt[_]=7;var _;for(_=280;_<288;++_)tt[_]=8;var _,Wt=new O(32);for(_=0;_<32;++_)Wt[_]=5;var _;var Gt=K(tt,9,1);var Zt=K(Wt,5,1),st=function(t){for(var e=t[0],r=1;re&&(e=t[r]);return e},N=function(t,e,r){var a=e/8|0;return (t[a]|t[a+1]<<8)>>(e&7)&r},ot=function(t,e){var r=e/8|0;return (t[r]|t[r+1]<<8|t[r+2]<<16)>>(e&7)},Kt=function(t){return (t+7)/8|0},lt=function(t,e,r){return (e==null||e<0)&&(e=0),(r==null||r>t.length)&&(r=t.length),new O(t.subarray(e,r))};var Yt=[\"unexpected EOF\",\"invalid block type\",\"invalid length/literal\",\"invalid distance\",\"stream finished\",\"no stream handler\",,\"no callback\",\"invalid UTF-8 data\",\"extra field too long\",\"date not in range 1980-2099\",\"filename too long\",\"stream finishing\",\"invalid zip data\"],E=function(t,e,r){var a=new Error(e||Yt[t]);if(a.code=t,Error.captureStackTrace&&Error.captureStackTrace(a,E),!r)throw a;return a},Xt=function(t,e,r,a){var n=t.length,i=a?a.length:0;if(!n||e.f&&!e.l)return r||new O(0);var s=!r,u=s||e.i!=2,l=e.i;s&&(r=new O(n*3));var o=function(Ut){var Ft=r.length;if(Ut>Ft){var Bt=new O(Math.max(Ft*2,Ut));Bt.set(r),r=Bt;}},c=e.f||0,f=e.p||0,h=e.b||0,p=e.l,m=e.d,d=e.m,y=e.n,v=n*8;do{if(!p){c=N(t,f,1);var A=N(t,f+1,3);if(f+=3,A)if(A==1)p=Gt,m=Zt,d=9,y=5;else if(A==2){var C=N(t,f,31)+257,D=N(t,f+10,15)+4,V=C+N(t,f+5,31)+1;f+=14;for(var x=new O(V),q=new O(19),b=0;b>4;if(g<16)x[b++]=g;else {var T=0,at=0;for(g==16?(at=3+N(t,f,3),f+=2,T=x[b-1]):g==17?(at=3+N(t,f,7),f+=3):g==18&&(at=11+N(t,f,127),f+=7);at--;)x[b++]=T;}}var Tt=x.subarray(0,C),$=x.subarray(C);d=st(Tt),y=st($),p=K(Tt,d,1),m=K($,y,1);}else E(1);else {var g=Kt(f)+4,M=t[g-4]|t[g-3]<<8,S=g+M;if(S>n){l&&E(0);break}u&&o(h+M),r.set(t.subarray(g,S),h),e.b=h+=M,e.p=f=S*8,e.f=c;continue}if(f>v){l&&E(0);break}}u&&o(h+131072);for(var me=(1<>4;if(f+=T&15,f>v){l&&E(0);break}if(T||E(2),Z<256)r[h++]=Z;else if(Z==256){vt=f,p=null;break}else {var Nt=Z-254;if(Z>264){var b=Z-257,Q=At[b];Nt=N(t,f,(1<>4;yt||E(3),f+=yt&15;var $=Ht[gt];if(gt>3){var Q=bt[gt];$+=ot(t,f)&(1<v){l&&E(0);break}u&&o(h+131072);var jt=h+Nt;if(h<$){var Lt=i-$,ye=Math.min($,jt);for(Lt+h<0&&E(3);h>>0},_t=function(t,e){return F(t,e)+F(t,e+4)*4294967296};function Oe(t,e,r){return r||(r=e,e={}),typeof r!=\"function\"&&E(7),Ee(t,e,[xe],function(a){return Qt(xt(a.data[0],te(a.data[1])))},1,r)}function xt(t,e){return Xt(t,{i:2},e&&e.out,e&&e.dictionary)}var wt=typeof TextDecoder<\"u\"&&new TextDecoder,ze=0;try{wt.decode(we,{stream:!0}),ze=1;}catch{}var Se=function(t){for(var e=\"\",r=0;;){var a=t[r++],n=(a>127)+(a>223)+(a>239);if(r+n>t.length)return {s:e,r:lt(t,r-1)};n?n==3?(a=((a&15)<<18|(t[r++]&63)<<12|(t[r++]&63)<<6|t[r++]&63)-65536,e+=String.fromCharCode(55296|a>>10,56320|a&1023)):n&1?e+=String.fromCharCode((a&31)<<6|t[r++]&63):e+=String.fromCharCode((a&15)<<12|(t[r++]&63)<<6|t[r++]&63):e+=String.fromCharCode(a);}};function W(t,e){if(e){for(var r=\"\",a=0;a65558)return s(E(13,0,1),null),n;var l=P(t,u+8);if(l){var o=l,c=F(t,u+16),f=c==4294967295||o==65535;if(f){var h=F(t,u-12);f=F(t,h)==101075792,f&&(o=l=F(t,h+32),c=F(t,h+48));}for(var p=e&&e.filter,m=function(y){var v=De(t,c,f),A=v[0],g=v[1],M=v[2],S=v[3],C=v[4],D=v[5],V=Me(t,D);c=C;var x=function(b,L){b?(n(),s(b,null)):(L&&(i[S]=L),--l||s(null,i));};if(!p||p({name:S,size:g,originalSize:M,compression:A}))if(!A)x(null,lt(t,V,V+g));else if(A==8){var q=t.subarray(V,V+g);if(g<32e4)try{x(null,xt(q,{out:new O(M)}));}catch(b){x(b,null);}else a.push(Oe(q,{size:M},x));}else x(E(14,\"unknown compression type \"+A,1),null);else x(null,null);},d=0;d{if(r.path){let a=r.path.map(({key:n})=>n).join(\".\");e.nested[a]=[...e.nested[a]||[],r.message];}else e.root=[...e.root||[],r.message];return e},{nested:{}})}var Ne=class extends Error{issues;constructor(t){super(t[0].message),this.name=\"ValiError\",this.issues=t;}};function je(t,e){return {reason:t==null?void 0:t.reason,validation:e.validation,origin:(t==null?void 0:t.origin)||\"value\",message:e.message,input:e.input,abortEarly:t==null?void 0:t.abortEarly,abortPipeEarly:t==null?void 0:t.abortPipeEarly}}function Le(t,e){return {reason:e,origin:t==null?void 0:t.origin,abortEarly:t==null?void 0:t.abortEarly,abortPipeEarly:t==null?void 0:t.abortPipeEarly}}function J(t,e,r,a){if(!e||!e.length)return {output:t};let n,i,s=t;for(let u of e){let l=u(s);if(l.issue){n=n||Le(r,a);let o=je(n,l.issue);if(i?i.push(o):i=[o],n.abortEarly||n.abortPipeEarly)break}else s=l.output;}return i?{issues:i}:{output:s}}function B(t,e){return !t||typeof t==\"string\"?[t,e]:[void 0,t]}function k(t,e,r,a,n,i){return {issues:[{reason:e,validation:r,origin:(t==null?void 0:t.origin)||\"value\",message:a,input:n,issues:i,abortEarly:t==null?void 0:t.abortEarly,abortPipeEarly:t==null?void 0:t.abortPipeEarly}]}}function ne(t=[]){return {schema:\"any\",async:!1,_parse(e,r){return J(e,t,r,\"any\")}}}function Y(t,e,r){let[a,n]=B(e,r);return {schema:\"array\",array:{item:t},async:!1,_parse(i,s){if(!Array.isArray(i))return k(s,\"type\",\"array\",a||\"Invalid type\",i);let u,l=[];for(let o=0;ou.length)return k(l,\"type\",\"tuple\",i||\"Invalid type\",u);let o,c=[];for(let f=0;f({...i,...s.object}),{}),a,n)}function ie(t,e,r,a){let[n,i]=B(r,a);return z(Object.entries(t.object).reduce((s,[u,l])=>e.includes(u)?s:{...s,[u]:l},{}),n,i)}function se(t,e,r){let a=t._parse(e,r);return a.issues?{success:!1,error:new Ne(a.issues),issues:a.issues}:{success:!0,data:a.output,output:a.output}}function ht(t,e){return r=>r>t?{issue:{validation:\"max_value\",message:e||\"Invalid value\",input:r}}:{output:r}}function dt(t,e){return r=>re in t?St(t,e,{enumerable:!0,configurable:!0,writable:!0,value:r}):t[e]=r,et=(t,e)=>function(){return e||(0, t[fe(t)[0]])((e={exports:{}}).exports,e),e.exports},Re=(t,e,r,a)=>{if(e&&typeof e==\"object\"||typeof e==\"function\")for(let n of fe(e))!Ce.call(t,n)&&n!==r&&St(t,n,{get:()=>e[n],enumerable:!(a=Pe(e,n))||a.enumerable});return t},$e=(t,e,r)=>(r=t!=null?Ve(ke(t)):{},Re(e||!t||!t.__esModule?St(r,\"default\",{value:t,enumerable:!0}):r,t)),Je=(t,e,r)=>(qe(t,typeof e!=\"symbol\"?e+\"\":e,r),r),He=et({\"../../node_modules/.pnpm/@rgba-image+copy@0.1.3/node_modules/@rgba-image/copy/dist/index.js\"(t){Object.defineProperty(t,\"__esModule\",{value:!0}),t.copy=void 0;var e=(r,a,n=0,i=0,s=r.width-n,u=r.height-i,l=0,o=0)=>{if(n=n|0,i=i|0,s=s|0,u=u|0,l=l|0,o=o|0,s<=0||u<=0)return;let c=new Uint32Array(r.data.buffer),f=new Uint32Array(a.data.buffer);for(let h=0;h=r.height)continue;let m=o+h;if(!(m<0||m>=a.height))for(let d=0;d=r.width)continue;let v=l+d;if(v<0||v>=a.width)continue;let A=p*r.width+y,g=m*a.width+v;f[g]=c[A];}}};t.copy=e;}}),We=et({\"../../node_modules/.pnpm/@rgba-image+create-image@0.1.1/node_modules/@rgba-image/create-image/dist/index.js\"(t){Object.defineProperty(t,\"__esModule\",{value:!0}),t.CreateImageFactory=(e=[0,0,0,0],r=4)=>{if(r=Math.floor(r),isNaN(r)||r<1)throw TypeError(\"channels should be a positive non-zero number\");if(!(\"length\"in e)||e.lengthi===0);return (i,s,u)=>{if(i===void 0||s===void 0)throw TypeError(\"Not enough arguments\");if(i=Math.floor(i),s=Math.floor(s),isNaN(i)||i<1||isNaN(s)||s<1)throw TypeError(\"Index or size is negative or greater than the allowed amount\");let l=i*s*r;if(u===void 0&&(u=new Uint8ClampedArray(l)),u instanceof Uint8ClampedArray){if(u.length!==l)throw TypeError(\"Index or size is negative or greater than the allowed amount\");if(!a)for(let o=0;o{if(i<=-s||i>=s||i==0)return 0;let u=i*Math.PI;return Math.sin(u)/u*Math.sin(u/s)/(u/s)},a=i=>Math.round(i*((1<{let c=o?2:3,f=1/u,h=Math.min(1,u),p=c/h,m=Math.floor((p+1)*2),d=new Int16Array((m+2)*s),y=0;for(let v=0;v>1]+=a(1-q);let b=0;for(;b0&&D[L]===0;)L--;let mt=g+b,nt=L-b+1;d[y++]=mt,d[y++]=nt,d.set(D.subarray(b,L+1),y),y+=nt;}return d};t.filters=n;}}),Ze=et({\"../../node_modules/.pnpm/@rgba-image+lanczos@0.1.1/node_modules/@rgba-image/lanczos/dist/convolve.js\"(t){Object.defineProperty(t,\"__esModule\",{value:!0}),t.convolve=void 0;var e=14,r=(a,n,i,s,u,l)=>{let o=0,c=0;for(let f=0;f0;M--){let S=l[h++];y=y+S*a[d]|0,v=v+S*a[d+1]|0,A=A+S*a[d+2]|0,g=g+S*a[d+3]|0,d=d+4|0;}n[c]=y+8192>>e,n[c+1]=v+8192>>e,n[c+2]=A+8192>>e,n[c+3]=g+8192>>e,c=c+s*4|0;}c=(f+1)*4|0,o=(f+1)*i*4|0;}};t.convolve=r;}}),Ke=et({\"../../node_modules/.pnpm/@rgba-image+lanczos@0.1.1/node_modules/@rgba-image/lanczos/dist/index.js\"(t){Object.defineProperty(t,\"__esModule\",{value:!0}),t.lanczos2=t.lanczos=void 0;var e=He(),r=We(),a=Ge(),n=Ze(),i=(l,o,c=!1)=>{let f=o.width/l.width,h=o.height/l.height,p=a.filters(l.width,o.width,f,0,c),m=a.filters(l.height,o.height,h,0,c),d=new Uint8ClampedArray(o.width*l.height*4);n.convolve(l.data,d,l.width,l.height,o.width,p),n.convolve(d,o.data,l.height,o.width,o.height,m);},s=(l,o,c=0,f=0,h=l.width-c,p=l.height-f,m=0,d=0,y=o.width-m,v=o.height-d)=>{if(c=c|0,f=f|0,h=h|0,p=p|0,m=m|0,d=d|0,y=y|0,v=v|0,h<=0||p<=0||y<=0||v<=0)return;if(c===0&&f===0&&h===l.width&&p===l.height&&m===0&&d===0&&y===o.width&&v===o.height){i(l,o);return}let A=r.createImage(h,p),g=r.createImage(y,v);e.copy(l,A,c,f),i(A,g),e.copy(g,o,0,0,g.width,g.height,m,d);};t.lanczos=s;var u=(l,o,c=0,f=0,h=l.width-c,p=l.height-f,m=0,d=0,y=o.width-m,v=o.height-d)=>{if(c=c|0,f=f|0,h=h|0,p=p|0,m=m|0,d=d|0,y=y|0,v=v|0,h<=0||p<=0||y<=0||v<=0)return;if(c===0&&f===0&&h===l.width&&p===l.height&&m===0&&d===0&&y===o.width&&v===o.height){i(l,o,!0);return}let A=r.createImage(h,p),g=r.createImage(y,v);e.copy(l,A,c,f),i(A,g,!0),e.copy(g,o,0,0,g.width,g.height,m,d);};t.lanczos2=u;}});var he=(t=>(t.Bounce=\"bounce\",t.Normal=\"normal\",t))(he||{}),Ye=ae(he),de=z({autoplay:w(ct()),defaultTheme:w(I()),direction:w(ft([Et(1),Et(-1)])),hover:w(ct()),id:I(),intermission:w(j()),loop:w(ft([ct(),j()])),playMode:w(Ye),speed:w(j()),themeColor:w(I())}),Xe=z({animations:Y(I()),id:I()}),Qe=z({activeAnimationId:w(I()),animations:Y(de),author:w(I()),custom:w(Ot(I(),ne())),description:w(I()),generator:w(I()),keywords:w(I()),revision:w(j()),themes:w(Y(Xe)),states:w(Y(I())),version:w(I())}),tr=ie(de,[\"id\"]),G=z({state:I()}),er=G,rr=X([G,z({ms:j()})]),nr=X([G,z({count:j()})]),ar=G,ir=G,sr=G,or=X([G,z({threshold:w(Y(j([dt(0),ht(1)])))})]),ur=z({onAfter:w(rr),onClick:w(er),onComplete:w(sr),onEnter:w(nr),onMouseEnter:w(ar),onMouseLeave:w(ir),onShow:w(or)}),lr=X([tr,z({playOnScroll:w(zt([j([dt(0),ht(1)]),j([dt(0),ht(1)])])),segments:w(ft([zt([j(),j()]),I()]))})]);X([ur,z({animationId:w(I()),playbackSettings:lr})]);var dr={jpeg:\"image/jpeg\",png:\"image/png\",gif:\"image/gif\",bmp:\"image/bmp\",svg:\"image/svg+xml\",webp:\"image/webp\",mpeg:\"audio/mpeg\",mp3:\"audio/mp3\"},oe={jpeg:[255,216,255],png:[137,80,78,71,13,10,26,10],gif:[71,73,70],bmp:[66,77],webp:[82,73,70,70,87,69,66,80],svg:[60,63,120],mp3:[73,68,51,3,0,0,0,0],mpeg:[73,68,51,3,0,0,0,0]};var pr=t=>{let e=null,r=[];if(!t)return null;let a=t.substring(t.indexOf(\",\")+1);typeof window>\"u\"?e=Buffer.from(a,\"base64\").toString(\"binary\"):e=atob(a);let n=new Uint8Array(e.length);for(let i=0;iu===s[l]))return dr[i]}return null};var Mt=class extends Error{constructor(t,e){super(t),Je(this,\"code\"),this.name=\"[dotlottie-js]\",this.code=e;}};function pe(t){let e;if(typeof window>\"u\")e=Buffer.from(t).toString(\"base64\");else {let a=Array.prototype.map.call(t,n=>String.fromCharCode(n)).join(\"\");e=window.btoa(a);}return `data:${pr(e)};base64,${e}`}function ue(t){return \"w\"in t&&\"h\"in t&&!(\"xt\"in t)&&\"p\"in t}function pt(t){return !(\"h\"in t)&&!(\"w\"in t)&&\"p\"in t&&\"e\"in t&&\"u\"in t&&\"id\"in t}async function rt(t,e=()=>!0){if(!(t instanceof Uint8Array))throw new Mt(\"DotLottie not found\",\"INVALID_DOTLOTTIE\");return await new Promise((a,n)=>{ee(t,{filter:e},(i,s)=>{i&&n(i),a(s);});})}async function Dt(t,e,r){if(!(t instanceof Uint8Array))throw new Mt(\"DotLottie not found\",\"INVALID_DOTLOTTIE\");return (await rt(t,n=>n.name===e&&(!r||r(n))))[e]}async function mr(t){let e=\"manifest.json\",a=(await rt(t,n=>n.name===e))[e];if(!(typeof a>\"u\"))return JSON.parse(W(a,!1))}async function vr(t){if(!(t instanceof Uint8Array))return {success:!1,error:\"DotLottie not found\"};let e=await mr(t);if(typeof e>\"u\")return {success:!1,error:\"Invalid .lottie file, manifest.json is missing\"};let r=se(Qe,e);return r.success?{success:!0}:{success:!1,error:`Invalid .lottie file, manifest.json structure is invalid, ${JSON.stringify(re(r.error).nested,null,2)}`}}async function Yr(t){let e=new Uint8Array(t),r=await vr(e);if(r.error)throw new Mt(r.error,\"INVALID_DOTLOTTIE\");return e}async function yr(t,e){let r=await rt(t,n=>{let i=n.name.replace(\"audio/\",\"\");return n.name.startsWith(\"audio/\")&&(!e||e({...n,name:i}))}),a={};for(let n in r){let i=r[n];if(i instanceof Uint8Array){let s=n.replace(\"audio/\",\"\");a[s]=pe(i);}}return a}async function gr(t,e){var n;let r=new Map;for(let[i,s]of Object.entries(e))for(let u of s.assets||[])if(pt(u)){let l=u.p;r.has(l)||r.set(l,new Set),(n=r.get(l))==null||n.add(i);}let a=await yr(t,i=>r.has(i.name));for(let[i,s]of r){let u=a[i];if(u)for(let l of s){let o=e[l];for(let c of (o==null?void 0:o.assets)||[])pt(c)&&c.p===i&&(c.p=u,c.u=\"\",c.e=1);}}}async function _r(t,e){let r=await rt(t,n=>{let i=n.name.replace(\"images/\",\"\");return n.name.startsWith(\"images/\")&&(!e||e({...n,name:i}))}),a={};for(let n in r){let i=r[n];if(i instanceof Uint8Array){let s=n.replace(\"images/\",\"\");a[s]=pe(i);}}return a}async function wr(t,e){var n;let r=new Map;for(let[i,s]of Object.entries(e))for(let u of s.assets||[])if(ue(u)){let l=u.p;r.has(l)||r.set(l,new Set),(n=r.get(l))==null||n.add(i);}let a=await _r(t,i=>r.has(i.name));for(let[i,s]of r){let u=a[i];if(u)for(let l of s){let o=e[l];for(let c of (o==null?void 0:o.assets)||[])ue(c)&&c.p===i&&(c.p=u,c.u=\"\",c.e=1);}}}async function Xr(t,e,{inlineAssets:r}={},a){let n=`animations/${e}.json`,i=await Dt(t,n,a);if(typeof i>\"u\")return;let s=JSON.parse(W(i,!1));if(!r)return s;let u={[e]:s};return await wr(t,u),await gr(t,u),s}async function Qr(t,e,r){let a=`themes/${e}.json`,n=await Dt(t,a,r);if(!(typeof n>\"u\"))return JSON.parse(W(n,!1))}async function tn(t,e){let r={},a=await rt(t,n=>{let i=n.name.replace(\"states/\",\"\").replace(\".json\",\"\");return n.name.startsWith(\"states/\")&&(!e||e({...n,name:i}))});for(let n in a){let i=a[n];if(i instanceof Uint8Array){let s=n.replace(\"states/\",\"\").replace(\".json\",\"\");r[s]=W(i,!1);}}return r}async function en(t,e,r){let a=`states/${e}.json`,n=await Dt(t,a,r);return typeof n>\"u\"?void 0:JSON.parse(W(n,!1))}$e(Ke());function on(t,e=\"dotLottie-common\"){return new Error(`[${e}]: ${t}`)}function un(t,e=\"dotLottie-common\",...r){console.error(`[${e}]:`,t,...r);}function ln(t,e=\"dotLottie-common\",...r){console.warn(`[${e}]:`,t,...r);}function cn(t=\"\"){let e=t.trim(),r=e.lastIndexOf(\"/\"),a=e.substring(r+1),n=a.indexOf(\".\");return n!==-1?a.substring(0,n):a}function kr(t){return [\"v\",\"ip\",\"op\",\"layers\",\"fr\",\"w\",\"h\"].every(r=>Object.prototype.hasOwnProperty.call(t,r))}function fn(t){let e=t.assets;return e?e.some(r=>pt(r)):!1}function hn(t){try{let e=JSON.parse(t);return kr(e)}catch{return !1}}function dn(t,e){let r=Object.keys(t).find(a=>t[a]===e);if(r===void 0)throw new Error(\"Value not found in the object.\");return r}function pn(t){return JSON.parse(JSON.stringify(t))}\n\nexport { tr as a, mr as b, Yr as c, Xr as d, Qr as e, tn as f, en as g, on as h, un as i, ln as j, cn as k, kr as l, fn as m, hn as n, dn as o, pn as p };\n//# sourceMappingURL=out.js.map\n//# sourceMappingURL=chunk-DCAKKOYV.js.map","import { h } from './chunk-DCAKKOYV.js';\n\nasync function r(t,o){let[{DotLottieStateMachineManager:a}]=await Promise.all([import('./dotlottie-state-machine-manager-2E7RUGJG.js')]);if(!t.length)throw h(\"No state machines available inside this .lottie!\");return new a(t,o)}\n\nexport { r as a };\n//# sourceMappingURL=out.js.map\n//# sourceMappingURL=chunk-GSRQSB3U.js.map","import { a as a$1 } from './chunk-74T7T5LL.js';\nimport { a as a$3 } from './chunk-GSRQSB3U.js';\nimport { a } from './chunk-BHJSY5WG.js';\nimport { p, a as a$2, j as j$1, i, h, m, n, l } from './chunk-DCAKKOYV.js';\n\nvar U={name:\"@dotlottie/common\",version:\"0.7.11\",type:\"module\",description:\"\",author:\"Afsal , Sam Osborne \",license:\"MIT\",engines:{node:\">18.0.0\"},module:\"dist/index.js\",main:\"dist/index.js\",types:\"dist/index.d.ts\",files:[\"dist\"],keywords:[],scripts:{build:\"tsup\",dev:\"tsup --watch\",lint:\"eslint .\",\"type-check\":\"tsc --noEmit\"},dependencies:{\"@dotlottie/dotlottie-js\":\"^0.7.0\",\"@preact/signals-core\":\"^1.2.3\",howler:\"^2.2.3\",\"lottie-web\":\"^5.12.2\",xstate:\"^4.38.1\"},devDependencies:{\"@lottiefiles/lottie-types\":\"^1.2.0\",\"@types/howler\":\"^2.2.8\",tsup:\"^7.2.0\",typescript:\"^4.7.4\"},publishConfig:{access:\"public\"}};var W=(l=>(l.Complete=\"complete\",l.DataFail=\"data_fail\",l.DataReady=\"data_ready\",l.Error=\"error\",l.Frame=\"frame\",l.Freeze=\"freeze\",l.LoopComplete=\"loopComplete\",l.Pause=\"pause\",l.Play=\"play\",l.Ready=\"ready\",l.Stop=\"stop\",l.VisibilityChange=\"visibilityChange\",l))(W||{}),K=(d=>(d.Completed=\"completed\",d.Error=\"error\",d.Fetching=\"fetching\",d.Frozen=\"frozen\",d.Initial=\"initial\",d.Loading=\"loading\",d.Paused=\"paused\",d.Playing=\"playing\",d.Ready=\"ready\",d.Stopped=\"stopped\",d))(K||{}),G=(e=>(e.Bounce=\"bounce\",e.Normal=\"normal\",e))(G||{}),u={autoplay:!1,direction:1,hover:!1,intermission:0,loop:!1,playMode:\"normal\",speed:1,defaultTheme:\"\"},Q={activeStateId:\"\",autoplay:!1,currentState:\"initial\",frame:0,seeker:0,direction:1,hover:!1,loop:!1,playMode:\"normal\",speed:1,background:\"transparent\",intermission:0,currentAnimationId:void 0,visibilityPercentage:0},j=class{_lottie;_src;_animationConfig;_prevUserPlaybackOptions={};_userPlaybackOptions;_hover=!1;_loop=!1;_counter=0;_intermission=0;_counterInterval=null;_container=null;_name;_mode=\"normal\";_background=\"transparent\";_animation;_defaultTheme;_activeAnimationId;_currentAnimationId;_testId;_listeners=new Map;_currentState=\"initial\";_stateBeforeFreeze=\"initial\";state=new a(Q);_light=!1;_worker=!1;_dotLottieLoader=new a$1;_activeStateId;_inInteractiveMode=!1;_scrollTicking=!1;_scrollCallback=void 0;_onShowIntersectionObserver=void 0;_visibilityPercentage=0;_audios=[];_stateMachineManager;constructor(t,e,i){typeof t==\"string\"?this._src=t:this._src=p(t),i!=null&&i.testId&&(this._testId=i.testId),this._defaultTheme=(i==null?void 0:i.defaultTheme)||\"\",this._userPlaybackOptions=this._validatePlaybackOptions(i||{}),typeof(i==null?void 0:i.activeAnimationId)==\"string\"&&(this._activeAnimationId=i.activeAnimationId),this._container=e||null,typeof(i==null?void 0:i.background)==\"string\"&&this.setBackground(i.background),typeof(i==null?void 0:i.activeStateId)<\"u\"&&(this._activeStateId=i.activeStateId);let{rendererSettings:n,...o}=i||{};this._animationConfig={loop:!1,autoplay:!1,renderer:\"svg\",rendererSettings:{clearCanvas:!0,progressiveLoad:!0,hideOnTransparent:!0,filterSize:{width:\"200%\",height:\"200%\",x:\"-50%\",y:\"-50%\"},...n},...o},i!=null&&i.light&&(this._light=i.light),i!=null&&i.worker&&(this._worker=i.worker),this._listenToHover(),this._listenToVisibilityChange();}_listenToHover(){var i,n,o,a;let t=()=>{this._hover&&this.currentState!==\"playing\"&&this.play();},e=()=>{this._hover&&this.currentState===\"playing\"&&this.stop();};(i=this._container)==null||i.removeEventListener(\"mouseenter\",t),(n=this._container)==null||n.removeEventListener(\"mouseleave\",e),(o=this._container)==null||o.addEventListener(\"mouseleave\",e),(a=this._container)==null||a.addEventListener(\"mouseenter\",t);}_onVisibilityChange(){!this._lottie||typeof document>\"u\"||(document.hidden&&this.currentState===\"playing\"?this.freeze():this.currentState===\"frozen\"&&this.unfreeze());}_listenToVisibilityChange(){typeof document<\"u\"&&typeof document.hidden<\"u\"&&document.addEventListener(\"visibilitychange\",()=>this._onVisibilityChange());}_getOption(t){var i;if(typeof this._userPlaybackOptions[t]<\"u\")return this._userPlaybackOptions[t];let e=(i=this._dotLottieLoader.manifest)==null?void 0:i.animations.find(n=>n.id===this._currentAnimationId);return e&&typeof e[t]<\"u\"?e[t]:u[t]}_getPlaybackOptions(){let t={};for(let e in u)typeof u[e]<\"u\"&&(t[e]=this._getOption(e));return t}_setPlayerState(t){var i,n,o;let e=t(this._getPlaybackOptions());try{a$2._parse(e);}catch{j$1(`Invalid PlaybackOptions, ${JSON.stringify(e,null,2)}`);return}typeof e.defaultTheme<\"u\"&&(this._defaultTheme=e.defaultTheme),typeof e.playMode<\"u\"&&(this._mode=e.playMode),typeof e.intermission<\"u\"&&(this._intermission=e.intermission),typeof e.hover<\"u\"&&(this._hover=e.hover),typeof e.loop<\"u\"&&(this.clearCountTimer(),this._loop=e.loop,this._counter=0,(i=this._lottie)==null||i.setLoop(typeof e.loop==\"number\"?!0:e.loop)),typeof e.speed<\"u\"&&((n=this._lottie)==null||n.setSpeed(e.speed)),typeof e.autoplay<\"u\"&&this._lottie&&(this._lottie.autoplay=e.autoplay),typeof e.direction<\"u\"&&((o=this._lottie)==null||o.setDirection(e.direction));}_getOptionsFromAnimation(t){let{id:e,...i}=t;return {...u,...i}}_updateTestData(){!this._testId||!this._lottie||(window.dotLottiePlayer||(window.dotLottiePlayer={[this._testId]:{}}),window.dotLottiePlayer[this._testId]={direction:this._lottie.playDirection,currentState:this._currentState,loop:this.loop,mode:this._mode,speed:this._lottie.playSpeed});}setContainer(t){t!==this._container&&(this._container=t,this.setBackground(this._background),this._listenToHover());}get currentState(){return this._currentState}clearCountTimer(){this._counterInterval&&clearInterval(this._counterInterval);}setCurrentState(t){this._currentState=t,this._notify(),this._updateTestData();}static isPathJSON(t){var e;return ((e=t.split(\".\").pop())==null?void 0:e.toLowerCase())===\"json\"}get src(){return this._src}updateSrc(t){this._src!==t&&(typeof t==\"string\"?this._src=t:this._src=p(t),this._activeAnimationId=void 0,this._currentAnimationId=void 0,this.load());}get intermission(){return this._intermission}get hover(){return this._hover}setHover(t){typeof t==\"boolean\"&&(this._hover=t,this._userPlaybackOptions.hover=t,this._notify());}setIntermission(t){this._intermission=t,this._userPlaybackOptions.intermission=t,this._notify();}get mode(){return this._mode}get animations(){return this._dotLottieLoader.animationsMap}get themes(){return this._dotLottieLoader.themeMap}setMode(t){typeof t==\"string\"&&(this._mode=t,this._userPlaybackOptions.playMode=t,this._setPlayerState(()=>({playMode:t})),this._notify(),this._updateTestData());}get container(){if(this._container)return this._container}goToAndPlay(t,e,i){if(!this._lottie||[\"loading\"].includes(this._currentState)){j$1(\"goToAndPlay() Can't use whilst loading.\");return}this._lottie.goToAndPlay(t,e,i),this.setCurrentState(\"playing\");}goToAndStop(t,e,i){if(!this._lottie||[\"loading\"].includes(this._currentState)){j$1(\"goToAndStop() Can't use whilst loading.\");return}this._lottie.goToAndStop(t,e,i),this.setCurrentState(\"stopped\");}seek(t){if(!this._lottie||[\"loading\"].includes(this._currentState)){j$1(\"seek() Can't use whilst loading.\");return}let e=t;typeof e==\"number\"&&(e=Math.round(e));let i=/^(\\d+)(%?)$/u.exec(e.toString());if(!i)return;let n=i[2]===\"%\"?this.totalFrames*Number(i[1])/100:i[1];n!==void 0&&(this._lottie.goToAndPlay(n,!0),this.currentState===\"playing\"?this.play():this.currentState===\"frozen\"?this.freeze():this.pause());}_areNumbersInRange(t,e){return t>=0&&t<=1&&e>=0&&e<=1}_updatePosition(t,e,i$1){let[n,o]=t!=null?t:[0,this.totalFrames-1],[a,h]=e!=null?e:[0,1];if(!this._areNumbersInRange(a,h)){i(\"threshold values must be between 0 and 1\");return}if(this.container){let{height:f,top:p}=this.container.getBoundingClientRect(),d=window.innerHeight-p,m=window.innerHeight+f,l=d/m,_=n+Math.round((l-a)/(h-a)*(o-n));i$1&&i$1(l),this.goToAndStop(_,!0),(_>=o||l>=h)&&this._handleAnimationComplete();}this._scrollTicking=!1;}_requestTick(t,e,i){this._scrollTicking||(requestAnimationFrame(()=>this._updatePosition(t,e,i)),this._scrollTicking=!0);}playOnScroll(t){this.stop(),this._scrollCallback&&this.stopPlayOnScroll(),this._scrollCallback=()=>this._requestTick(t==null?void 0:t.segments,t==null?void 0:t.threshold,t==null?void 0:t.positionCallback),window.addEventListener(\"scroll\",this._scrollCallback);}stopPlayOnScroll(){this._scrollCallback&&(window.removeEventListener(\"scroll\",this._scrollCallback),this._scrollCallback=void 0);}stopPlayOnShow(){this._onShowIntersectionObserver&&(this._onShowIntersectionObserver.disconnect(),this._onShowIntersectionObserver=void 0);}addIntersectionObserver(t){if(!this.container)throw h(\"Can't play on show, player container element not available.\");let e={root:null,rootMargin:\"0px\",threshold:t!=null&&t.threshold?t.threshold:[0,1]},i=n=>{n.forEach(o=>{var a,h;this._visibilityPercentage=o.intersectionRatio*100,o.isIntersecting?(t!=null&&t.callbackOnIntersect&&t.callbackOnIntersect(this._visibilityPercentage),(a=this._container)==null||a.dispatchEvent(new Event(\"visibilityChange\"))):t!=null&&t.callbackOnIntersect&&(t.callbackOnIntersect(0),(h=this._container)==null||h.dispatchEvent(new Event(\"visibilityChange\")));});};this._onShowIntersectionObserver=new IntersectionObserver(i,e),this._onShowIntersectionObserver.observe(this.container);}playOnShow(t){var e;if(this.stop(),!this.container)throw h(\"Can't play on show, player container element not available.\");this._onShowIntersectionObserver&&this.stopPlayOnShow(),this.addIntersectionObserver({threshold:(e=t==null?void 0:t.threshold)!=null?e:[],callbackOnIntersect:i=>{i===0?this.pause():this.play();}});}_validatePlaybackOptions(t){if(!t)return {};let e={};for(let[i,n]of Object.entries(t))switch(i){case\"autoplay\":typeof n==\"boolean\"&&(e.autoplay=n);break;case\"direction\":typeof n==\"number\"&&[1,-1].includes(n)&&(e.direction=n);break;case\"loop\":(typeof n==\"boolean\"||typeof n==\"number\")&&(e.loop=n);break;case\"playMode\":typeof n==\"string\"&&[\"normal\",\"bounce\"].includes(n)&&(e.playMode=n);break;case\"speed\":typeof n==\"number\"&&(e.speed=n);break;case\"themeColor\":typeof n==\"string\"&&(e.themeColor=n);break;case\"hover\":typeof n==\"boolean\"&&(e.hover=n);break;case\"intermission\":typeof n==\"number\"&&(e.intermission=n);break;case\"defaultTheme\":typeof n==\"string\"&&(e.defaultTheme=n);break;}return this._requireValidPlaybackOptions(e),e}_requireAnimationsInTheManifest(){var t;if(!((t=this._dotLottieLoader.manifest)!=null&&t.animations.length))throw h(\"No animations found in manifest.\")}_requireAnimationsToBeLoaded(){if(this._dotLottieLoader.animationsMap.size===0)throw h(\"No animations have been loaded.\")}async play(t,e){var i,n;if([\"initial\",\"loading\"].includes(this._currentState)){j$1(\"Player unable to play whilst loading.\");return}if(this._requireAnimationsInTheManifest(),this._requireAnimationsToBeLoaded(),this._lottie&&!t){this._lottie.playDirection===-1&&this._lottie.currentFrame===0?this._lottie.goToAndPlay(this._lottie.totalFrames,!0):this._lottie.play(),this.setCurrentState(\"playing\");return}if(typeof t==\"number\"){let o=(i=this._dotLottieLoader.manifest)==null?void 0:i.animations[t];if(!o)throw h(\"animation not found.\");typeof e==\"function\"?await this.render({id:o.id,...e(this._getPlaybackOptions(),this._getOptionsFromAnimation(o))}):await this.render({id:o.id});}if(typeof t==\"string\"){let o=(n=this._dotLottieLoader.manifest)==null?void 0:n.animations.find(a=>a.id===t);if(!o)throw h(\"animation not found.\");typeof e==\"function\"?await this.render({id:o.id,...e(this._getPlaybackOptions(),this._getOptionsFromAnimation(o))}):await this.render({id:o.id});}}playSegments(t,e){if(!this._lottie||[\"loading\"].includes(this._currentState)){j$1(\"playSegments() Can't use whilst loading.\");return}this._lottie.playSegments(t,e),this.setCurrentState(\"playing\");}resetSegments(t){if(!this._lottie||[\"loading\"].includes(this._currentState)){j$1(\"resetSegments() Can't use whilst loading.\");return}this._lottie.resetSegments(t);}togglePlay(){this.currentState===\"playing\"?this.pause():this.play();}_getAnimationByIdOrIndex(t){var e,i;if(this._requireAnimationsInTheManifest(),this._requireAnimationsToBeLoaded(),typeof t==\"number\"){let n=(e=this._dotLottieLoader.manifest)==null?void 0:e.animations[t];if(!n)throw h(\"animation not found.\");return n}if(typeof t==\"string\"){let n=(i=this._dotLottieLoader.manifest)==null?void 0:i.animations.find(o=>o.id===t);if(!n)throw h(\"animation not found.\");return n}throw h(\"first param must be a number or string\")}get activeAnimationId(){return this._getActiveAnimationId()}get currentAnimationId(){return this._currentAnimationId}get activeStateId(){return this._activeStateId}async _startInteractivity(t){if(!this._inInteractiveMode){i(\"Can't start interactivity. Not in interactive mode. Call enterInteractiveMode(stateId: string) to start.\");return}if(this._dotLottieLoader.stateMachinesMap.size===0&&await this._dotLottieLoader.getStateMachines(),this._dotLottieLoader.stateMachinesMap.size===0)throw h(\"No interactivity states are available.\");if(t===\"undefined\")throw h(\"stateId is not specified.\");this._stateMachineManager||(this._stateMachineManager=await a$3(Array.from(this._dotLottieLoader.stateMachinesMap.values()),this)),this._stateMachineManager.start(t);}enterInteractiveMode(t){var e;if(t)this._inInteractiveMode||(this._prevUserPlaybackOptions={...this._userPlaybackOptions}),this._inInteractiveMode&&((e=this._stateMachineManager)==null||e.stop()),this._activeStateId=t,this._inInteractiveMode=!0,this._startInteractivity(t);else throw h(\"stateId must be a non-empty string.\")}exitInteractiveMode(){var t;this._inInteractiveMode&&(this._inInteractiveMode=!1,this._activeStateId=\"\",(t=this._stateMachineManager)==null||t.stop(),this._userPlaybackOptions={},this._userPlaybackOptions={...this._prevUserPlaybackOptions},this._prevUserPlaybackOptions={},this.reset());}reset(){var i;let t=this._getActiveAnimationId(),e=(i=this._dotLottieLoader.manifest)==null?void 0:i.animations.find(n=>n.id===t);if(this._inInteractiveMode&&this.exitInteractiveMode(),!e)throw h(\"animation not found.\");this.play(t);}previous(t){if(!this._dotLottieLoader.manifest||!this._dotLottieLoader.manifest.animations.length)throw h(\"manifest not found.\");if(this._inInteractiveMode){j$1(\"previous() is not supported in interactive mode.\");return}let e=this._dotLottieLoader.manifest.animations.findIndex(n=>n.id===this._currentAnimationId);if(e===-1)throw h(\"animation not found.\");let i=this._dotLottieLoader.manifest.animations[(e-1+this._dotLottieLoader.manifest.animations.length)%this._dotLottieLoader.manifest.animations.length];if(!i||!i.id)throw h(\"animation not found.\");typeof t==\"function\"?this.render({id:i.id,...t(this._getPlaybackOptions(),this._getOptionsFromAnimation(i))}):this.render({id:i.id});}next(t){if(!this._dotLottieLoader.manifest||!this._dotLottieLoader.manifest.animations.length)throw h(\"manifest not found.\");if(this._inInteractiveMode){j$1(\"next() is not supported in interactive mode.\");return}let e=this._dotLottieLoader.manifest.animations.findIndex(n=>n.id===this._currentAnimationId);if(e===-1)throw h(\"animation not found.\");let i=this._dotLottieLoader.manifest.animations[(e+1)%this._dotLottieLoader.manifest.animations.length];if(!i||!i.id)throw h(\"animation not found.\");typeof t==\"function\"?this.render({id:i.id,...t(this._getPlaybackOptions(),this._getOptionsFromAnimation(i))}):this.render({id:i.id});}getManifest(){return this._dotLottieLoader.manifest}resize(){if(!this._lottie||[\"loading\"].includes(this._currentState)){j$1(\"resize() Can't use whilst loading.\");return}this._lottie.resize();}stop(){if(!this._lottie||[\"loading\"].includes(this._currentState)){j$1(\"stop() Can't use whilst loading.\");return}this.clearCountTimer(),this._counter=0,this._setPlayerState(()=>({direction:this._getOption(\"direction\")})),this._lottie.stop(),this.setCurrentState(\"stopped\");}pause(){if(!this._lottie||[\"loading\"].includes(this._currentState)){j$1(\"pause() Can't use whilst loading.\");return}this.clearCountTimer(),this._lottie.pause(),this.setCurrentState(\"paused\");}freeze(){if(!this._lottie||[\"loading\"].includes(this._currentState)){j$1(\"freeze() Can't use whilst loading.\");return}this.currentState!==\"frozen\"&&(this._stateBeforeFreeze=this.currentState),this._lottie.pause(),this.setCurrentState(\"frozen\");}unfreeze(){if(!this._lottie||[\"loading\"].includes(this._currentState)){j$1(\"unfreeze() Can't use whilst loading.\");return}this._stateBeforeFreeze===\"playing\"?this.play():this.pause();}destroy(){var t,e;(t=this._container)!=null&&t.__lottie&&(this._container.__lottie.destroy(),this._container.__lottie=null),this._audios.length&&(this._audios.forEach(i=>{i.unload();}),this._audios=[]),this.clearCountTimer(),typeof document<\"u\"&&document.removeEventListener(\"visibilitychange\",()=>this._onVisibilityChange()),this._counter=0,(e=this._lottie)==null||e.destroy(),this._lottie=void 0;}getAnimationInstance(){return this._lottie}static getLottieWebVersion(){return `${U.dependencies[\"lottie-web\"]}`}addEventListener(t,e){var i$1,n,o;this._listeners.has(t)||this._listeners.set(t,new Set),(i$1=this._listeners.get(t))==null||i$1.add(e);try{t===\"complete\"?(n=this._container)==null||n.addEventListener(t,e):(o=this._lottie)==null||o.addEventListener(t,e);}catch(a){i(`addEventListener ${a}`);}}getState(){var t,e,i,n,o,a,h;return {autoplay:(e=(t=this._lottie)==null?void 0:t.autoplay)!=null?e:!1,currentState:this._currentState,frame:this._frame,visibilityPercentage:this._visibilityPercentage,seeker:this._seeker,direction:(n=(i=this._lottie)==null?void 0:i.playDirection)!=null?n:1,hover:this._hover,loop:this._loop||!1,playMode:this._mode,speed:(a=(o=this._lottie)==null?void 0:o.playSpeed)!=null?a:1,background:this._background,intermission:this._intermission,defaultTheme:this._defaultTheme,currentAnimationId:this._currentAnimationId,activeStateId:(h=this._activeStateId)!=null?h:\"\"}}_notify(){this.state.setState(this.getState());}get totalFrames(){var t;return ((t=this._lottie)==null?void 0:t.totalFrames)||0}get direction(){return this._lottie?this._lottie.playDirection:1}setDirection(t){this._requireValidDirection(t),this._setPlayerState(()=>({direction:t})),this._userPlaybackOptions.direction=t;}get speed(){var t;return ((t=this._lottie)==null?void 0:t.playSpeed)||1}setSpeed(t){this._requireValidSpeed(t),this._setPlayerState(()=>({speed:t})),this._userPlaybackOptions.speed=t;}get autoplay(){var t,e;return (e=(t=this._lottie)==null?void 0:t.autoplay)!=null?e:!1}setAutoplay(t){if(this._requireValidAutoplay(t),!this._lottie||[\"loading\"].includes(this._currentState)){j$1(\"setAutoplay() Can't use whilst loading.\");return}this._setPlayerState(()=>({autoplay:t})),this._userPlaybackOptions.autoplay=t;}toggleAutoplay(){if(!this._lottie||[\"loading\"].includes(this._currentState)){j$1(\"toggleAutoplay() Can't use whilst loading.\");return}this.setAutoplay(!this._lottie.autoplay);}get defaultTheme(){return this._defaultTheme}setDefaultTheme(t){this._setPlayerState(()=>({defaultTheme:t})),this._userPlaybackOptions.defaultTheme=t,this._animation&&this.render();}get loop(){return this._loop}setLoop(t){this._requireValidLoop(t),this._setPlayerState(()=>({loop:t})),this._userPlaybackOptions.loop=t;}toggleLoop(){if(!this._lottie||[\"loading\"].includes(this._currentState)){j$1(\"toggleLoop() Can't use whilst loading.\");return}this.setLoop(!this._loop);}get background(){return this._background}setBackground(t){this._requireValidBackground(t),this._background=t,this._container&&(this._container.style.backgroundColor=t);}get _frame(){return this._lottie?this.currentState===\"completed\"?this.direction===-1?0:this._lottie.totalFrames:this._lottie.currentFrame:0}get _seeker(){return this._lottie?this._frame/this._lottie.totalFrames*100:0}async revertToManifestValues(t){var n;let e;!Array.isArray(t)||t.length===0?e=[\"autoplay\",\"defaultTheme\",\"direction\",\"hover\",\"intermission\",\"loop\",\"playMode\",\"speed\",\"activeAnimationId\"]:e=t;let i=!1;if(e.includes(\"activeAnimationId\")){let o=(n=this._dotLottieLoader.manifest)==null?void 0:n.activeAnimationId,a=this._getAnimationByIdOrIndex(o||0);this._activeAnimationId=o,await this._setCurrentAnimation(a.id),i=!0;}e.forEach(o=>{switch(o){case\"autoplay\":delete this._userPlaybackOptions.autoplay,this.setAutoplay(this._getOption(\"autoplay\"));break;case\"defaultTheme\":delete this._userPlaybackOptions.defaultTheme,this.setDefaultTheme(this._getOption(\"defaultTheme\"));break;case\"direction\":delete this._userPlaybackOptions.direction,this.setDirection(this._getOption(\"direction\"));break;case\"hover\":delete this._userPlaybackOptions.hover,this.setHover(this._getOption(\"hover\"));break;case\"intermission\":delete this._userPlaybackOptions.intermission,this.setIntermission(this._getOption(\"intermission\"));break;case\"loop\":delete this._userPlaybackOptions.loop,this.setLoop(this._getOption(\"loop\"));break;case\"playMode\":delete this._userPlaybackOptions.playMode,this.setMode(this._getOption(\"playMode\")),this.setDirection(this._getOption(\"direction\"));break;case\"speed\":delete this._userPlaybackOptions.speed,this.setSpeed(this._getOption(\"speed\"));break;}}),i&&this.render();}removeEventListener(t,e){var i$1,n,o;try{t===\"complete\"?(i$1=this._container)==null||i$1.removeEventListener(t,e):(n=this._lottie)==null||n.removeEventListener(t,e),(o=this._listeners.get(t))==null||o.delete(e);}catch(a){i(\"removeEventListener\",a);}}_handleAnimationComplete(){var e;typeof this._loop==\"number\"&&this.stop();let t=this.direction===-1?0:this.totalFrames-1;this.goToAndStop(t,!0),this._counter=0,this.clearCountTimer(),this.setCurrentState(\"completed\"),(e=this._container)==null||e.dispatchEvent(new Event(\"complete\"));}addEventListeners(){var t;if(!this._lottie||[\"loading\"].includes(this._currentState)){j$1(\"addEventListeners() Can't use whilst loading.\");return}this._lottie.addEventListener(\"enterFrame\",()=>{var i;if(!this._lottie){j$1(\"enterFrame event : Lottie is undefined.\");return}Math.floor(this._lottie.currentFrame)===0&&this.direction===-1&&((i=this._container)==null||i.dispatchEvent(new Event(\"complete\")),this.loop||this.setCurrentState(\"completed\")),this._notify();}),this._lottie.addEventListener(\"loopComplete\",()=>{var n;if(!this._lottie){j$1(\"loopComplete event : Lottie is undefined.\");return}(n=this._container)==null||n.dispatchEvent(new Event(\"loopComplete\")),this.intermission>0&&this.pause();let e=this._lottie.playDirection;if(typeof this._loop==\"number\"&&this._loop>0&&(this._counter+=this._mode===\"bounce\"?.5:1,this._counter>=this._loop)){this._handleAnimationComplete();return}this._mode===\"bounce\"&&typeof e==\"number\"&&(e=Number(e)*-1);let i=e===-1?this._lottie.totalFrames-1:0;this.intermission?(this.goToAndPlay(i,!0),this.pause(),this._counterInterval=window.setTimeout(()=>{this._lottie&&(this._setPlayerState(()=>({direction:e})),this.goToAndPlay(i,!0));},this._intermission)):(this._setPlayerState(()=>({direction:e})),this.goToAndPlay(e===-1?this.totalFrames-1:0,!0));}),this._lottie.addEventListener(\"complete\",()=>{if(this._lottie&&this._loop===!1&&this._mode===\"bounce\"){if(this._counter+=.5,this._counter>=1){this._handleAnimationComplete();return}this._counterInterval=window.setTimeout(()=>{if(!this._lottie)return;let e=this._lottie.playDirection;this._mode===\"bounce\"&&typeof e==\"number\"&&(e=Number(e)*-1);let i=e===-1?this.totalFrames-1:0;this._setPlayerState(()=>({direction:e})),this.goToAndPlay(i,!0);},this._intermission);}else this._handleAnimationComplete();});for(let[e,i]of this._listeners)if(e===\"complete\")for(let n of i)(t=this._container)==null||t.addEventListener(e,n);else for(let n of i)this._lottie.addEventListener(e,n);}async _setCurrentAnimation(t){this._currentState=\"loading\";let e=await this._dotLottieLoader.getAnimation(t);this._currentAnimationId=t,this._animation=e,this._currentState=\"ready\";}async _getAudioFactory(){if(this._animation&&m(this._animation)){let{DotLottieAudio:t}=await import('./dotlottie-audio.js');return i=>{let n=new t({src:[i]});return this._audios.push(n),n}}return null}async render(t){var b,g,v,P,S,L,k,w,I,O,C,M,T,A,D,E,F,x;if(t!=null&&t.id)await this._setCurrentAnimation(t.id);else if(!this._animation)throw h(\"no animation selected\");let e=(b=u.loop)!=null?b:!1,i=(g=u.autoplay)!=null?g:!1,n=(v=u.playMode)!=null?v:\"normal\",o=(P=u.intermission)!=null?P:0,a=(S=u.hover)!=null?S:!1,h$1=(L=u.direction)!=null?L:1,f=(k=u.speed)!=null?k:1,p$1=(w=u.defaultTheme)!=null?w:\"\";e=(I=t==null?void 0:t.loop)!=null?I:this._getOption(\"loop\"),i=(O=t==null?void 0:t.autoplay)!=null?O:this._getOption(\"autoplay\"),n=(C=t==null?void 0:t.playMode)!=null?C:this._getOption(\"playMode\"),o=(M=t==null?void 0:t.intermission)!=null?M:this._getOption(\"intermission\"),a=(T=t==null?void 0:t.hover)!=null?T:this._getOption(\"hover\"),h$1=(A=t==null?void 0:t.direction)!=null?A:this._getOption(\"direction\"),f=(D=t==null?void 0:t.speed)!=null?D:this._getOption(\"speed\"),p$1=(E=t==null?void 0:t.defaultTheme)!=null?E:this._getOption(\"defaultTheme\");let d={...this._animationConfig,autoplay:a?!1:i,loop:typeof e==\"number\"?!0:e,renderer:this._worker?\"svg\":(F=this._animationConfig.renderer)!=null?F:\"svg\"},[m,l,_]=await Promise.all([this._dotLottieLoader.getTheme(p$1),this._getLottiePlayerInstance(),this._getAudioFactory()]);if(m&&this._animation?(this._animation=p(this._animation),this._animation.slots=m):this._animation=await this._dotLottieLoader.getAnimation((x=this._currentAnimationId)!=null?x:\"\"),this._activeStateId&&!this._inInteractiveMode){this.enterInteractiveMode(this._activeStateId);return}this.destroy(),this._setPlayerState(()=>({defaultTheme:p$1,playMode:n,intermission:o,hover:a,loop:e})),_?this._lottie=l.loadAnimation({...d,container:this._container,animationData:this._animation,audioFactory:_}):this._lottie=l.loadAnimation({...d,container:this._container,animationData:this._animation}),typeof this._lottie.resetSegments>\"u\"&&(this._lottie.resetSegments=()=>{var V;(V=this._lottie)==null||V.playSegments([0,this._lottie.totalFrames],!0);}),this.addEventListeners(),this._container&&(this._container.__lottie=this._lottie),this._setPlayerState(()=>({direction:h$1,speed:f})),i&&!a&&(e===!1&&h$1===-1?this.play():this.setCurrentState(\"playing\")),this._updateTestData();}async _getLottiePlayerInstance(){var i;let t=(i=this._animationConfig.renderer)!=null?i:\"svg\",e;if(this._worker)return t!==\"svg\"&&j$1(\"Worker is only supported with svg renderer. Change or remove renderer prop to get rid of this warning.\"),e=await import('./lottie_worker-Q23FJ6ZR.js'),e.default;switch(t){case\"svg\":{this._light?e=await import('./lottie_light-KMJEUZFY.js'):e=await import('./lottie_svg-MJGYILXD.js');break}case\"canvas\":{this._light?e=await import('./lottie_light_canvas-B5UTTNXA.js'):e=await import('./lottie_canvas-CDSUBMCL.js');break}case\"html\":{this._light?e=await import('./lottie_light_html-SLCECTRT.js'):e=await import('./lottie_html-X3TYKVQI.js');break}default:throw new Error(`Invalid renderer: ${t}`)}return e.default}_getActiveAnimationId(){var e,i,n,o;let t=this._dotLottieLoader.manifest;return (o=(n=(e=this._activeAnimationId)!=null?e:t==null?void 0:t.activeAnimationId)!=null?n:(i=t==null?void 0:t.animations[0])==null?void 0:i.id)!=null?o:void 0}async load(t){if(this._currentState===\"loading\"){j$1(\"Loading in progress..\");return}try{if(this.setCurrentState(\"loading\"),typeof this._src==\"string\")if(n(this._src)){let i=JSON.parse(this._src);this._dotLottieLoader.loadFromLottieJSON(i);}else {let i=new URL(this._src,window.location.href);await this._dotLottieLoader.loadFromUrl(i.toString());}else if(typeof this._src==\"object\"&&l(this._src))this._dotLottieLoader.loadFromLottieJSON(this._src);else throw h(\"Invalid src provided\");if(!this._dotLottieLoader.manifest)throw h(\"No manifest found\");let e=this._getActiveAnimationId();if(!e)throw h(\"No active animation found\");await this._setCurrentAnimation(e),await this.render(t);}catch(e){this.setCurrentState(\"error\"),e instanceof Error&&i(`Error loading animation: ${e.message}`);}}setErrorState(t){this.setCurrentState(\"error\"),i(t);}_requireValidDirection(t){if(t!==-1&&t!==1)throw h(\"Direction can only be -1 (backwards) or 1 (forwards)\")}_requireValidIntermission(t){if(t<0||!Number.isInteger(t))throw h(\"intermission must be a positive number\")}_requireValidLoop(t){if(typeof t==\"number\"&&(!Number.isInteger(t)||t<0))throw h(\"loop must be a positive number or boolean\")}_requireValidSpeed(t){if(typeof t!=\"number\")throw h(\"speed must be a number\")}_requireValidBackground(t){if(typeof t!=\"string\")throw h(\"background must be a string\")}_requireValidAutoplay(t){if(typeof t!=\"boolean\")throw h(\"autoplay must be a boolean\")}_requireValidPlaybackOptions(t){t.direction&&this._requireValidDirection(t.direction),t.intermission&&this._requireValidIntermission(t.intermission),t.loop&&this._requireValidLoop(t.loop),t.speed&&this._requireValidSpeed(t.speed);}};\n\nexport { W as a, K as b, G as c, u as d, Q as e, j as f };\n//# sourceMappingURL=out.js.map\n//# sourceMappingURL=chunk-NZJZ4CCL.js.map","// The module cache\nvar __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tvar cachedModule = __webpack_module_cache__[moduleId];\n\tif (cachedModule !== undefined) {\n\t\treturn cachedModule.exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tvar module = __webpack_module_cache__[moduleId] = {\n\t\t// no module.id needed\n\t\t// no module.loaded needed\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n// expose the modules object (__webpack_modules__)\n__webpack_require__.m = __webpack_modules__;\n\n","// getDefaultExport function for compatibility with non-harmony modules\n__webpack_require__.n = (module) => {\n\tvar getter = module && module.__esModule ?\n\t\t() => (module['default']) :\n\t\t() => (module);\n\t__webpack_require__.d(getter, { a: getter });\n\treturn getter;\n};","// define getter functions for harmony exports\n__webpack_require__.d = (exports, definition) => {\n\tfor(var key in definition) {\n\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n\t\t}\n\t}\n};","__webpack_require__.f = {};\n// This file contains only the entry chunk.\n// The chunk loading function for additional chunks\n__webpack_require__.e = (chunkId) => {\n\treturn Promise.all(Object.keys(__webpack_require__.f).reduce((promises, key) => {\n\t\t__webpack_require__.f[key](chunkId, promises);\n\t\treturn promises;\n\t}, []));\n};","// This function allow to reference async chunks\n__webpack_require__.u = (chunkId) => {\n\t// return url for filenames based on template\n\treturn \"\" + chunkId + \".js\";\n};","// This function allow to reference async chunks\n__webpack_require__.miniCssF = (chunkId) => {\n\t// return url for filenames based on template\n\treturn undefined;\n};","__webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))","// define __esModule on exports\n__webpack_require__.r = (exports) => {\n\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n\t}\n\tObject.defineProperty(exports, '__esModule', { value: true });\n};","__webpack_require__.p = \"\";","// no baseURI\n\n// object to store loaded and loading chunks\n// undefined = chunk not loaded, null = chunk preloaded/prefetched\n// [resolve, reject, Promise] = chunk loading, 0 = chunk loaded\nvar installedChunks = {\n\t242: 0,\n\t289: 0,\n\t247: 0\n};\n\n__webpack_require__.f.j = (chunkId, promises) => {\n\t\t// JSONP chunk loading for javascript\n\t\tvar installedChunkData = __webpack_require__.o(installedChunks, chunkId) ? installedChunks[chunkId] : undefined;\n\t\tif(installedChunkData !== 0) { // 0 means \"already installed\".\n\n\t\t\t// a Promise means \"currently loading\".\n\t\t\tif(installedChunkData) {\n\t\t\t\tpromises.push(installedChunkData[2]);\n\t\t\t} else {\n\t\t\t\tif(true) { // all chunks have JS\n\t\t\t\t\t// setup Promise in chunk cache\n\t\t\t\t\tvar promise = new Promise((resolve, reject) => (installedChunkData = installedChunks[chunkId] = [resolve, reject]));\n\t\t\t\t\tpromises.push(installedChunkData[2] = promise);\n\n\t\t\t\t\t// start chunk loading\n\t\t\t\t\tvar url = __webpack_require__.p + __webpack_require__.u(chunkId);\n\t\t\t\t\t// create error before stack unwound to get useful stacktrace later\n\t\t\t\t\tvar error = new Error();\n\t\t\t\t\tvar loadingEnded = (event) => {\n\t\t\t\t\t\tif(__webpack_require__.o(installedChunks, chunkId)) {\n\t\t\t\t\t\t\tinstalledChunkData = installedChunks[chunkId];\n\t\t\t\t\t\t\tif(installedChunkData !== 0) installedChunks[chunkId] = undefined;\n\t\t\t\t\t\t\tif(installedChunkData) {\n\t\t\t\t\t\t\t\tvar errorType = event && (event.type === 'load' ? 'missing' : event.type);\n\t\t\t\t\t\t\t\tvar realSrc = event && event.target && event.target.src;\n\t\t\t\t\t\t\t\terror.message = 'Loading chunk ' + chunkId + ' failed.\\n(' + errorType + ': ' + realSrc + ')';\n\t\t\t\t\t\t\t\terror.name = 'ChunkLoadError';\n\t\t\t\t\t\t\t\terror.type = errorType;\n\t\t\t\t\t\t\t\terror.request = realSrc;\n\t\t\t\t\t\t\t\tinstalledChunkData[1](error);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t};\n\t\t\t\t\t__webpack_require__.l(url, loadingEnded, \"chunk-\" + chunkId, chunkId);\n\t\t\t\t} else installedChunks[chunkId] = 0;\n\t\t\t}\n\t\t}\n};\n\n// no prefetching\n\n// no preloaded\n\n// no HMR\n\n// no HMR manifest\n\n// no on chunks loaded\n\n// install a JSONP callback for chunk loading\nvar webpackJsonpCallback = (parentChunkLoadingFunction, data) => {\n\tvar [chunkIds, moreModules, runtime] = data;\n\t// add \"moreModules\" to the modules object,\n\t// then flag all \"chunkIds\" as loaded and fire callback\n\tvar moduleId, chunkId, i = 0;\n\tif(chunkIds.some((id) => (installedChunks[id] !== 0))) {\n\t\tfor(moduleId in moreModules) {\n\t\t\tif(__webpack_require__.o(moreModules, moduleId)) {\n\t\t\t\t__webpack_require__.m[moduleId] = moreModules[moduleId];\n\t\t\t}\n\t\t}\n\t\tif(runtime) var result = runtime(__webpack_require__);\n\t}\n\tif(parentChunkLoadingFunction) parentChunkLoadingFunction(data);\n\tfor(;i < chunkIds.length; i++) {\n\t\tchunkId = chunkIds[i];\n\t\tif(__webpack_require__.o(installedChunks, chunkId) && installedChunks[chunkId]) {\n\t\t\tinstalledChunks[chunkId][0]();\n\t\t}\n\t\tinstalledChunks[chunkId] = 0;\n\t}\n\n}\n\nvar chunkLoadingGlobal = this[\"webpackChunktmv2_components\"] = this[\"webpackChunktmv2_components\"] || [];\nchunkLoadingGlobal.forEach(webpackJsonpCallback.bind(null, 0));\nchunkLoadingGlobal.push = webpackJsonpCallback.bind(null, chunkLoadingGlobal.push.bind(chunkLoadingGlobal));","import React, { useCallback } from \"react\";\r\nconst styleOverrides = {\r\n WebkitAppearance: \"none\",\r\n MozAppearance: \"none\",\r\n appearance: \"none\",\r\n color: \"inherit\",\r\n backgroundColor: \"#fff\"\r\n};\r\nexport const Dropdown = ({ options = [], selectedOption, placeholder, isPlaceholderDisabled = true, onSelect, classes, style, ariaLabel = \"Dropdown\", }) => {\r\n const handleChange = useCallback((event) => {\r\n if (onSelect) {\r\n onSelect(event.target.value);\r\n }\r\n }, [onSelect]);\r\n return (React.createElement(\"div\", { className: `dropdown-wrapper ${classes || \"\"}` },\r\n React.createElement(\"select\", { onChange: handleChange, className: \"p-regular dropdown-wrapper__dropdown\", style: { ...styleOverrides, ...style }, \"aria-label\": ariaLabel, value: selectedOption },\r\n placeholder && React.createElement(\"option\", { value: \"\", disabled: isPlaceholderDisabled }, placeholder),\r\n options.map((option, index) => {\r\n const [optionText, optionValue] = typeof option === \"string\" ? [option, option] : [option.text, option.value];\r\n return (React.createElement(\"option\", { key: index, value: optionValue }, optionText));\r\n }))));\r\n};\r\n","import React from \"react\";\r\nimport { handleLinkTarget } from \"../../utils\";\r\nexport const ButtonSquare = ({ primary = true, label, ...props }) => {\r\n const openInNewTabValue = props.openinnewtab === \"true\" ? true : false;\r\n const hrefTarget = handleLinkTarget(openInNewTabValue);\r\n return (React.createElement(\"a\", { href: props.href ? props.href : \"#\", onClick: props.onClick, target: hrefTarget, className: `squaredButton squaredButton--${primary ? \"primary\" : \"secondary\"} ${props.classes ? props.classes : \"\"}`, style: { ...props.style }, ...props }, label));\r\n};\r\n","import React, { useState, useEffect, useCallback } from \"react\";\r\nimport { Container } from \"../../global\";\r\nimport { ButtonSquare } from \"../../ButtonSquare\";\r\nimport { Img } from \"../../Img\";\r\nimport { usePageViewStyle } from \"../../../hooks\";\r\nexport const HeroBannerWithImagesNew = ({ title, subtitle, desktopImage, mobileImage, stats, buttonLabel, buttonHref, buttonHrefMobile, buttonOpenInNewTab, linkHref, linkLabel, backgroundColor }) => {\r\n const [buttonUrl, setButtonUrl] = useState(buttonHref);\r\n const { isLarge } = usePageViewStyle();\r\n const [desktopImageEl, setDesktopImageEl] = useState(React.createElement(React.Fragment, null));\r\n const [mobileImageEl, setMobileImageEl] = useState(React.createElement(React.Fragment, null));\r\n useEffect(() => {\r\n setDesktopImageEl(isLarge ? React.createElement(Img, { src: desktopImage, alt: title, loading: \"eager\" }) : React.createElement(React.Fragment, null));\r\n setMobileImageEl(!isLarge ? React.createElement(Img, { src: mobileImage, alt: title, loading: \"eager\" }) : React.createElement(React.Fragment, null));\r\n }, [isLarge, desktopImage, mobileImage, title]);\r\n useEffect(() => {\r\n setButtonUrl((!isLarge && buttonHrefMobile) ? buttonHrefMobile : buttonHref);\r\n }, [isLarge, buttonHrefMobile, buttonHref]);\r\n const mainClassName = `${backgroundColor === \"White\" ? \"HeroBannerWithImagesWrapper HeroBannerWithImagesNew white-background\" : \"HeroBannerWithImagesWrapper HeroBannerWithImagesNew\"}`;\r\n const emptyStatisticsTest = stats === undefined ? 0 : stats.filter(o => Object.values(o).every(x => x !== \"\")).length;\r\n const cardsRendering = useCallback(() => {\r\n if (stats && (emptyStatisticsTest > 0)) {\r\n return (React.createElement(\"div\", { className: \"HeroBannerWithImagesNew__stats-container\" },\r\n React.createElement(Container, null,\r\n React.createElement(\"div\", { className: \"HeroBannerWithImagesNew__stats\" }, stats.map((a, i) => (React.createElement(\"div\", { className: \"HeroBannerWithImagesNew__stats-item\", key: `statElement${a.title}-${i}` },\r\n React.createElement(\"div\", { className: \"HeroBannerWithImagesNew__value\" }, a.title),\r\n React.createElement(\"div\", { className: \"HeroBannerWithImagesNew__title\" }, a.subTitle))))))));\r\n }\r\n return React.createElement(React.Fragment, null);\r\n }, [emptyStatisticsTest, stats]);\r\n return (React.createElement(\"div\", { className: mainClassName },\r\n React.createElement(\"div\", { className: \"HeroBannerWithImagesNew__container\" },\r\n React.createElement(\"div\", { className: \"HeroBannerWithImagesNew__image--desktop\" }, desktopImageEl),\r\n React.createElement(Container, null,\r\n React.createElement(\"div\", { className: \"HeroBannerWithImagesNew__content\" },\r\n React.createElement(\"h1\", { className: \"titleWrapper__title\", dangerouslySetInnerHTML: {\r\n __html: title,\r\n } }),\r\n React.createElement(\"h5\", { className: \"titleWrapper__subtitle\", dangerouslySetInnerHTML: {\r\n __html: subtitle,\r\n } }),\r\n React.createElement(\"div\", { className: \"buttonsWrapper\" },\r\n React.createElement(ButtonSquare, { label: buttonLabel, href: buttonUrl, openinnewtab: buttonOpenInNewTab.toString() }),\r\n React.createElement(React.Fragment, null, (linkLabel && linkHref) ? React.createElement(\"a\", { href: linkHref }, linkLabel) : \"\")))),\r\n React.createElement(\"div\", { className: \"HeroBannerWithImagesNew__image\" }, mobileImageEl),\r\n cardsRendering())));\r\n};\r\n","import React, { useMemo } from \"react\";\r\nimport { sanitizeUrl } from \"../..//utils\";\r\nimport { usePageViewStyle } from \"../../hooks\";\r\nexport const ImgV2 = ({ smallUrl, mediumUrl, largeUrl, strictRender, src, ...rest }) => {\r\n const { isSmall, isMedium, isLarge } = usePageViewStyle();\r\n const chosenUrl = useMemo(() => {\r\n if (isMedium) {\r\n return mediumUrl;\r\n }\r\n if (isLarge) {\r\n return largeUrl;\r\n }\r\n return smallUrl;\r\n }, [isMedium, isLarge, smallUrl, mediumUrl, largeUrl]);\r\n const renderSmallImage = () => (smallUrl && React.createElement(\"img\", { src: smallUrl, ...rest }));\r\n const renderMediumImage = () => (mediumUrl && React.createElement(\"img\", { src: mediumUrl, ...rest }));\r\n const renderLargeImage = () => (largeUrl && React.createElement(\"img\", { src: largeUrl, ...rest }));\r\n const getAppropriateImageUrl = () => (chosenUrl || src || mediumUrl || largeUrl || smallUrl || \"\");\r\n if (strictRender) {\r\n if (isSmall) {\r\n return React.createElement(React.Fragment, null, renderSmallImage());\r\n }\r\n if (isMedium) {\r\n return React.createElement(React.Fragment, null, renderMediumImage());\r\n }\r\n if (isLarge) {\r\n return React.createElement(React.Fragment, null, renderLargeImage());\r\n }\r\n return React.createElement(React.Fragment, null);\r\n }\r\n const normalUrl = getAppropriateImageUrl();\r\n return React.createElement(\"img\", { src: sanitizeUrl(normalUrl), ...rest, alt: rest.alt });\r\n};\r\n","import * as React from \"react\";\r\nimport { handleLinkTarget } from \"../../../utils\";\r\nimport { ContainerFW } from \"../../global\";\r\nimport { ImgV2 } from \"../../ImgV2\";\r\nexport const RibbonBanner3 = ({ iconImgUrl, iconImgAlt, mainText, linkText, linkUrl, linkOpenInNewTab }) => {\r\n const linkHrefTarget = handleLinkTarget(linkOpenInNewTab);\r\n return (React.createElement(ContainerFW, null,\r\n React.createElement(\"div\", { className: \"ribbon-banner3 centered-container color-pure-white bg-color-dark-background-ribbon\" },\r\n React.createElement(ImgV2, { src: iconImgUrl, alt: iconImgAlt }),\r\n React.createElement(\"span\", { className: \"ribbon-banner3__main-text\", dangerouslySetInnerHTML: {\r\n __html: mainText\r\n } }),\r\n React.createElement(\"a\", { href: linkUrl, target: linkHrefTarget, className: \"ribbon-banner3__main-text color-pure-white\" }, linkText))));\r\n};\r\n","import React from \"react\";\r\nimport { ButtonV2 } from \"../../ButtonV2\";\r\nimport { Container, ContainerFW } from \"../../global\";\r\nimport { Heading } from \"../../Heading\";\r\nexport const BannerImageBackground = ({ buttonHref, buttonLabel, openInNewTabButton, subTitle, title, imageUrl, backgroundColor, gradient1, gradient2, buttonHref2, buttonLabel2, openInNewTabButton2 }) => (React.createElement(ContainerFW, { backgroundColor: backgroundColor },\r\n React.createElement(\"div\", { className: \"banner-image-background\", style: { \"--background-image-url\": `url(${imageUrl})`, \"--gradient-1\": `${gradient1}`, \"--gradient-2\": `${gradient2}` } },\r\n React.createElement(Container, { className: \"g-container--tablet-margins\" },\r\n React.createElement(\"div\", { className: \"banner-image-background__contentWrapper\" },\r\n React.createElement(Heading, { design: \"h3-lp\" }, title),\r\n React.createElement(\"p\", null, subTitle),\r\n React.createElement(\"div\", { className: \"banner-image-background__button-wrapper\" },\r\n buttonHref2 && React.createElement(ButtonV2, { href: buttonHref2, openInNewTab: openInNewTabButton2, design: \"cta-large-wbg\" }, buttonLabel2),\r\n buttonHref && React.createElement(ButtonV2, { href: buttonHref, openInNewTab: openInNewTabButton, design: \"secondary-large-wbg\" }, buttonLabel)))))));\r\n","import React from \"react\";\r\nimport { Img } from \"../../../Img\";\r\nexport const IconAndTitleCard = (props) => (React.createElement(\"a\", { href: props.cardUrl, className: \"icon-and-title-card\" },\r\n React.createElement(Img, { className: \"icon-and-title-card__image\", src: props.iconURL, alt: props.iconAlt }),\r\n React.createElement(\"p\", null, props.title)));\r\n","import React from \"react\";\r\nimport { Container, ContainerFW } from \"../../global\";\r\nimport { IconAndTitleCard } from \"./IconAndTitleCard/IconAndTitleCard\";\r\nimport { getColors } from \"../../../utils\";\r\nexport const IconAndTitleCardDeck = (props) => {\r\n const { bgColor } = getColors(props.backgroundColor);\r\n return (React.createElement(ContainerFW, { backgroundColor: bgColor },\r\n React.createElement(Container, null,\r\n React.createElement(\"div\", { className: \"icon-and-title-card-deck\" },\r\n React.createElement(\"div\", { className: \"icon-and-title-card-deck__text-container\" },\r\n React.createElement(\"h3\", null, props.title),\r\n React.createElement(\"p\", null, props.description)),\r\n React.createElement(\"div\", { className: \"icon-and-title-card-deck__items-container\" }, props.cards.map((card, i) => React.createElement(IconAndTitleCard, { ...card, key: i })))))));\r\n};\r\n","/**\n * SSR Window 4.0.2\n * Better handling for window object in SSR environment\n * https://github.com/nolimits4web/ssr-window\n *\n * Copyright 2021, Vladimir Kharlampidi\n *\n * Licensed under MIT\n *\n * Released on: December 13, 2021\n */\n/* eslint-disable no-param-reassign */\nfunction isObject(obj) {\n return (obj !== null &&\n typeof obj === 'object' &&\n 'constructor' in obj &&\n obj.constructor === Object);\n}\nfunction extend(target = {}, src = {}) {\n Object.keys(src).forEach((key) => {\n if (typeof target[key] === 'undefined')\n target[key] = src[key];\n else if (isObject(src[key]) &&\n isObject(target[key]) &&\n Object.keys(src[key]).length > 0) {\n extend(target[key], src[key]);\n }\n });\n}\n\nconst ssrDocument = {\n body: {},\n addEventListener() { },\n removeEventListener() { },\n activeElement: {\n blur() { },\n nodeName: '',\n },\n querySelector() {\n return null;\n },\n querySelectorAll() {\n return [];\n },\n getElementById() {\n return null;\n },\n createEvent() {\n return {\n initEvent() { },\n };\n },\n createElement() {\n return {\n children: [],\n childNodes: [],\n style: {},\n setAttribute() { },\n getElementsByTagName() {\n return [];\n },\n };\n },\n createElementNS() {\n return {};\n },\n importNode() {\n return null;\n },\n location: {\n hash: '',\n host: '',\n hostname: '',\n href: '',\n origin: '',\n pathname: '',\n protocol: '',\n search: '',\n },\n};\nfunction getDocument() {\n const doc = typeof document !== 'undefined' ? document : {};\n extend(doc, ssrDocument);\n return doc;\n}\n\nconst ssrWindow = {\n document: ssrDocument,\n navigator: {\n userAgent: '',\n },\n location: {\n hash: '',\n host: '',\n hostname: '',\n href: '',\n origin: '',\n pathname: '',\n protocol: '',\n search: '',\n },\n history: {\n replaceState() { },\n pushState() { },\n go() { },\n back() { },\n },\n CustomEvent: function CustomEvent() {\n return this;\n },\n addEventListener() { },\n removeEventListener() { },\n getComputedStyle() {\n return {\n getPropertyValue() {\n return '';\n },\n };\n },\n Image() { },\n Date() { },\n screen: {},\n setTimeout() { },\n clearTimeout() { },\n matchMedia() {\n return {};\n },\n requestAnimationFrame(callback) {\n if (typeof setTimeout === 'undefined') {\n callback();\n return null;\n }\n return setTimeout(callback, 0);\n },\n cancelAnimationFrame(id) {\n if (typeof setTimeout === 'undefined') {\n return;\n }\n clearTimeout(id);\n },\n};\nfunction getWindow() {\n const win = typeof window !== 'undefined' ? window : {};\n extend(win, ssrWindow);\n return win;\n}\n\nexport { extend, getDocument, getWindow, ssrDocument, ssrWindow };\n","import { getWindow, getDocument } from 'ssr-window';\nfunction deleteProps(obj) {\n const object = obj;\n Object.keys(object).forEach(key => {\n try {\n object[key] = null;\n } catch (e) {\n // no getter for object\n }\n try {\n delete object[key];\n } catch (e) {\n // something got wrong\n }\n });\n}\nfunction nextTick(callback, delay = 0) {\n return setTimeout(callback, delay);\n}\nfunction now() {\n return Date.now();\n}\nfunction getComputedStyle(el) {\n const window = getWindow();\n let style;\n if (window.getComputedStyle) {\n style = window.getComputedStyle(el, null);\n }\n if (!style && el.currentStyle) {\n style = el.currentStyle;\n }\n if (!style) {\n style = el.style;\n }\n return style;\n}\nfunction getTranslate(el, axis = 'x') {\n const window = getWindow();\n let matrix;\n let curTransform;\n let transformMatrix;\n const curStyle = getComputedStyle(el, null);\n if (window.WebKitCSSMatrix) {\n curTransform = curStyle.transform || curStyle.webkitTransform;\n if (curTransform.split(',').length > 6) {\n curTransform = curTransform.split(', ').map(a => a.replace(',', '.')).join(', ');\n }\n // Some old versions of Webkit choke when 'none' is passed; pass\n // empty string instead in this case\n transformMatrix = new window.WebKitCSSMatrix(curTransform === 'none' ? '' : curTransform);\n } else {\n transformMatrix = curStyle.MozTransform || curStyle.OTransform || curStyle.MsTransform || curStyle.msTransform || curStyle.transform || curStyle.getPropertyValue('transform').replace('translate(', 'matrix(1, 0, 0, 1,');\n matrix = transformMatrix.toString().split(',');\n }\n if (axis === 'x') {\n // Latest Chrome and webkits Fix\n if (window.WebKitCSSMatrix) curTransform = transformMatrix.m41;\n // Crazy IE10 Matrix\n else if (matrix.length === 16) curTransform = parseFloat(matrix[12]);\n // Normal Browsers\n else curTransform = parseFloat(matrix[4]);\n }\n if (axis === 'y') {\n // Latest Chrome and webkits Fix\n if (window.WebKitCSSMatrix) curTransform = transformMatrix.m42;\n // Crazy IE10 Matrix\n else if (matrix.length === 16) curTransform = parseFloat(matrix[13]);\n // Normal Browsers\n else curTransform = parseFloat(matrix[5]);\n }\n return curTransform || 0;\n}\nfunction isObject(o) {\n return typeof o === 'object' && o !== null && o.constructor && Object.prototype.toString.call(o).slice(8, -1) === 'Object';\n}\nfunction isNode(node) {\n // eslint-disable-next-line\n if (typeof window !== 'undefined' && typeof window.HTMLElement !== 'undefined') {\n return node instanceof HTMLElement;\n }\n return node && (node.nodeType === 1 || node.nodeType === 11);\n}\nfunction extend(...args) {\n const to = Object(args[0]);\n const noExtend = ['__proto__', 'constructor', 'prototype'];\n for (let i = 1; i < args.length; i += 1) {\n const nextSource = args[i];\n if (nextSource !== undefined && nextSource !== null && !isNode(nextSource)) {\n const keysArray = Object.keys(Object(nextSource)).filter(key => noExtend.indexOf(key) < 0);\n for (let nextIndex = 0, len = keysArray.length; nextIndex < len; nextIndex += 1) {\n const nextKey = keysArray[nextIndex];\n const desc = Object.getOwnPropertyDescriptor(nextSource, nextKey);\n if (desc !== undefined && desc.enumerable) {\n if (isObject(to[nextKey]) && isObject(nextSource[nextKey])) {\n if (nextSource[nextKey].__swiper__) {\n to[nextKey] = nextSource[nextKey];\n } else {\n extend(to[nextKey], nextSource[nextKey]);\n }\n } else if (!isObject(to[nextKey]) && isObject(nextSource[nextKey])) {\n to[nextKey] = {};\n if (nextSource[nextKey].__swiper__) {\n to[nextKey] = nextSource[nextKey];\n } else {\n extend(to[nextKey], nextSource[nextKey]);\n }\n } else {\n to[nextKey] = nextSource[nextKey];\n }\n }\n }\n }\n }\n return to;\n}\nfunction setCSSProperty(el, varName, varValue) {\n el.style.setProperty(varName, varValue);\n}\nfunction animateCSSModeScroll({\n swiper,\n targetPosition,\n side\n}) {\n const window = getWindow();\n const startPosition = -swiper.translate;\n let startTime = null;\n let time;\n const duration = swiper.params.speed;\n swiper.wrapperEl.style.scrollSnapType = 'none';\n window.cancelAnimationFrame(swiper.cssModeFrameID);\n const dir = targetPosition > startPosition ? 'next' : 'prev';\n const isOutOfBound = (current, target) => {\n return dir === 'next' && current >= target || dir === 'prev' && current <= target;\n };\n const animate = () => {\n time = new Date().getTime();\n if (startTime === null) {\n startTime = time;\n }\n const progress = Math.max(Math.min((time - startTime) / duration, 1), 0);\n const easeProgress = 0.5 - Math.cos(progress * Math.PI) / 2;\n let currentPosition = startPosition + easeProgress * (targetPosition - startPosition);\n if (isOutOfBound(currentPosition, targetPosition)) {\n currentPosition = targetPosition;\n }\n swiper.wrapperEl.scrollTo({\n [side]: currentPosition\n });\n if (isOutOfBound(currentPosition, targetPosition)) {\n swiper.wrapperEl.style.overflow = 'hidden';\n swiper.wrapperEl.style.scrollSnapType = '';\n setTimeout(() => {\n swiper.wrapperEl.style.overflow = '';\n swiper.wrapperEl.scrollTo({\n [side]: currentPosition\n });\n });\n window.cancelAnimationFrame(swiper.cssModeFrameID);\n return;\n }\n swiper.cssModeFrameID = window.requestAnimationFrame(animate);\n };\n animate();\n}\nfunction getSlideTransformEl(slideEl) {\n return slideEl.querySelector('.swiper-slide-transform') || slideEl.shadowEl && slideEl.shadowEl.querySelector('.swiper-slide-transform') || slideEl;\n}\nfunction findElementsInElements(elements = [], selector = '') {\n const found = [];\n elements.forEach(el => {\n found.push(...el.querySelectorAll(selector));\n });\n return found;\n}\nfunction elementChildren(element, selector = '') {\n return [...element.children].filter(el => el.matches(selector));\n}\nfunction createElement(tag, classes = []) {\n const el = document.createElement(tag);\n el.classList.add(...(Array.isArray(classes) ? classes : [classes]));\n return el;\n}\nfunction elementOffset(el) {\n const window = getWindow();\n const document = getDocument();\n const box = el.getBoundingClientRect();\n const body = document.body;\n const clientTop = el.clientTop || body.clientTop || 0;\n const clientLeft = el.clientLeft || body.clientLeft || 0;\n const scrollTop = el === window ? window.scrollY : el.scrollTop;\n const scrollLeft = el === window ? window.scrollX : el.scrollLeft;\n return {\n top: box.top + scrollTop - clientTop,\n left: box.left + scrollLeft - clientLeft\n };\n}\nfunction elementPrevAll(el, selector) {\n const prevEls = [];\n while (el.previousElementSibling) {\n const prev = el.previousElementSibling; // eslint-disable-line\n if (selector) {\n if (prev.matches(selector)) prevEls.push(prev);\n } else prevEls.push(prev);\n el = prev;\n }\n return prevEls;\n}\nfunction elementNextAll(el, selector) {\n const nextEls = [];\n while (el.nextElementSibling) {\n const next = el.nextElementSibling; // eslint-disable-line\n if (selector) {\n if (next.matches(selector)) nextEls.push(next);\n } else nextEls.push(next);\n el = next;\n }\n return nextEls;\n}\nfunction elementStyle(el, prop) {\n const window = getWindow();\n return window.getComputedStyle(el, null).getPropertyValue(prop);\n}\nfunction elementIndex(el) {\n let child = el;\n let i;\n if (child) {\n i = 0;\n // eslint-disable-next-line\n while ((child = child.previousSibling) !== null) {\n if (child.nodeType === 1) i += 1;\n }\n return i;\n }\n return undefined;\n}\nfunction elementParents(el, selector) {\n const parents = []; // eslint-disable-line\n let parent = el.parentElement; // eslint-disable-line\n while (parent) {\n if (selector) {\n if (parent.matches(selector)) parents.push(parent);\n } else {\n parents.push(parent);\n }\n parent = parent.parentElement;\n }\n return parents;\n}\nfunction elementTransitionEnd(el, callback) {\n function fireCallBack(e) {\n if (e.target !== el) return;\n callback.call(el, e);\n el.removeEventListener('transitionend', fireCallBack);\n }\n if (callback) {\n el.addEventListener('transitionend', fireCallBack);\n }\n}\nfunction elementOuterSize(el, size, includeMargins) {\n const window = getWindow();\n if (includeMargins) {\n return el[size === 'width' ? 'offsetWidth' : 'offsetHeight'] + parseFloat(window.getComputedStyle(el, null).getPropertyValue(size === 'width' ? 'margin-right' : 'margin-top')) + parseFloat(window.getComputedStyle(el, null).getPropertyValue(size === 'width' ? 'margin-left' : 'margin-bottom'));\n }\n return el.offsetWidth;\n}\nexport { animateCSSModeScroll, deleteProps, nextTick, now, getTranslate, isObject, extend, getComputedStyle, setCSSProperty, getSlideTransformEl,\n// dom\nfindElementsInElements, createElement, elementChildren, elementOffset, elementPrevAll, elementNextAll, elementStyle, elementIndex, elementParents, elementTransitionEnd, elementOuterSize };","import { getWindow, getDocument } from 'ssr-window';\nlet support;\nfunction calcSupport() {\n const window = getWindow();\n const document = getDocument();\n return {\n smoothScroll: document.documentElement && 'scrollBehavior' in document.documentElement.style,\n touch: !!('ontouchstart' in window || window.DocumentTouch && document instanceof window.DocumentTouch)\n };\n}\nfunction getSupport() {\n if (!support) {\n support = calcSupport();\n }\n return support;\n}\nexport { getSupport };","import { getWindow } from 'ssr-window';\nimport { getSupport } from './get-support.js';\nlet deviceCached;\nfunction calcDevice({\n userAgent\n} = {}) {\n const support = getSupport();\n const window = getWindow();\n const platform = window.navigator.platform;\n const ua = userAgent || window.navigator.userAgent;\n const device = {\n ios: false,\n android: false\n };\n const screenWidth = window.screen.width;\n const screenHeight = window.screen.height;\n const android = ua.match(/(Android);?[\\s\\/]+([\\d.]+)?/); // eslint-disable-line\n let ipad = ua.match(/(iPad).*OS\\s([\\d_]+)/);\n const ipod = ua.match(/(iPod)(.*OS\\s([\\d_]+))?/);\n const iphone = !ipad && ua.match(/(iPhone\\sOS|iOS)\\s([\\d_]+)/);\n const windows = platform === 'Win32';\n let macos = platform === 'MacIntel';\n\n // iPadOs 13 fix\n const iPadScreens = ['1024x1366', '1366x1024', '834x1194', '1194x834', '834x1112', '1112x834', '768x1024', '1024x768', '820x1180', '1180x820', '810x1080', '1080x810'];\n if (!ipad && macos && support.touch && iPadScreens.indexOf(`${screenWidth}x${screenHeight}`) >= 0) {\n ipad = ua.match(/(Version)\\/([\\d.]+)/);\n if (!ipad) ipad = [0, 1, '13_0_0'];\n macos = false;\n }\n\n // Android\n if (android && !windows) {\n device.os = 'android';\n device.android = true;\n }\n if (ipad || iphone || ipod) {\n device.os = 'ios';\n device.ios = true;\n }\n\n // Export object\n return device;\n}\nfunction getDevice(overrides = {}) {\n if (!deviceCached) {\n deviceCached = calcDevice(overrides);\n }\n return deviceCached;\n}\nexport { getDevice };","import { getWindow } from 'ssr-window';\nlet browser;\nfunction calcBrowser() {\n const window = getWindow();\n let needPerspectiveFix = false;\n function isSafari() {\n const ua = window.navigator.userAgent.toLowerCase();\n return ua.indexOf('safari') >= 0 && ua.indexOf('chrome') < 0 && ua.indexOf('android') < 0;\n }\n if (isSafari()) {\n const ua = String(window.navigator.userAgent);\n if (ua.includes('Version/')) {\n const [major, minor] = ua.split('Version/')[1].split(' ')[0].split('.').map(num => Number(num));\n needPerspectiveFix = major < 16 || major === 16 && minor < 2;\n }\n }\n return {\n isSafari: needPerspectiveFix || isSafari(),\n needPerspectiveFix,\n isWebView: /(iPhone|iPod|iPad).*AppleWebKit(?!.*Safari)/i.test(window.navigator.userAgent)\n };\n}\nfunction getBrowser() {\n if (!browser) {\n browser = calcBrowser();\n }\n return browser;\n}\nexport { getBrowser };","/* eslint-disable no-underscore-dangle */\n\nexport default {\n on(events, handler, priority) {\n const self = this;\n if (!self.eventsListeners || self.destroyed) return self;\n if (typeof handler !== 'function') return self;\n const method = priority ? 'unshift' : 'push';\n events.split(' ').forEach(event => {\n if (!self.eventsListeners[event]) self.eventsListeners[event] = [];\n self.eventsListeners[event][method](handler);\n });\n return self;\n },\n once(events, handler, priority) {\n const self = this;\n if (!self.eventsListeners || self.destroyed) return self;\n if (typeof handler !== 'function') return self;\n function onceHandler(...args) {\n self.off(events, onceHandler);\n if (onceHandler.__emitterProxy) {\n delete onceHandler.__emitterProxy;\n }\n handler.apply(self, args);\n }\n onceHandler.__emitterProxy = handler;\n return self.on(events, onceHandler, priority);\n },\n onAny(handler, priority) {\n const self = this;\n if (!self.eventsListeners || self.destroyed) return self;\n if (typeof handler !== 'function') return self;\n const method = priority ? 'unshift' : 'push';\n if (self.eventsAnyListeners.indexOf(handler) < 0) {\n self.eventsAnyListeners[method](handler);\n }\n return self;\n },\n offAny(handler) {\n const self = this;\n if (!self.eventsListeners || self.destroyed) return self;\n if (!self.eventsAnyListeners) return self;\n const index = self.eventsAnyListeners.indexOf(handler);\n if (index >= 0) {\n self.eventsAnyListeners.splice(index, 1);\n }\n return self;\n },\n off(events, handler) {\n const self = this;\n if (!self.eventsListeners || self.destroyed) return self;\n if (!self.eventsListeners) return self;\n events.split(' ').forEach(event => {\n if (typeof handler === 'undefined') {\n self.eventsListeners[event] = [];\n } else if (self.eventsListeners[event]) {\n self.eventsListeners[event].forEach((eventHandler, index) => {\n if (eventHandler === handler || eventHandler.__emitterProxy && eventHandler.__emitterProxy === handler) {\n self.eventsListeners[event].splice(index, 1);\n }\n });\n }\n });\n return self;\n },\n emit(...args) {\n const self = this;\n if (!self.eventsListeners || self.destroyed) return self;\n if (!self.eventsListeners) return self;\n let events;\n let data;\n let context;\n if (typeof args[0] === 'string' || Array.isArray(args[0])) {\n events = args[0];\n data = args.slice(1, args.length);\n context = self;\n } else {\n events = args[0].events;\n data = args[0].data;\n context = args[0].context || self;\n }\n data.unshift(context);\n const eventsArray = Array.isArray(events) ? events : events.split(' ');\n eventsArray.forEach(event => {\n if (self.eventsAnyListeners && self.eventsAnyListeners.length) {\n self.eventsAnyListeners.forEach(eventHandler => {\n eventHandler.apply(context, [event, ...data]);\n });\n }\n if (self.eventsListeners && self.eventsListeners[event]) {\n self.eventsListeners[event].forEach(eventHandler => {\n eventHandler.apply(context, data);\n });\n }\n });\n return self;\n }\n};","import updateSize from './updateSize.js';\nimport updateSlides from './updateSlides.js';\nimport updateAutoHeight from './updateAutoHeight.js';\nimport updateSlidesOffset from './updateSlidesOffset.js';\nimport updateSlidesProgress from './updateSlidesProgress.js';\nimport updateProgress from './updateProgress.js';\nimport updateSlidesClasses from './updateSlidesClasses.js';\nimport updateActiveIndex from './updateActiveIndex.js';\nimport updateClickedSlide from './updateClickedSlide.js';\nexport default {\n updateSize,\n updateSlides,\n updateAutoHeight,\n updateSlidesOffset,\n updateSlidesProgress,\n updateProgress,\n updateSlidesClasses,\n updateActiveIndex,\n updateClickedSlide\n};","import { elementStyle } from '../../shared/utils.js';\nexport default function updateSize() {\n const swiper = this;\n let width;\n let height;\n const el = swiper.el;\n if (typeof swiper.params.width !== 'undefined' && swiper.params.width !== null) {\n width = swiper.params.width;\n } else {\n width = el.clientWidth;\n }\n if (typeof swiper.params.height !== 'undefined' && swiper.params.height !== null) {\n height = swiper.params.height;\n } else {\n height = el.clientHeight;\n }\n if (width === 0 && swiper.isHorizontal() || height === 0 && swiper.isVertical()) {\n return;\n }\n\n // Subtract paddings\n width = width - parseInt(elementStyle(el, 'padding-left') || 0, 10) - parseInt(elementStyle(el, 'padding-right') || 0, 10);\n height = height - parseInt(elementStyle(el, 'padding-top') || 0, 10) - parseInt(elementStyle(el, 'padding-bottom') || 0, 10);\n if (Number.isNaN(width)) width = 0;\n if (Number.isNaN(height)) height = 0;\n Object.assign(swiper, {\n width,\n height,\n size: swiper.isHorizontal() ? width : height\n });\n}","import { elementChildren, elementOuterSize, elementStyle, setCSSProperty } from '../../shared/utils.js';\nexport default function updateSlides() {\n const swiper = this;\n function getDirectionLabel(property) {\n if (swiper.isHorizontal()) {\n return property;\n }\n // prettier-ignore\n return {\n 'width': 'height',\n 'margin-top': 'margin-left',\n 'margin-bottom ': 'margin-right',\n 'margin-left': 'margin-top',\n 'margin-right': 'margin-bottom',\n 'padding-left': 'padding-top',\n 'padding-right': 'padding-bottom',\n 'marginRight': 'marginBottom'\n }[property];\n }\n function getDirectionPropertyValue(node, label) {\n return parseFloat(node.getPropertyValue(getDirectionLabel(label)) || 0);\n }\n const params = swiper.params;\n const {\n wrapperEl,\n slidesEl,\n size: swiperSize,\n rtlTranslate: rtl,\n wrongRTL\n } = swiper;\n const isVirtual = swiper.virtual && params.virtual.enabled;\n const previousSlidesLength = isVirtual ? swiper.virtual.slides.length : swiper.slides.length;\n const slides = elementChildren(slidesEl, `.${swiper.params.slideClass}, swiper-slide`);\n const slidesLength = isVirtual ? swiper.virtual.slides.length : slides.length;\n let snapGrid = [];\n const slidesGrid = [];\n const slidesSizesGrid = [];\n let offsetBefore = params.slidesOffsetBefore;\n if (typeof offsetBefore === 'function') {\n offsetBefore = params.slidesOffsetBefore.call(swiper);\n }\n let offsetAfter = params.slidesOffsetAfter;\n if (typeof offsetAfter === 'function') {\n offsetAfter = params.slidesOffsetAfter.call(swiper);\n }\n const previousSnapGridLength = swiper.snapGrid.length;\n const previousSlidesGridLength = swiper.slidesGrid.length;\n let spaceBetween = params.spaceBetween;\n let slidePosition = -offsetBefore;\n let prevSlideSize = 0;\n let index = 0;\n if (typeof swiperSize === 'undefined') {\n return;\n }\n if (typeof spaceBetween === 'string' && spaceBetween.indexOf('%') >= 0) {\n spaceBetween = parseFloat(spaceBetween.replace('%', '')) / 100 * swiperSize;\n }\n swiper.virtualSize = -spaceBetween;\n\n // reset margins\n slides.forEach(slideEl => {\n if (rtl) {\n slideEl.style.marginLeft = '';\n } else {\n slideEl.style.marginRight = '';\n }\n slideEl.style.marginBottom = '';\n slideEl.style.marginTop = '';\n });\n\n // reset cssMode offsets\n if (params.centeredSlides && params.cssMode) {\n setCSSProperty(wrapperEl, '--swiper-centered-offset-before', '');\n setCSSProperty(wrapperEl, '--swiper-centered-offset-after', '');\n }\n const gridEnabled = params.grid && params.grid.rows > 1 && swiper.grid;\n if (gridEnabled) {\n swiper.grid.initSlides(slidesLength);\n }\n\n // Calc slides\n let slideSize;\n const shouldResetSlideSize = params.slidesPerView === 'auto' && params.breakpoints && Object.keys(params.breakpoints).filter(key => {\n return typeof params.breakpoints[key].slidesPerView !== 'undefined';\n }).length > 0;\n for (let i = 0; i < slidesLength; i += 1) {\n slideSize = 0;\n let slide;\n if (slides[i]) slide = slides[i];\n if (gridEnabled) {\n swiper.grid.updateSlide(i, slide, slidesLength, getDirectionLabel);\n }\n if (slides[i] && elementStyle(slide, 'display') === 'none') continue; // eslint-disable-line\n\n if (params.slidesPerView === 'auto') {\n if (shouldResetSlideSize) {\n slides[i].style[getDirectionLabel('width')] = ``;\n }\n const slideStyles = getComputedStyle(slide);\n const currentTransform = slide.style.transform;\n const currentWebKitTransform = slide.style.webkitTransform;\n if (currentTransform) {\n slide.style.transform = 'none';\n }\n if (currentWebKitTransform) {\n slide.style.webkitTransform = 'none';\n }\n if (params.roundLengths) {\n slideSize = swiper.isHorizontal() ? elementOuterSize(slide, 'width', true) : elementOuterSize(slide, 'height', true);\n } else {\n // eslint-disable-next-line\n const width = getDirectionPropertyValue(slideStyles, 'width');\n const paddingLeft = getDirectionPropertyValue(slideStyles, 'padding-left');\n const paddingRight = getDirectionPropertyValue(slideStyles, 'padding-right');\n const marginLeft = getDirectionPropertyValue(slideStyles, 'margin-left');\n const marginRight = getDirectionPropertyValue(slideStyles, 'margin-right');\n const boxSizing = slideStyles.getPropertyValue('box-sizing');\n if (boxSizing && boxSizing === 'border-box') {\n slideSize = width + marginLeft + marginRight;\n } else {\n const {\n clientWidth,\n offsetWidth\n } = slide;\n slideSize = width + paddingLeft + paddingRight + marginLeft + marginRight + (offsetWidth - clientWidth);\n }\n }\n if (currentTransform) {\n slide.style.transform = currentTransform;\n }\n if (currentWebKitTransform) {\n slide.style.webkitTransform = currentWebKitTransform;\n }\n if (params.roundLengths) slideSize = Math.floor(slideSize);\n } else {\n slideSize = (swiperSize - (params.slidesPerView - 1) * spaceBetween) / params.slidesPerView;\n if (params.roundLengths) slideSize = Math.floor(slideSize);\n if (slides[i]) {\n slides[i].style[getDirectionLabel('width')] = `${slideSize}px`;\n }\n }\n if (slides[i]) {\n slides[i].swiperSlideSize = slideSize;\n }\n slidesSizesGrid.push(slideSize);\n if (params.centeredSlides) {\n slidePosition = slidePosition + slideSize / 2 + prevSlideSize / 2 + spaceBetween;\n if (prevSlideSize === 0 && i !== 0) slidePosition = slidePosition - swiperSize / 2 - spaceBetween;\n if (i === 0) slidePosition = slidePosition - swiperSize / 2 - spaceBetween;\n if (Math.abs(slidePosition) < 1 / 1000) slidePosition = 0;\n if (params.roundLengths) slidePosition = Math.floor(slidePosition);\n if (index % params.slidesPerGroup === 0) snapGrid.push(slidePosition);\n slidesGrid.push(slidePosition);\n } else {\n if (params.roundLengths) slidePosition = Math.floor(slidePosition);\n if ((index - Math.min(swiper.params.slidesPerGroupSkip, index)) % swiper.params.slidesPerGroup === 0) snapGrid.push(slidePosition);\n slidesGrid.push(slidePosition);\n slidePosition = slidePosition + slideSize + spaceBetween;\n }\n swiper.virtualSize += slideSize + spaceBetween;\n prevSlideSize = slideSize;\n index += 1;\n }\n swiper.virtualSize = Math.max(swiper.virtualSize, swiperSize) + offsetAfter;\n if (rtl && wrongRTL && (params.effect === 'slide' || params.effect === 'coverflow')) {\n wrapperEl.style.width = `${swiper.virtualSize + params.spaceBetween}px`;\n }\n if (params.setWrapperSize) {\n wrapperEl.style[getDirectionLabel('width')] = `${swiper.virtualSize + params.spaceBetween}px`;\n }\n if (gridEnabled) {\n swiper.grid.updateWrapperSize(slideSize, snapGrid, getDirectionLabel);\n }\n\n // Remove last grid elements depending on width\n if (!params.centeredSlides) {\n const newSlidesGrid = [];\n for (let i = 0; i < snapGrid.length; i += 1) {\n let slidesGridItem = snapGrid[i];\n if (params.roundLengths) slidesGridItem = Math.floor(slidesGridItem);\n if (snapGrid[i] <= swiper.virtualSize - swiperSize) {\n newSlidesGrid.push(slidesGridItem);\n }\n }\n snapGrid = newSlidesGrid;\n if (Math.floor(swiper.virtualSize - swiperSize) - Math.floor(snapGrid[snapGrid.length - 1]) > 1) {\n snapGrid.push(swiper.virtualSize - swiperSize);\n }\n }\n if (isVirtual && params.loop) {\n const size = slidesSizesGrid[0] + spaceBetween;\n if (params.slidesPerGroup > 1) {\n const groups = Math.ceil((swiper.virtual.slidesBefore + swiper.virtual.slidesAfter) / params.slidesPerGroup);\n const groupSize = size * params.slidesPerGroup;\n for (let i = 0; i < groups; i += 1) {\n snapGrid.push(snapGrid[snapGrid.length - 1] + groupSize);\n }\n }\n for (let i = 0; i < swiper.virtual.slidesBefore + swiper.virtual.slidesAfter; i += 1) {\n if (params.slidesPerGroup === 1) {\n snapGrid.push(snapGrid[snapGrid.length - 1] + size);\n }\n slidesGrid.push(slidesGrid[slidesGrid.length - 1] + size);\n swiper.virtualSize += size;\n }\n }\n if (snapGrid.length === 0) snapGrid = [0];\n if (params.spaceBetween !== 0) {\n const key = swiper.isHorizontal() && rtl ? 'marginLeft' : getDirectionLabel('marginRight');\n slides.filter((_, slideIndex) => {\n if (!params.cssMode || params.loop) return true;\n if (slideIndex === slides.length - 1) {\n return false;\n }\n return true;\n }).forEach(slideEl => {\n slideEl.style[key] = `${spaceBetween}px`;\n });\n }\n if (params.centeredSlides && params.centeredSlidesBounds) {\n let allSlidesSize = 0;\n slidesSizesGrid.forEach(slideSizeValue => {\n allSlidesSize += slideSizeValue + (params.spaceBetween ? params.spaceBetween : 0);\n });\n allSlidesSize -= params.spaceBetween;\n const maxSnap = allSlidesSize - swiperSize;\n snapGrid = snapGrid.map(snap => {\n if (snap < 0) return -offsetBefore;\n if (snap > maxSnap) return maxSnap + offsetAfter;\n return snap;\n });\n }\n if (params.centerInsufficientSlides) {\n let allSlidesSize = 0;\n slidesSizesGrid.forEach(slideSizeValue => {\n allSlidesSize += slideSizeValue + (params.spaceBetween ? params.spaceBetween : 0);\n });\n allSlidesSize -= params.spaceBetween;\n if (allSlidesSize < swiperSize) {\n const allSlidesOffset = (swiperSize - allSlidesSize) / 2;\n snapGrid.forEach((snap, snapIndex) => {\n snapGrid[snapIndex] = snap - allSlidesOffset;\n });\n slidesGrid.forEach((snap, snapIndex) => {\n slidesGrid[snapIndex] = snap + allSlidesOffset;\n });\n }\n }\n Object.assign(swiper, {\n slides,\n snapGrid,\n slidesGrid,\n slidesSizesGrid\n });\n if (params.centeredSlides && params.cssMode && !params.centeredSlidesBounds) {\n setCSSProperty(wrapperEl, '--swiper-centered-offset-before', `${-snapGrid[0]}px`);\n setCSSProperty(wrapperEl, '--swiper-centered-offset-after', `${swiper.size / 2 - slidesSizesGrid[slidesSizesGrid.length - 1] / 2}px`);\n const addToSnapGrid = -swiper.snapGrid[0];\n const addToSlidesGrid = -swiper.slidesGrid[0];\n swiper.snapGrid = swiper.snapGrid.map(v => v + addToSnapGrid);\n swiper.slidesGrid = swiper.slidesGrid.map(v => v + addToSlidesGrid);\n }\n if (slidesLength !== previousSlidesLength) {\n swiper.emit('slidesLengthChange');\n }\n if (snapGrid.length !== previousSnapGridLength) {\n if (swiper.params.watchOverflow) swiper.checkOverflow();\n swiper.emit('snapGridLengthChange');\n }\n if (slidesGrid.length !== previousSlidesGridLength) {\n swiper.emit('slidesGridLengthChange');\n }\n if (params.watchSlidesProgress) {\n swiper.updateSlidesOffset();\n }\n if (!isVirtual && !params.cssMode && (params.effect === 'slide' || params.effect === 'fade')) {\n const backFaceHiddenClass = `${params.containerModifierClass}backface-hidden`;\n const hasClassBackfaceClassAdded = swiper.el.classList.contains(backFaceHiddenClass);\n if (slidesLength <= params.maxBackfaceHiddenSlides) {\n if (!hasClassBackfaceClassAdded) swiper.el.classList.add(backFaceHiddenClass);\n } else if (hasClassBackfaceClassAdded) {\n swiper.el.classList.remove(backFaceHiddenClass);\n }\n }\n}","export default function updateAutoHeight(speed) {\n const swiper = this;\n const activeSlides = [];\n const isVirtual = swiper.virtual && swiper.params.virtual.enabled;\n let newHeight = 0;\n let i;\n if (typeof speed === 'number') {\n swiper.setTransition(speed);\n } else if (speed === true) {\n swiper.setTransition(swiper.params.speed);\n }\n const getSlideByIndex = index => {\n if (isVirtual) {\n return swiper.slides.filter(el => parseInt(el.getAttribute('data-swiper-slide-index'), 10) === index)[0];\n }\n return swiper.slides[index];\n };\n // Find slides currently in view\n if (swiper.params.slidesPerView !== 'auto' && swiper.params.slidesPerView > 1) {\n if (swiper.params.centeredSlides) {\n (swiper.visibleSlides || []).forEach(slide => {\n activeSlides.push(slide);\n });\n } else {\n for (i = 0; i < Math.ceil(swiper.params.slidesPerView); i += 1) {\n const index = swiper.activeIndex + i;\n if (index > swiper.slides.length && !isVirtual) break;\n activeSlides.push(getSlideByIndex(index));\n }\n }\n } else {\n activeSlides.push(getSlideByIndex(swiper.activeIndex));\n }\n\n // Find new height from highest slide in view\n for (i = 0; i < activeSlides.length; i += 1) {\n if (typeof activeSlides[i] !== 'undefined') {\n const height = activeSlides[i].offsetHeight;\n newHeight = height > newHeight ? height : newHeight;\n }\n }\n\n // Update Height\n if (newHeight || newHeight === 0) swiper.wrapperEl.style.height = `${newHeight}px`;\n}","export default function updateSlidesOffset() {\n const swiper = this;\n const slides = swiper.slides;\n // eslint-disable-next-line\n const minusOffset = swiper.isElement ? swiper.isHorizontal() ? swiper.wrapperEl.offsetLeft : swiper.wrapperEl.offsetTop : 0;\n for (let i = 0; i < slides.length; i += 1) {\n slides[i].swiperSlideOffset = (swiper.isHorizontal() ? slides[i].offsetLeft : slides[i].offsetTop) - minusOffset;\n }\n}","export default function updateSlidesProgress(translate = this && this.translate || 0) {\n const swiper = this;\n const params = swiper.params;\n const {\n slides,\n rtlTranslate: rtl,\n snapGrid\n } = swiper;\n if (slides.length === 0) return;\n if (typeof slides[0].swiperSlideOffset === 'undefined') swiper.updateSlidesOffset();\n let offsetCenter = -translate;\n if (rtl) offsetCenter = translate;\n\n // Visible Slides\n slides.forEach(slideEl => {\n slideEl.classList.remove(params.slideVisibleClass);\n });\n swiper.visibleSlidesIndexes = [];\n swiper.visibleSlides = [];\n for (let i = 0; i < slides.length; i += 1) {\n const slide = slides[i];\n let slideOffset = slide.swiperSlideOffset;\n if (params.cssMode && params.centeredSlides) {\n slideOffset -= slides[0].swiperSlideOffset;\n }\n const slideProgress = (offsetCenter + (params.centeredSlides ? swiper.minTranslate() : 0) - slideOffset) / (slide.swiperSlideSize + params.spaceBetween);\n const originalSlideProgress = (offsetCenter - snapGrid[0] + (params.centeredSlides ? swiper.minTranslate() : 0) - slideOffset) / (slide.swiperSlideSize + params.spaceBetween);\n const slideBefore = -(offsetCenter - slideOffset);\n const slideAfter = slideBefore + swiper.slidesSizesGrid[i];\n const isVisible = slideBefore >= 0 && slideBefore < swiper.size - 1 || slideAfter > 1 && slideAfter <= swiper.size || slideBefore <= 0 && slideAfter >= swiper.size;\n if (isVisible) {\n swiper.visibleSlides.push(slide);\n swiper.visibleSlidesIndexes.push(i);\n slides[i].classList.add(params.slideVisibleClass);\n }\n slide.progress = rtl ? -slideProgress : slideProgress;\n slide.originalProgress = rtl ? -originalSlideProgress : originalSlideProgress;\n }\n}","import { elementIndex } from '../../shared/utils.js';\nexport default function updateProgress(translate) {\n const swiper = this;\n if (typeof translate === 'undefined') {\n const multiplier = swiper.rtlTranslate ? -1 : 1;\n // eslint-disable-next-line\n translate = swiper && swiper.translate && swiper.translate * multiplier || 0;\n }\n const params = swiper.params;\n const translatesDiff = swiper.maxTranslate() - swiper.minTranslate();\n let {\n progress,\n isBeginning,\n isEnd,\n progressLoop\n } = swiper;\n const wasBeginning = isBeginning;\n const wasEnd = isEnd;\n if (translatesDiff === 0) {\n progress = 0;\n isBeginning = true;\n isEnd = true;\n } else {\n progress = (translate - swiper.minTranslate()) / translatesDiff;\n const isBeginningRounded = Math.abs(translate - swiper.minTranslate()) < 1;\n const isEndRounded = Math.abs(translate - swiper.maxTranslate()) < 1;\n isBeginning = isBeginningRounded || progress <= 0;\n isEnd = isEndRounded || progress >= 1;\n if (isBeginningRounded) progress = 0;\n if (isEndRounded) progress = 1;\n }\n if (params.loop) {\n const firstSlideIndex = elementIndex(swiper.slides.filter(el => el.getAttribute('data-swiper-slide-index') === '0')[0]);\n const lastSlideIndex = elementIndex(swiper.slides.filter(el => el.getAttribute('data-swiper-slide-index') * 1 === swiper.slides.length - 1)[0]);\n const firstSlideTranslate = swiper.slidesGrid[firstSlideIndex];\n const lastSlideTranslate = swiper.slidesGrid[lastSlideIndex];\n const translateMax = swiper.slidesGrid[swiper.slidesGrid.length - 1];\n const translateAbs = Math.abs(translate);\n if (translateAbs >= firstSlideTranslate) {\n progressLoop = (translateAbs - firstSlideTranslate) / translateMax;\n } else {\n progressLoop = (translateAbs + translateMax - lastSlideTranslate) / translateMax;\n }\n if (progressLoop > 1) progressLoop -= 1;\n }\n Object.assign(swiper, {\n progress,\n progressLoop,\n isBeginning,\n isEnd\n });\n if (params.watchSlidesProgress || params.centeredSlides && params.autoHeight) swiper.updateSlidesProgress(translate);\n if (isBeginning && !wasBeginning) {\n swiper.emit('reachBeginning toEdge');\n }\n if (isEnd && !wasEnd) {\n swiper.emit('reachEnd toEdge');\n }\n if (wasBeginning && !isBeginning || wasEnd && !isEnd) {\n swiper.emit('fromEdge');\n }\n swiper.emit('progress', progress);\n}","import { elementChildren, elementNextAll, elementPrevAll } from '../../shared/utils.js';\nexport default function updateSlidesClasses() {\n const swiper = this;\n const {\n slides,\n params,\n slidesEl,\n activeIndex\n } = swiper;\n const isVirtual = swiper.virtual && params.virtual.enabled;\n const getFilteredSlide = selector => {\n return elementChildren(slidesEl, `.${params.slideClass}${selector}, swiper-slide${selector}`)[0];\n };\n slides.forEach(slideEl => {\n slideEl.classList.remove(params.slideActiveClass, params.slideNextClass, params.slidePrevClass);\n });\n let activeSlide;\n if (isVirtual) {\n if (params.loop) {\n let slideIndex = activeIndex - swiper.virtual.slidesBefore;\n if (slideIndex < 0) slideIndex = swiper.virtual.slides.length + slideIndex;\n if (slideIndex >= swiper.virtual.slides.length) slideIndex -= swiper.virtual.slides.length;\n activeSlide = getFilteredSlide(`[data-swiper-slide-index=\"${slideIndex}\"]`);\n } else {\n activeSlide = getFilteredSlide(`[data-swiper-slide-index=\"${activeIndex}\"]`);\n }\n } else {\n activeSlide = slides[activeIndex];\n }\n if (activeSlide) {\n // Active classes\n activeSlide.classList.add(params.slideActiveClass);\n\n // Next Slide\n let nextSlide = elementNextAll(activeSlide, `.${params.slideClass}, swiper-slide`)[0];\n if (params.loop && !nextSlide) {\n nextSlide = slides[0];\n }\n if (nextSlide) {\n nextSlide.classList.add(params.slideNextClass);\n }\n // Prev Slide\n let prevSlide = elementPrevAll(activeSlide, `.${params.slideClass}, swiper-slide`)[0];\n if (params.loop && !prevSlide === 0) {\n prevSlide = slides[slides.length - 1];\n }\n if (prevSlide) {\n prevSlide.classList.add(params.slidePrevClass);\n }\n }\n swiper.emitSlidesClasses();\n}","export function getActiveIndexByTranslate(swiper) {\n const {\n slidesGrid,\n params\n } = swiper;\n const translate = swiper.rtlTranslate ? swiper.translate : -swiper.translate;\n let activeIndex;\n for (let i = 0; i < slidesGrid.length; i += 1) {\n if (typeof slidesGrid[i + 1] !== 'undefined') {\n if (translate >= slidesGrid[i] && translate < slidesGrid[i + 1] - (slidesGrid[i + 1] - slidesGrid[i]) / 2) {\n activeIndex = i;\n } else if (translate >= slidesGrid[i] && translate < slidesGrid[i + 1]) {\n activeIndex = i + 1;\n }\n } else if (translate >= slidesGrid[i]) {\n activeIndex = i;\n }\n }\n // Normalize slideIndex\n if (params.normalizeSlideIndex) {\n if (activeIndex < 0 || typeof activeIndex === 'undefined') activeIndex = 0;\n }\n return activeIndex;\n}\nexport default function updateActiveIndex(newActiveIndex) {\n const swiper = this;\n const translate = swiper.rtlTranslate ? swiper.translate : -swiper.translate;\n const {\n snapGrid,\n params,\n activeIndex: previousIndex,\n realIndex: previousRealIndex,\n snapIndex: previousSnapIndex\n } = swiper;\n let activeIndex = newActiveIndex;\n let snapIndex;\n const getVirtualRealIndex = aIndex => {\n let realIndex = aIndex - swiper.virtual.slidesBefore;\n if (realIndex < 0) {\n realIndex = swiper.virtual.slides.length + realIndex;\n }\n if (realIndex >= swiper.virtual.slides.length) {\n realIndex -= swiper.virtual.slides.length;\n }\n return realIndex;\n };\n if (typeof activeIndex === 'undefined') {\n activeIndex = getActiveIndexByTranslate(swiper);\n }\n if (snapGrid.indexOf(translate) >= 0) {\n snapIndex = snapGrid.indexOf(translate);\n } else {\n const skip = Math.min(params.slidesPerGroupSkip, activeIndex);\n snapIndex = skip + Math.floor((activeIndex - skip) / params.slidesPerGroup);\n }\n if (snapIndex >= snapGrid.length) snapIndex = snapGrid.length - 1;\n if (activeIndex === previousIndex) {\n if (snapIndex !== previousSnapIndex) {\n swiper.snapIndex = snapIndex;\n swiper.emit('snapIndexChange');\n }\n if (swiper.params.loop && swiper.virtual && swiper.params.virtual.enabled) {\n swiper.realIndex = getVirtualRealIndex(activeIndex);\n }\n return;\n }\n // Get real index\n let realIndex;\n if (swiper.virtual && params.virtual.enabled && params.loop) {\n realIndex = getVirtualRealIndex(activeIndex);\n } else if (swiper.slides[activeIndex]) {\n realIndex = parseInt(swiper.slides[activeIndex].getAttribute('data-swiper-slide-index') || activeIndex, 10);\n } else {\n realIndex = activeIndex;\n }\n Object.assign(swiper, {\n snapIndex,\n realIndex,\n previousIndex,\n activeIndex\n });\n swiper.emit('activeIndexChange');\n swiper.emit('snapIndexChange');\n if (previousRealIndex !== realIndex) {\n swiper.emit('realIndexChange');\n }\n if (swiper.initialized || swiper.params.runCallbacksOnInit) {\n swiper.emit('slideChange');\n }\n}","export default function updateClickedSlide(e) {\n const swiper = this;\n const params = swiper.params;\n const slide = e.closest(`.${params.slideClass}, swiper-slide`);\n let slideFound = false;\n let slideIndex;\n if (slide) {\n for (let i = 0; i < swiper.slides.length; i += 1) {\n if (swiper.slides[i] === slide) {\n slideFound = true;\n slideIndex = i;\n break;\n }\n }\n }\n if (slide && slideFound) {\n swiper.clickedSlide = slide;\n if (swiper.virtual && swiper.params.virtual.enabled) {\n swiper.clickedIndex = parseInt(slide.getAttribute('data-swiper-slide-index'), 10);\n } else {\n swiper.clickedIndex = slideIndex;\n }\n } else {\n swiper.clickedSlide = undefined;\n swiper.clickedIndex = undefined;\n return;\n }\n if (params.slideToClickedSlide && swiper.clickedIndex !== undefined && swiper.clickedIndex !== swiper.activeIndex) {\n swiper.slideToClickedSlide();\n }\n}","export default function transitionEmit({\n swiper,\n runCallbacks,\n direction,\n step\n}) {\n const {\n activeIndex,\n previousIndex\n } = swiper;\n let dir = direction;\n if (!dir) {\n if (activeIndex > previousIndex) dir = 'next';else if (activeIndex < previousIndex) dir = 'prev';else dir = 'reset';\n }\n swiper.emit(`transition${step}`);\n if (runCallbacks && activeIndex !== previousIndex) {\n if (dir === 'reset') {\n swiper.emit(`slideResetTransition${step}`);\n return;\n }\n swiper.emit(`slideChangeTransition${step}`);\n if (dir === 'next') {\n swiper.emit(`slideNextTransition${step}`);\n } else {\n swiper.emit(`slidePrevTransition${step}`);\n }\n }\n}","import slideTo from './slideTo.js';\nimport slideToLoop from './slideToLoop.js';\nimport slideNext from './slideNext.js';\nimport slidePrev from './slidePrev.js';\nimport slideReset from './slideReset.js';\nimport slideToClosest from './slideToClosest.js';\nimport slideToClickedSlide from './slideToClickedSlide.js';\nexport default {\n slideTo,\n slideToLoop,\n slideNext,\n slidePrev,\n slideReset,\n slideToClosest,\n slideToClickedSlide\n};","import { animateCSSModeScroll } from '../../shared/utils.js';\nexport default function slideTo(index = 0, speed = this.params.speed, runCallbacks = true, internal, initial) {\n if (typeof index === 'string') {\n index = parseInt(index, 10);\n }\n const swiper = this;\n let slideIndex = index;\n if (slideIndex < 0) slideIndex = 0;\n const {\n params,\n snapGrid,\n slidesGrid,\n previousIndex,\n activeIndex,\n rtlTranslate: rtl,\n wrapperEl,\n enabled\n } = swiper;\n if (swiper.animating && params.preventInteractionOnTransition || !enabled && !internal && !initial) {\n return false;\n }\n const skip = Math.min(swiper.params.slidesPerGroupSkip, slideIndex);\n let snapIndex = skip + Math.floor((slideIndex - skip) / swiper.params.slidesPerGroup);\n if (snapIndex >= snapGrid.length) snapIndex = snapGrid.length - 1;\n const translate = -snapGrid[snapIndex];\n // Normalize slideIndex\n if (params.normalizeSlideIndex) {\n for (let i = 0; i < slidesGrid.length; i += 1) {\n const normalizedTranslate = -Math.floor(translate * 100);\n const normalizedGrid = Math.floor(slidesGrid[i] * 100);\n const normalizedGridNext = Math.floor(slidesGrid[i + 1] * 100);\n if (typeof slidesGrid[i + 1] !== 'undefined') {\n if (normalizedTranslate >= normalizedGrid && normalizedTranslate < normalizedGridNext - (normalizedGridNext - normalizedGrid) / 2) {\n slideIndex = i;\n } else if (normalizedTranslate >= normalizedGrid && normalizedTranslate < normalizedGridNext) {\n slideIndex = i + 1;\n }\n } else if (normalizedTranslate >= normalizedGrid) {\n slideIndex = i;\n }\n }\n }\n // Directions locks\n if (swiper.initialized && slideIndex !== activeIndex) {\n if (!swiper.allowSlideNext && translate < swiper.translate && translate < swiper.minTranslate()) {\n return false;\n }\n if (!swiper.allowSlidePrev && translate > swiper.translate && translate > swiper.maxTranslate()) {\n if ((activeIndex || 0) !== slideIndex) {\n return false;\n }\n }\n }\n if (slideIndex !== (previousIndex || 0) && runCallbacks) {\n swiper.emit('beforeSlideChangeStart');\n }\n\n // Update progress\n swiper.updateProgress(translate);\n let direction;\n if (slideIndex > activeIndex) direction = 'next';else if (slideIndex < activeIndex) direction = 'prev';else direction = 'reset';\n\n // Update Index\n if (rtl && -translate === swiper.translate || !rtl && translate === swiper.translate) {\n swiper.updateActiveIndex(slideIndex);\n // Update Height\n if (params.autoHeight) {\n swiper.updateAutoHeight();\n }\n swiper.updateSlidesClasses();\n if (params.effect !== 'slide') {\n swiper.setTranslate(translate);\n }\n if (direction !== 'reset') {\n swiper.transitionStart(runCallbacks, direction);\n swiper.transitionEnd(runCallbacks, direction);\n }\n return false;\n }\n if (params.cssMode) {\n const isH = swiper.isHorizontal();\n const t = rtl ? translate : -translate;\n if (speed === 0) {\n const isVirtual = swiper.virtual && swiper.params.virtual.enabled;\n if (isVirtual) {\n swiper.wrapperEl.style.scrollSnapType = 'none';\n swiper._immediateVirtual = true;\n }\n if (isVirtual && !swiper._cssModeVirtualInitialSet && swiper.params.initialSlide > 0) {\n swiper._cssModeVirtualInitialSet = true;\n requestAnimationFrame(() => {\n wrapperEl[isH ? 'scrollLeft' : 'scrollTop'] = t;\n });\n } else {\n wrapperEl[isH ? 'scrollLeft' : 'scrollTop'] = t;\n }\n if (isVirtual) {\n requestAnimationFrame(() => {\n swiper.wrapperEl.style.scrollSnapType = '';\n swiper._immediateVirtual = false;\n });\n }\n } else {\n if (!swiper.support.smoothScroll) {\n animateCSSModeScroll({\n swiper,\n targetPosition: t,\n side: isH ? 'left' : 'top'\n });\n return true;\n }\n wrapperEl.scrollTo({\n [isH ? 'left' : 'top']: t,\n behavior: 'smooth'\n });\n }\n return true;\n }\n swiper.setTransition(speed);\n swiper.setTranslate(translate);\n swiper.updateActiveIndex(slideIndex);\n swiper.updateSlidesClasses();\n swiper.emit('beforeTransitionStart', speed, internal);\n swiper.transitionStart(runCallbacks, direction);\n if (speed === 0) {\n swiper.transitionEnd(runCallbacks, direction);\n } else if (!swiper.animating) {\n swiper.animating = true;\n if (!swiper.onSlideToWrapperTransitionEnd) {\n swiper.onSlideToWrapperTransitionEnd = function transitionEnd(e) {\n if (!swiper || swiper.destroyed) return;\n if (e.target !== this) return;\n swiper.wrapperEl.removeEventListener('transitionend', swiper.onSlideToWrapperTransitionEnd);\n swiper.onSlideToWrapperTransitionEnd = null;\n delete swiper.onSlideToWrapperTransitionEnd;\n swiper.transitionEnd(runCallbacks, direction);\n };\n }\n swiper.wrapperEl.addEventListener('transitionend', swiper.onSlideToWrapperTransitionEnd);\n }\n return true;\n}","import { elementIndex } from '../../shared/utils.js';\nexport default function slideToLoop(index = 0, speed = this.params.speed, runCallbacks = true, internal) {\n if (typeof index === 'string') {\n const indexAsNumber = parseInt(index, 10);\n index = indexAsNumber;\n }\n const swiper = this;\n let newIndex = index;\n if (swiper.params.loop) {\n if (swiper.virtual && swiper.params.virtual.enabled) {\n // eslint-disable-next-line\n newIndex = newIndex + swiper.virtual.slidesBefore;\n } else {\n newIndex = elementIndex(swiper.slides.filter(slideEl => slideEl.getAttribute('data-swiper-slide-index') * 1 === newIndex)[0]);\n }\n }\n return swiper.slideTo(newIndex, speed, runCallbacks, internal);\n}","/* eslint no-unused-vars: \"off\" */\nexport default function slideNext(speed = this.params.speed, runCallbacks = true, internal) {\n const swiper = this;\n const {\n enabled,\n params,\n animating\n } = swiper;\n if (!enabled) return swiper;\n let perGroup = params.slidesPerGroup;\n if (params.slidesPerView === 'auto' && params.slidesPerGroup === 1 && params.slidesPerGroupAuto) {\n perGroup = Math.max(swiper.slidesPerViewDynamic('current', true), 1);\n }\n const increment = swiper.activeIndex < params.slidesPerGroupSkip ? 1 : perGroup;\n const isVirtual = swiper.virtual && params.virtual.enabled;\n if (params.loop) {\n if (animating && !isVirtual && params.loopPreventsSliding) return false;\n swiper.loopFix({\n direction: 'next'\n });\n // eslint-disable-next-line\n swiper._clientLeft = swiper.wrapperEl.clientLeft;\n }\n if (params.rewind && swiper.isEnd) {\n return swiper.slideTo(0, speed, runCallbacks, internal);\n }\n return swiper.slideTo(swiper.activeIndex + increment, speed, runCallbacks, internal);\n}","/* eslint no-unused-vars: \"off\" */\nexport default function slidePrev(speed = this.params.speed, runCallbacks = true, internal) {\n const swiper = this;\n const {\n params,\n snapGrid,\n slidesGrid,\n rtlTranslate,\n enabled,\n animating\n } = swiper;\n if (!enabled) return swiper;\n const isVirtual = swiper.virtual && params.virtual.enabled;\n if (params.loop) {\n if (animating && !isVirtual && params.loopPreventsSliding) return false;\n swiper.loopFix({\n direction: 'prev'\n });\n // eslint-disable-next-line\n swiper._clientLeft = swiper.wrapperEl.clientLeft;\n }\n const translate = rtlTranslate ? swiper.translate : -swiper.translate;\n function normalize(val) {\n if (val < 0) return -Math.floor(Math.abs(val));\n return Math.floor(val);\n }\n const normalizedTranslate = normalize(translate);\n const normalizedSnapGrid = snapGrid.map(val => normalize(val));\n let prevSnap = snapGrid[normalizedSnapGrid.indexOf(normalizedTranslate) - 1];\n if (typeof prevSnap === 'undefined' && params.cssMode) {\n let prevSnapIndex;\n snapGrid.forEach((snap, snapIndex) => {\n if (normalizedTranslate >= snap) {\n // prevSnap = snap;\n prevSnapIndex = snapIndex;\n }\n });\n if (typeof prevSnapIndex !== 'undefined') {\n prevSnap = snapGrid[prevSnapIndex > 0 ? prevSnapIndex - 1 : prevSnapIndex];\n }\n }\n let prevIndex = 0;\n if (typeof prevSnap !== 'undefined') {\n prevIndex = slidesGrid.indexOf(prevSnap);\n if (prevIndex < 0) prevIndex = swiper.activeIndex - 1;\n if (params.slidesPerView === 'auto' && params.slidesPerGroup === 1 && params.slidesPerGroupAuto) {\n prevIndex = prevIndex - swiper.slidesPerViewDynamic('previous', true) + 1;\n prevIndex = Math.max(prevIndex, 0);\n }\n }\n if (params.rewind && swiper.isBeginning) {\n const lastIndex = swiper.params.virtual && swiper.params.virtual.enabled && swiper.virtual ? swiper.virtual.slides.length - 1 : swiper.slides.length - 1;\n return swiper.slideTo(lastIndex, speed, runCallbacks, internal);\n }\n return swiper.slideTo(prevIndex, speed, runCallbacks, internal);\n}","/* eslint no-unused-vars: \"off\" */\nexport default function slideReset(speed = this.params.speed, runCallbacks = true, internal) {\n const swiper = this;\n return swiper.slideTo(swiper.activeIndex, speed, runCallbacks, internal);\n}","/* eslint no-unused-vars: \"off\" */\nexport default function slideToClosest(speed = this.params.speed, runCallbacks = true, internal, threshold = 0.5) {\n const swiper = this;\n let index = swiper.activeIndex;\n const skip = Math.min(swiper.params.slidesPerGroupSkip, index);\n const snapIndex = skip + Math.floor((index - skip) / swiper.params.slidesPerGroup);\n const translate = swiper.rtlTranslate ? swiper.translate : -swiper.translate;\n if (translate >= swiper.snapGrid[snapIndex]) {\n // The current translate is on or after the current snap index, so the choice\n // is between the current index and the one after it.\n const currentSnap = swiper.snapGrid[snapIndex];\n const nextSnap = swiper.snapGrid[snapIndex + 1];\n if (translate - currentSnap > (nextSnap - currentSnap) * threshold) {\n index += swiper.params.slidesPerGroup;\n }\n } else {\n // The current translate is before the current snap index, so the choice\n // is between the current index and the one before it.\n const prevSnap = swiper.snapGrid[snapIndex - 1];\n const currentSnap = swiper.snapGrid[snapIndex];\n if (translate - prevSnap <= (currentSnap - prevSnap) * threshold) {\n index -= swiper.params.slidesPerGroup;\n }\n }\n index = Math.max(index, 0);\n index = Math.min(index, swiper.slidesGrid.length - 1);\n return swiper.slideTo(index, speed, runCallbacks, internal);\n}","import { elementChildren, elementIndex, nextTick } from '../../shared/utils.js';\nexport default function slideToClickedSlide() {\n const swiper = this;\n const {\n params,\n slidesEl\n } = swiper;\n const slidesPerView = params.slidesPerView === 'auto' ? swiper.slidesPerViewDynamic() : params.slidesPerView;\n let slideToIndex = swiper.clickedIndex;\n let realIndex;\n const slideSelector = swiper.isElement ? `swiper-slide` : `.${params.slideClass}`;\n if (params.loop) {\n if (swiper.animating) return;\n realIndex = parseInt(swiper.clickedSlide.getAttribute('data-swiper-slide-index'), 10);\n if (params.centeredSlides) {\n if (slideToIndex < swiper.loopedSlides - slidesPerView / 2 || slideToIndex > swiper.slides.length - swiper.loopedSlides + slidesPerView / 2) {\n swiper.loopFix();\n slideToIndex = elementIndex(elementChildren(slidesEl, `${slideSelector}[data-swiper-slide-index=\"${realIndex}\"]`)[0]);\n nextTick(() => {\n swiper.slideTo(slideToIndex);\n });\n } else {\n swiper.slideTo(slideToIndex);\n }\n } else if (slideToIndex > swiper.slides.length - slidesPerView) {\n swiper.loopFix();\n slideToIndex = elementIndex(elementChildren(slidesEl, `${slideSelector}[data-swiper-slide-index=\"${realIndex}\"]`)[0]);\n nextTick(() => {\n swiper.slideTo(slideToIndex);\n });\n } else {\n swiper.slideTo(slideToIndex);\n }\n } else {\n swiper.slideTo(slideToIndex);\n }\n}","import { getWindow, getDocument } from 'ssr-window';\nimport { now } from '../../shared/utils.js';\n\n// Modified from https://stackoverflow.com/questions/54520554/custom-element-getrootnode-closest-function-crossing-multiple-parent-shadowd\nfunction closestElement(selector, base = this) {\n function __closestFrom(el) {\n if (!el || el === getDocument() || el === getWindow()) return null;\n if (el.assignedSlot) el = el.assignedSlot;\n const found = el.closest(selector);\n if (!found && !el.getRootNode) {\n return null;\n }\n return found || __closestFrom(el.getRootNode().host);\n }\n return __closestFrom(base);\n}\nexport default function onTouchStart(event) {\n const swiper = this;\n const document = getDocument();\n const window = getWindow();\n const data = swiper.touchEventsData;\n data.evCache.push(event);\n const {\n params,\n touches,\n enabled\n } = swiper;\n if (!enabled) return;\n if (!params.simulateTouch && event.pointerType === 'mouse') return;\n if (swiper.animating && params.preventInteractionOnTransition) {\n return;\n }\n if (!swiper.animating && params.cssMode && params.loop) {\n swiper.loopFix();\n }\n let e = event;\n if (e.originalEvent) e = e.originalEvent;\n let targetEl = e.target;\n if (params.touchEventsTarget === 'wrapper') {\n if (!swiper.wrapperEl.contains(targetEl)) return;\n }\n if ('which' in e && e.which === 3) return;\n if ('button' in e && e.button > 0) return;\n if (data.isTouched && data.isMoved) return;\n\n // change target el for shadow root component\n const swipingClassHasValue = !!params.noSwipingClass && params.noSwipingClass !== '';\n // eslint-disable-next-line\n const eventPath = event.composedPath ? event.composedPath() : event.path;\n if (swipingClassHasValue && e.target && e.target.shadowRoot && eventPath) {\n targetEl = eventPath[0];\n }\n const noSwipingSelector = params.noSwipingSelector ? params.noSwipingSelector : `.${params.noSwipingClass}`;\n const isTargetShadow = !!(e.target && e.target.shadowRoot);\n\n // use closestElement for shadow root element to get the actual closest for nested shadow root element\n if (params.noSwiping && (isTargetShadow ? closestElement(noSwipingSelector, targetEl) : targetEl.closest(noSwipingSelector))) {\n swiper.allowClick = true;\n return;\n }\n if (params.swipeHandler) {\n if (!targetEl.closest(params.swipeHandler)) return;\n }\n touches.currentX = e.pageX;\n touches.currentY = e.pageY;\n const startX = touches.currentX;\n const startY = touches.currentY;\n\n // Do NOT start if iOS edge swipe is detected. Otherwise iOS app cannot swipe-to-go-back anymore\n\n const edgeSwipeDetection = params.edgeSwipeDetection || params.iOSEdgeSwipeDetection;\n const edgeSwipeThreshold = params.edgeSwipeThreshold || params.iOSEdgeSwipeThreshold;\n if (edgeSwipeDetection && (startX <= edgeSwipeThreshold || startX >= window.innerWidth - edgeSwipeThreshold)) {\n if (edgeSwipeDetection === 'prevent') {\n event.preventDefault();\n } else {\n return;\n }\n }\n Object.assign(data, {\n isTouched: true,\n isMoved: false,\n allowTouchCallbacks: true,\n isScrolling: undefined,\n startMoving: undefined\n });\n touches.startX = startX;\n touches.startY = startY;\n data.touchStartTime = now();\n swiper.allowClick = true;\n swiper.updateSize();\n swiper.swipeDirection = undefined;\n if (params.threshold > 0) data.allowThresholdMove = false;\n let preventDefault = true;\n if (targetEl.matches(data.focusableElements)) {\n preventDefault = false;\n if (targetEl.nodeName === 'SELECT') {\n data.isTouched = false;\n }\n }\n if (document.activeElement && document.activeElement.matches(data.focusableElements) && document.activeElement !== targetEl) {\n document.activeElement.blur();\n }\n const shouldPreventDefault = preventDefault && swiper.allowTouchMove && params.touchStartPreventDefault;\n if ((params.touchStartForcePreventDefault || shouldPreventDefault) && !targetEl.isContentEditable) {\n e.preventDefault();\n }\n if (swiper.params.freeMode && swiper.params.freeMode.enabled && swiper.freeMode && swiper.animating && !params.cssMode) {\n swiper.freeMode.onTouchStart();\n }\n swiper.emit('touchStart', e);\n}","import { getDocument } from 'ssr-window';\nimport { now } from '../../shared/utils.js';\nexport default function onTouchMove(event) {\n const document = getDocument();\n const swiper = this;\n const data = swiper.touchEventsData;\n const {\n params,\n touches,\n rtlTranslate: rtl,\n enabled\n } = swiper;\n if (!enabled) return;\n if (!params.simulateTouch && event.pointerType === 'mouse') return;\n let e = event;\n if (e.originalEvent) e = e.originalEvent;\n if (!data.isTouched) {\n if (data.startMoving && data.isScrolling) {\n swiper.emit('touchMoveOpposite', e);\n }\n return;\n }\n const pointerIndex = data.evCache.findIndex(cachedEv => cachedEv.pointerId === e.pointerId);\n if (pointerIndex >= 0) data.evCache[pointerIndex] = e;\n const targetTouch = data.evCache.length > 1 ? data.evCache[0] : e;\n const pageX = targetTouch.pageX;\n const pageY = targetTouch.pageY;\n if (e.preventedByNestedSwiper) {\n touches.startX = pageX;\n touches.startY = pageY;\n return;\n }\n if (!swiper.allowTouchMove) {\n if (!e.target.matches(data.focusableElements)) {\n swiper.allowClick = false;\n }\n if (data.isTouched) {\n Object.assign(touches, {\n startX: pageX,\n startY: pageY,\n prevX: swiper.touches.currentX,\n prevY: swiper.touches.currentY,\n currentX: pageX,\n currentY: pageY\n });\n data.touchStartTime = now();\n }\n return;\n }\n if (params.touchReleaseOnEdges && !params.loop) {\n if (swiper.isVertical()) {\n // Vertical\n if (pageY < touches.startY && swiper.translate <= swiper.maxTranslate() || pageY > touches.startY && swiper.translate >= swiper.minTranslate()) {\n data.isTouched = false;\n data.isMoved = false;\n return;\n }\n } else if (pageX < touches.startX && swiper.translate <= swiper.maxTranslate() || pageX > touches.startX && swiper.translate >= swiper.minTranslate()) {\n return;\n }\n }\n if (document.activeElement) {\n if (e.target === document.activeElement && e.target.matches(data.focusableElements)) {\n data.isMoved = true;\n swiper.allowClick = false;\n return;\n }\n }\n if (data.allowTouchCallbacks) {\n swiper.emit('touchMove', e);\n }\n if (e.targetTouches && e.targetTouches.length > 1) return;\n touches.currentX = pageX;\n touches.currentY = pageY;\n const diffX = touches.currentX - touches.startX;\n const diffY = touches.currentY - touches.startY;\n if (swiper.params.threshold && Math.sqrt(diffX ** 2 + diffY ** 2) < swiper.params.threshold) return;\n if (typeof data.isScrolling === 'undefined') {\n let touchAngle;\n if (swiper.isHorizontal() && touches.currentY === touches.startY || swiper.isVertical() && touches.currentX === touches.startX) {\n data.isScrolling = false;\n } else {\n // eslint-disable-next-line\n if (diffX * diffX + diffY * diffY >= 25) {\n touchAngle = Math.atan2(Math.abs(diffY), Math.abs(diffX)) * 180 / Math.PI;\n data.isScrolling = swiper.isHorizontal() ? touchAngle > params.touchAngle : 90 - touchAngle > params.touchAngle;\n }\n }\n }\n if (data.isScrolling) {\n swiper.emit('touchMoveOpposite', e);\n }\n if (typeof data.startMoving === 'undefined') {\n if (touches.currentX !== touches.startX || touches.currentY !== touches.startY) {\n data.startMoving = true;\n }\n }\n if (data.isScrolling || swiper.zoom && swiper.params.zoom && swiper.params.zoom.enabled && data.evCache.length > 1) {\n data.isTouched = false;\n return;\n }\n if (!data.startMoving) {\n return;\n }\n swiper.allowClick = false;\n if (!params.cssMode && e.cancelable) {\n e.preventDefault();\n }\n if (params.touchMoveStopPropagation && !params.nested) {\n e.stopPropagation();\n }\n let diff = swiper.isHorizontal() ? diffX : diffY;\n let touchesDiff = swiper.isHorizontal() ? touches.currentX - touches.previousX : touches.currentY - touches.previousY;\n if (params.oneWayMovement) {\n diff = Math.abs(diff) * (rtl ? 1 : -1);\n touchesDiff = Math.abs(touchesDiff) * (rtl ? 1 : -1);\n }\n touches.diff = diff;\n diff *= params.touchRatio;\n if (rtl) {\n diff = -diff;\n touchesDiff = -touchesDiff;\n }\n const prevTouchesDirection = swiper.touchesDirection;\n swiper.swipeDirection = diff > 0 ? 'prev' : 'next';\n swiper.touchesDirection = touchesDiff > 0 ? 'prev' : 'next';\n const isLoop = swiper.params.loop && !params.cssMode;\n if (!data.isMoved) {\n if (isLoop) {\n swiper.loopFix({\n direction: swiper.swipeDirection\n });\n }\n data.startTranslate = swiper.getTranslate();\n swiper.setTransition(0);\n if (swiper.animating) {\n const evt = new window.CustomEvent('transitionend', {\n bubbles: true,\n cancelable: true\n });\n swiper.wrapperEl.dispatchEvent(evt);\n }\n data.allowMomentumBounce = false;\n // Grab Cursor\n if (params.grabCursor && (swiper.allowSlideNext === true || swiper.allowSlidePrev === true)) {\n swiper.setGrabCursor(true);\n }\n swiper.emit('sliderFirstMove', e);\n }\n let loopFixed;\n if (data.isMoved && prevTouchesDirection !== swiper.touchesDirection && isLoop && Math.abs(diff) >= 1) {\n // need another loop fix\n swiper.loopFix({\n direction: swiper.swipeDirection,\n setTranslate: true\n });\n loopFixed = true;\n }\n swiper.emit('sliderMove', e);\n data.isMoved = true;\n data.currentTranslate = diff + data.startTranslate;\n let disableParentSwiper = true;\n let resistanceRatio = params.resistanceRatio;\n if (params.touchReleaseOnEdges) {\n resistanceRatio = 0;\n }\n if (diff > 0) {\n if (isLoop && !loopFixed && data.currentTranslate > (params.centeredSlides ? swiper.minTranslate() - swiper.size / 2 : swiper.minTranslate())) {\n swiper.loopFix({\n direction: 'prev',\n setTranslate: true,\n activeSlideIndex: 0\n });\n }\n if (data.currentTranslate > swiper.minTranslate()) {\n disableParentSwiper = false;\n if (params.resistance) {\n data.currentTranslate = swiper.minTranslate() - 1 + (-swiper.minTranslate() + data.startTranslate + diff) ** resistanceRatio;\n }\n }\n } else if (diff < 0) {\n if (isLoop && !loopFixed && data.currentTranslate < (params.centeredSlides ? swiper.maxTranslate() + swiper.size / 2 : swiper.maxTranslate())) {\n swiper.loopFix({\n direction: 'next',\n setTranslate: true,\n activeSlideIndex: swiper.slides.length - (params.slidesPerView === 'auto' ? swiper.slidesPerViewDynamic() : Math.ceil(parseFloat(params.slidesPerView, 10)))\n });\n }\n if (data.currentTranslate < swiper.maxTranslate()) {\n disableParentSwiper = false;\n if (params.resistance) {\n data.currentTranslate = swiper.maxTranslate() + 1 - (swiper.maxTranslate() - data.startTranslate - diff) ** resistanceRatio;\n }\n }\n }\n if (disableParentSwiper) {\n e.preventedByNestedSwiper = true;\n }\n\n // Directions locks\n if (!swiper.allowSlideNext && swiper.swipeDirection === 'next' && data.currentTranslate < data.startTranslate) {\n data.currentTranslate = data.startTranslate;\n }\n if (!swiper.allowSlidePrev && swiper.swipeDirection === 'prev' && data.currentTranslate > data.startTranslate) {\n data.currentTranslate = data.startTranslate;\n }\n if (!swiper.allowSlidePrev && !swiper.allowSlideNext) {\n data.currentTranslate = data.startTranslate;\n }\n\n // Threshold\n if (params.threshold > 0) {\n if (Math.abs(diff) > params.threshold || data.allowThresholdMove) {\n if (!data.allowThresholdMove) {\n data.allowThresholdMove = true;\n touches.startX = touches.currentX;\n touches.startY = touches.currentY;\n data.currentTranslate = data.startTranslate;\n touches.diff = swiper.isHorizontal() ? touches.currentX - touches.startX : touches.currentY - touches.startY;\n return;\n }\n } else {\n data.currentTranslate = data.startTranslate;\n return;\n }\n }\n if (!params.followFinger || params.cssMode) return;\n\n // Update active index in free mode\n if (params.freeMode && params.freeMode.enabled && swiper.freeMode || params.watchSlidesProgress) {\n swiper.updateActiveIndex();\n swiper.updateSlidesClasses();\n }\n if (swiper.params.freeMode && params.freeMode.enabled && swiper.freeMode) {\n swiper.freeMode.onTouchMove();\n }\n // Update progress\n swiper.updateProgress(data.currentTranslate);\n // Update translate\n swiper.setTranslate(data.currentTranslate);\n}","import { now, nextTick } from '../../shared/utils.js';\nexport default function onTouchEnd(event) {\n const swiper = this;\n const data = swiper.touchEventsData;\n const pointerIndex = data.evCache.findIndex(cachedEv => cachedEv.pointerId === event.pointerId);\n if (pointerIndex >= 0) {\n data.evCache.splice(pointerIndex, 1);\n }\n if (['pointercancel', 'pointerout', 'pointerleave'].includes(event.type)) return;\n const {\n params,\n touches,\n rtlTranslate: rtl,\n slidesGrid,\n enabled\n } = swiper;\n if (!enabled) return;\n if (!params.simulateTouch && event.pointerType === 'mouse') return;\n let e = event;\n if (e.originalEvent) e = e.originalEvent;\n if (data.allowTouchCallbacks) {\n swiper.emit('touchEnd', e);\n }\n data.allowTouchCallbacks = false;\n if (!data.isTouched) {\n if (data.isMoved && params.grabCursor) {\n swiper.setGrabCursor(false);\n }\n data.isMoved = false;\n data.startMoving = false;\n return;\n }\n // Return Grab Cursor\n if (params.grabCursor && data.isMoved && data.isTouched && (swiper.allowSlideNext === true || swiper.allowSlidePrev === true)) {\n swiper.setGrabCursor(false);\n }\n\n // Time diff\n const touchEndTime = now();\n const timeDiff = touchEndTime - data.touchStartTime;\n\n // Tap, doubleTap, Click\n if (swiper.allowClick) {\n const pathTree = e.path || e.composedPath && e.composedPath();\n swiper.updateClickedSlide(pathTree && pathTree[0] || e.target);\n swiper.emit('tap click', e);\n if (timeDiff < 300 && touchEndTime - data.lastClickTime < 300) {\n swiper.emit('doubleTap doubleClick', e);\n }\n }\n data.lastClickTime = now();\n nextTick(() => {\n if (!swiper.destroyed) swiper.allowClick = true;\n });\n if (!data.isTouched || !data.isMoved || !swiper.swipeDirection || touches.diff === 0 || data.currentTranslate === data.startTranslate) {\n data.isTouched = false;\n data.isMoved = false;\n data.startMoving = false;\n return;\n }\n data.isTouched = false;\n data.isMoved = false;\n data.startMoving = false;\n let currentPos;\n if (params.followFinger) {\n currentPos = rtl ? swiper.translate : -swiper.translate;\n } else {\n currentPos = -data.currentTranslate;\n }\n if (params.cssMode) {\n return;\n }\n if (swiper.params.freeMode && params.freeMode.enabled) {\n swiper.freeMode.onTouchEnd({\n currentPos\n });\n return;\n }\n\n // Find current slide\n let stopIndex = 0;\n let groupSize = swiper.slidesSizesGrid[0];\n for (let i = 0; i < slidesGrid.length; i += i < params.slidesPerGroupSkip ? 1 : params.slidesPerGroup) {\n const increment = i < params.slidesPerGroupSkip - 1 ? 1 : params.slidesPerGroup;\n if (typeof slidesGrid[i + increment] !== 'undefined') {\n if (currentPos >= slidesGrid[i] && currentPos < slidesGrid[i + increment]) {\n stopIndex = i;\n groupSize = slidesGrid[i + increment] - slidesGrid[i];\n }\n } else if (currentPos >= slidesGrid[i]) {\n stopIndex = i;\n groupSize = slidesGrid[slidesGrid.length - 1] - slidesGrid[slidesGrid.length - 2];\n }\n }\n let rewindFirstIndex = null;\n let rewindLastIndex = null;\n if (params.rewind) {\n if (swiper.isBeginning) {\n rewindLastIndex = swiper.params.virtual && swiper.params.virtual.enabled && swiper.virtual ? swiper.virtual.slides.length - 1 : swiper.slides.length - 1;\n } else if (swiper.isEnd) {\n rewindFirstIndex = 0;\n }\n }\n // Find current slide size\n const ratio = (currentPos - slidesGrid[stopIndex]) / groupSize;\n const increment = stopIndex < params.slidesPerGroupSkip - 1 ? 1 : params.slidesPerGroup;\n if (timeDiff > params.longSwipesMs) {\n // Long touches\n if (!params.longSwipes) {\n swiper.slideTo(swiper.activeIndex);\n return;\n }\n if (swiper.swipeDirection === 'next') {\n if (ratio >= params.longSwipesRatio) swiper.slideTo(params.rewind && swiper.isEnd ? rewindFirstIndex : stopIndex + increment);else swiper.slideTo(stopIndex);\n }\n if (swiper.swipeDirection === 'prev') {\n if (ratio > 1 - params.longSwipesRatio) {\n swiper.slideTo(stopIndex + increment);\n } else if (rewindLastIndex !== null && ratio < 0 && Math.abs(ratio) > params.longSwipesRatio) {\n swiper.slideTo(rewindLastIndex);\n } else {\n swiper.slideTo(stopIndex);\n }\n }\n } else {\n // Short swipes\n if (!params.shortSwipes) {\n swiper.slideTo(swiper.activeIndex);\n return;\n }\n const isNavButtonTarget = swiper.navigation && (e.target === swiper.navigation.nextEl || e.target === swiper.navigation.prevEl);\n if (!isNavButtonTarget) {\n if (swiper.swipeDirection === 'next') {\n swiper.slideTo(rewindFirstIndex !== null ? rewindFirstIndex : stopIndex + increment);\n }\n if (swiper.swipeDirection === 'prev') {\n swiper.slideTo(rewindLastIndex !== null ? rewindLastIndex : stopIndex);\n }\n } else if (e.target === swiper.navigation.nextEl) {\n swiper.slideTo(stopIndex + increment);\n } else {\n swiper.slideTo(stopIndex);\n }\n }\n}","let timeout;\nexport default function onResize() {\n const swiper = this;\n const {\n params,\n el\n } = swiper;\n if (el && el.offsetWidth === 0) return;\n\n // Breakpoints\n if (params.breakpoints) {\n swiper.setBreakpoint();\n }\n\n // Save locks\n const {\n allowSlideNext,\n allowSlidePrev,\n snapGrid\n } = swiper;\n const isVirtual = swiper.virtual && swiper.params.virtual.enabled;\n\n // Disable locks on resize\n swiper.allowSlideNext = true;\n swiper.allowSlidePrev = true;\n swiper.updateSize();\n swiper.updateSlides();\n swiper.updateSlidesClasses();\n const isVirtualLoop = isVirtual && params.loop;\n if ((params.slidesPerView === 'auto' || params.slidesPerView > 1) && swiper.isEnd && !swiper.isBeginning && !swiper.params.centeredSlides && !isVirtualLoop) {\n swiper.slideTo(swiper.slides.length - 1, 0, false, true);\n } else {\n if (swiper.params.loop && !isVirtual) {\n swiper.slideToLoop(swiper.realIndex, 0, false, true);\n } else {\n swiper.slideTo(swiper.activeIndex, 0, false, true);\n }\n }\n if (swiper.autoplay && swiper.autoplay.running && swiper.autoplay.paused) {\n clearTimeout(timeout);\n timeout = setTimeout(() => {\n swiper.autoplay.resume();\n }, 500);\n }\n // Return locks after resize\n swiper.allowSlidePrev = allowSlidePrev;\n swiper.allowSlideNext = allowSlideNext;\n if (swiper.params.watchOverflow && snapGrid !== swiper.snapGrid) {\n swiper.checkOverflow();\n }\n}","export default function onClick(e) {\n const swiper = this;\n if (!swiper.enabled) return;\n if (!swiper.allowClick) {\n if (swiper.params.preventClicks) e.preventDefault();\n if (swiper.params.preventClicksPropagation && swiper.animating) {\n e.stopPropagation();\n e.stopImmediatePropagation();\n }\n }\n}","export default function onScroll() {\n const swiper = this;\n const {\n wrapperEl,\n rtlTranslate,\n enabled\n } = swiper;\n if (!enabled) return;\n swiper.previousTranslate = swiper.translate;\n if (swiper.isHorizontal()) {\n swiper.translate = -wrapperEl.scrollLeft;\n } else {\n swiper.translate = -wrapperEl.scrollTop;\n }\n // eslint-disable-next-line\n if (swiper.translate === 0) swiper.translate = 0;\n swiper.updateActiveIndex();\n swiper.updateSlidesClasses();\n let newProgress;\n const translatesDiff = swiper.maxTranslate() - swiper.minTranslate();\n if (translatesDiff === 0) {\n newProgress = 0;\n } else {\n newProgress = (swiper.translate - swiper.minTranslate()) / translatesDiff;\n }\n if (newProgress !== swiper.progress) {\n swiper.updateProgress(rtlTranslate ? -swiper.translate : swiper.translate);\n }\n swiper.emit('setTranslate', swiper.translate, false);\n}","export const processLazyPreloader = (swiper, imageEl) => {\n if (!swiper || swiper.destroyed || !swiper.params) return;\n const slideSelector = () => swiper.isElement ? `swiper-slide` : `.${swiper.params.slideClass}`;\n const slideEl = imageEl.closest(slideSelector());\n if (slideEl) {\n const lazyEl = slideEl.querySelector(`.${swiper.params.lazyPreloaderClass}`);\n if (lazyEl) lazyEl.remove();\n }\n};","import { processLazyPreloader } from '../../shared/process-lazy-preloader.js';\nexport default function onLoad(e) {\n const swiper = this;\n processLazyPreloader(swiper, e.target);\n swiper.update();\n}","import { getDocument } from 'ssr-window';\nimport onTouchStart from './onTouchStart.js';\nimport onTouchMove from './onTouchMove.js';\nimport onTouchEnd from './onTouchEnd.js';\nimport onResize from './onResize.js';\nimport onClick from './onClick.js';\nimport onScroll from './onScroll.js';\nimport onLoad from './onLoad.js';\nlet dummyEventAttached = false;\nfunction dummyEventListener() {}\nconst events = (swiper, method) => {\n const document = getDocument();\n const {\n params,\n el,\n wrapperEl,\n device\n } = swiper;\n const capture = !!params.nested;\n const domMethod = method === 'on' ? 'addEventListener' : 'removeEventListener';\n const swiperMethod = method;\n\n // Touch Events\n el[domMethod]('pointerdown', swiper.onTouchStart, {\n passive: false\n });\n document[domMethod]('pointermove', swiper.onTouchMove, {\n passive: false,\n capture\n });\n document[domMethod]('pointerup', swiper.onTouchEnd, {\n passive: true\n });\n document[domMethod]('pointercancel', swiper.onTouchEnd, {\n passive: true\n });\n document[domMethod]('pointerout', swiper.onTouchEnd, {\n passive: true\n });\n document[domMethod]('pointerleave', swiper.onTouchEnd, {\n passive: true\n });\n\n // Prevent Links Clicks\n if (params.preventClicks || params.preventClicksPropagation) {\n el[domMethod]('click', swiper.onClick, true);\n }\n if (params.cssMode) {\n wrapperEl[domMethod]('scroll', swiper.onScroll);\n }\n\n // Resize handler\n if (params.updateOnWindowResize) {\n swiper[swiperMethod](device.ios || device.android ? 'resize orientationchange observerUpdate' : 'resize observerUpdate', onResize, true);\n } else {\n swiper[swiperMethod]('observerUpdate', onResize, true);\n }\n\n // Images loader\n el[domMethod]('load', swiper.onLoad, {\n capture: true\n });\n};\nfunction attachEvents() {\n const swiper = this;\n const document = getDocument();\n const {\n params\n } = swiper;\n swiper.onTouchStart = onTouchStart.bind(swiper);\n swiper.onTouchMove = onTouchMove.bind(swiper);\n swiper.onTouchEnd = onTouchEnd.bind(swiper);\n if (params.cssMode) {\n swiper.onScroll = onScroll.bind(swiper);\n }\n swiper.onClick = onClick.bind(swiper);\n swiper.onLoad = onLoad.bind(swiper);\n if (!dummyEventAttached) {\n document.addEventListener('touchstart', dummyEventListener);\n dummyEventAttached = true;\n }\n events(swiper, 'on');\n}\nfunction detachEvents() {\n const swiper = this;\n events(swiper, 'off');\n}\nexport default {\n attachEvents,\n detachEvents\n};","import { extend } from '../../shared/utils.js';\nconst isGridEnabled = (swiper, params) => {\n return swiper.grid && params.grid && params.grid.rows > 1;\n};\nexport default function setBreakpoint() {\n const swiper = this;\n const {\n realIndex,\n initialized,\n params,\n el\n } = swiper;\n const breakpoints = params.breakpoints;\n if (!breakpoints || breakpoints && Object.keys(breakpoints).length === 0) return;\n\n // Get breakpoint for window width and update parameters\n const breakpoint = swiper.getBreakpoint(breakpoints, swiper.params.breakpointsBase, swiper.el);\n if (!breakpoint || swiper.currentBreakpoint === breakpoint) return;\n const breakpointOnlyParams = breakpoint in breakpoints ? breakpoints[breakpoint] : undefined;\n const breakpointParams = breakpointOnlyParams || swiper.originalParams;\n const wasMultiRow = isGridEnabled(swiper, params);\n const isMultiRow = isGridEnabled(swiper, breakpointParams);\n const wasEnabled = params.enabled;\n if (wasMultiRow && !isMultiRow) {\n el.classList.remove(`${params.containerModifierClass}grid`, `${params.containerModifierClass}grid-column`);\n swiper.emitContainerClasses();\n } else if (!wasMultiRow && isMultiRow) {\n el.classList.add(`${params.containerModifierClass}grid`);\n if (breakpointParams.grid.fill && breakpointParams.grid.fill === 'column' || !breakpointParams.grid.fill && params.grid.fill === 'column') {\n el.classList.add(`${params.containerModifierClass}grid-column`);\n }\n swiper.emitContainerClasses();\n }\n\n // Toggle navigation, pagination, scrollbar\n ['navigation', 'pagination', 'scrollbar'].forEach(prop => {\n const wasModuleEnabled = params[prop] && params[prop].enabled;\n const isModuleEnabled = breakpointParams[prop] && breakpointParams[prop].enabled;\n if (wasModuleEnabled && !isModuleEnabled) {\n swiper[prop].disable();\n }\n if (!wasModuleEnabled && isModuleEnabled) {\n swiper[prop].enable();\n }\n });\n const directionChanged = breakpointParams.direction && breakpointParams.direction !== params.direction;\n const needsReLoop = params.loop && (breakpointParams.slidesPerView !== params.slidesPerView || directionChanged);\n if (directionChanged && initialized) {\n swiper.changeDirection();\n }\n extend(swiper.params, breakpointParams);\n const isEnabled = swiper.params.enabled;\n Object.assign(swiper, {\n allowTouchMove: swiper.params.allowTouchMove,\n allowSlideNext: swiper.params.allowSlideNext,\n allowSlidePrev: swiper.params.allowSlidePrev\n });\n if (wasEnabled && !isEnabled) {\n swiper.disable();\n } else if (!wasEnabled && isEnabled) {\n swiper.enable();\n }\n swiper.currentBreakpoint = breakpoint;\n swiper.emit('_beforeBreakpoint', breakpointParams);\n if (needsReLoop && initialized) {\n swiper.loopDestroy();\n swiper.loopCreate(realIndex);\n swiper.updateSlides();\n }\n swiper.emit('breakpoint', breakpointParams);\n}","export default {\n init: true,\n direction: 'horizontal',\n oneWayMovement: false,\n touchEventsTarget: 'wrapper',\n initialSlide: 0,\n speed: 300,\n cssMode: false,\n updateOnWindowResize: true,\n resizeObserver: true,\n nested: false,\n createElements: false,\n enabled: true,\n focusableElements: 'input, select, option, textarea, button, video, label',\n // Overrides\n width: null,\n height: null,\n //\n preventInteractionOnTransition: false,\n // ssr\n userAgent: null,\n url: null,\n // To support iOS's swipe-to-go-back gesture (when being used in-app).\n edgeSwipeDetection: false,\n edgeSwipeThreshold: 20,\n // Autoheight\n autoHeight: false,\n // Set wrapper width\n setWrapperSize: false,\n // Virtual Translate\n virtualTranslate: false,\n // Effects\n effect: 'slide',\n // 'slide' or 'fade' or 'cube' or 'coverflow' or 'flip'\n\n // Breakpoints\n breakpoints: undefined,\n breakpointsBase: 'window',\n // Slides grid\n spaceBetween: 0,\n slidesPerView: 1,\n slidesPerGroup: 1,\n slidesPerGroupSkip: 0,\n slidesPerGroupAuto: false,\n centeredSlides: false,\n centeredSlidesBounds: false,\n slidesOffsetBefore: 0,\n // in px\n slidesOffsetAfter: 0,\n // in px\n normalizeSlideIndex: true,\n centerInsufficientSlides: false,\n // Disable swiper and hide navigation when container not overflow\n watchOverflow: true,\n // Round length\n roundLengths: false,\n // Touches\n touchRatio: 1,\n touchAngle: 45,\n simulateTouch: true,\n shortSwipes: true,\n longSwipes: true,\n longSwipesRatio: 0.5,\n longSwipesMs: 300,\n followFinger: true,\n allowTouchMove: true,\n threshold: 5,\n touchMoveStopPropagation: false,\n touchStartPreventDefault: true,\n touchStartForcePreventDefault: false,\n touchReleaseOnEdges: false,\n // Unique Navigation Elements\n uniqueNavElements: true,\n // Resistance\n resistance: true,\n resistanceRatio: 0.85,\n // Progress\n watchSlidesProgress: false,\n // Cursor\n grabCursor: false,\n // Clicks\n preventClicks: true,\n preventClicksPropagation: true,\n slideToClickedSlide: false,\n // loop\n loop: false,\n loopedSlides: null,\n loopPreventsSliding: true,\n // rewind\n rewind: false,\n // Swiping/no swiping\n allowSlidePrev: true,\n allowSlideNext: true,\n swipeHandler: null,\n // '.swipe-handler',\n noSwiping: true,\n noSwipingClass: 'swiper-no-swiping',\n noSwipingSelector: null,\n // Passive Listeners\n passiveListeners: true,\n maxBackfaceHiddenSlides: 10,\n // NS\n containerModifierClass: 'swiper-',\n // NEW\n slideClass: 'swiper-slide',\n slideActiveClass: 'swiper-slide-active',\n slideVisibleClass: 'swiper-slide-visible',\n slideNextClass: 'swiper-slide-next',\n slidePrevClass: 'swiper-slide-prev',\n wrapperClass: 'swiper-wrapper',\n lazyPreloaderClass: 'swiper-lazy-preloader',\n // Callbacks\n runCallbacksOnInit: true,\n // Internals\n _emitClasses: false\n};","import { extend } from '../shared/utils.js';\nexport default function moduleExtendParams(params, allModulesParams) {\n return function extendParams(obj = {}) {\n const moduleParamName = Object.keys(obj)[0];\n const moduleParams = obj[moduleParamName];\n if (typeof moduleParams !== 'object' || moduleParams === null) {\n extend(allModulesParams, obj);\n return;\n }\n if (['navigation', 'pagination', 'scrollbar'].indexOf(moduleParamName) >= 0 && params[moduleParamName] === true) {\n params[moduleParamName] = {\n auto: true\n };\n }\n if (!(moduleParamName in params && 'enabled' in moduleParams)) {\n extend(allModulesParams, obj);\n return;\n }\n if (params[moduleParamName] === true) {\n params[moduleParamName] = {\n enabled: true\n };\n }\n if (typeof params[moduleParamName] === 'object' && !('enabled' in params[moduleParamName])) {\n params[moduleParamName].enabled = true;\n }\n if (!params[moduleParamName]) params[moduleParamName] = {\n enabled: false\n };\n extend(allModulesParams, obj);\n };\n}","/* eslint no-param-reassign: \"off\" */\nimport { getDocument } from 'ssr-window';\nimport { extend, now, deleteProps, createElement, elementChildren, elementStyle } from '../shared/utils.js';\nimport { getSupport } from '../shared/get-support.js';\nimport { getDevice } from '../shared/get-device.js';\nimport { getBrowser } from '../shared/get-browser.js';\nimport Resize from './modules/resize/resize.js';\nimport Observer from './modules/observer/observer.js';\nimport eventsEmitter from './events-emitter.js';\nimport update from './update/index.js';\nimport translate from './translate/index.js';\nimport transition from './transition/index.js';\nimport slide from './slide/index.js';\nimport loop from './loop/index.js';\nimport grabCursor from './grab-cursor/index.js';\nimport events from './events/index.js';\nimport breakpoints from './breakpoints/index.js';\nimport classes from './classes/index.js';\nimport checkOverflow from './check-overflow/index.js';\nimport defaults from './defaults.js';\nimport moduleExtendParams from './moduleExtendParams.js';\nimport { processLazyPreloader } from '../shared/process-lazy-preloader.js';\nconst prototypes = {\n eventsEmitter,\n update,\n translate,\n transition,\n slide,\n loop,\n grabCursor,\n events,\n breakpoints,\n checkOverflow,\n classes\n};\nconst extendedDefaults = {};\nclass Swiper {\n constructor(...args) {\n let el;\n let params;\n if (args.length === 1 && args[0].constructor && Object.prototype.toString.call(args[0]).slice(8, -1) === 'Object') {\n params = args[0];\n } else {\n [el, params] = args;\n }\n if (!params) params = {};\n params = extend({}, params);\n if (el && !params.el) params.el = el;\n const document = getDocument();\n if (params.el && typeof params.el === 'string' && document.querySelectorAll(params.el).length > 1) {\n const swipers = [];\n document.querySelectorAll(params.el).forEach(containerEl => {\n const newParams = extend({}, params, {\n el: containerEl\n });\n swipers.push(new Swiper(newParams));\n });\n // eslint-disable-next-line no-constructor-return\n return swipers;\n }\n\n // Swiper Instance\n const swiper = this;\n swiper.__swiper__ = true;\n swiper.support = getSupport();\n swiper.device = getDevice({\n userAgent: params.userAgent\n });\n swiper.browser = getBrowser();\n swiper.eventsListeners = {};\n swiper.eventsAnyListeners = [];\n swiper.modules = [...swiper.__modules__];\n if (params.modules && Array.isArray(params.modules)) {\n swiper.modules.push(...params.modules);\n }\n const allModulesParams = {};\n swiper.modules.forEach(mod => {\n mod({\n params,\n swiper,\n extendParams: moduleExtendParams(params, allModulesParams),\n on: swiper.on.bind(swiper),\n once: swiper.once.bind(swiper),\n off: swiper.off.bind(swiper),\n emit: swiper.emit.bind(swiper)\n });\n });\n\n // Extend defaults with modules params\n const swiperParams = extend({}, defaults, allModulesParams);\n\n // Extend defaults with passed params\n swiper.params = extend({}, swiperParams, extendedDefaults, params);\n swiper.originalParams = extend({}, swiper.params);\n swiper.passedParams = extend({}, params);\n\n // add event listeners\n if (swiper.params && swiper.params.on) {\n Object.keys(swiper.params.on).forEach(eventName => {\n swiper.on(eventName, swiper.params.on[eventName]);\n });\n }\n if (swiper.params && swiper.params.onAny) {\n swiper.onAny(swiper.params.onAny);\n }\n\n // Extend Swiper\n Object.assign(swiper, {\n enabled: swiper.params.enabled,\n el,\n // Classes\n classNames: [],\n // Slides\n slides: [],\n slidesGrid: [],\n snapGrid: [],\n slidesSizesGrid: [],\n // isDirection\n isHorizontal() {\n return swiper.params.direction === 'horizontal';\n },\n isVertical() {\n return swiper.params.direction === 'vertical';\n },\n // Indexes\n activeIndex: 0,\n realIndex: 0,\n //\n isBeginning: true,\n isEnd: false,\n // Props\n translate: 0,\n previousTranslate: 0,\n progress: 0,\n velocity: 0,\n animating: false,\n // Locks\n allowSlideNext: swiper.params.allowSlideNext,\n allowSlidePrev: swiper.params.allowSlidePrev,\n // Touch Events\n touchEventsData: {\n isTouched: undefined,\n isMoved: undefined,\n allowTouchCallbacks: undefined,\n touchStartTime: undefined,\n isScrolling: undefined,\n currentTranslate: undefined,\n startTranslate: undefined,\n allowThresholdMove: undefined,\n // Form elements to match\n focusableElements: swiper.params.focusableElements,\n // Last click time\n lastClickTime: now(),\n clickTimeout: undefined,\n // Velocities\n velocities: [],\n allowMomentumBounce: undefined,\n startMoving: undefined,\n evCache: []\n },\n // Clicks\n allowClick: true,\n // Touches\n allowTouchMove: swiper.params.allowTouchMove,\n touches: {\n startX: 0,\n startY: 0,\n currentX: 0,\n currentY: 0,\n diff: 0\n },\n // Images\n imagesToLoad: [],\n imagesLoaded: 0\n });\n swiper.emit('_swiper');\n\n // Init\n if (swiper.params.init) {\n swiper.init();\n }\n\n // Return app instance\n // eslint-disable-next-line no-constructor-return\n return swiper;\n }\n recalcSlides() {\n const swiper = this;\n const {\n slidesEl,\n params\n } = swiper;\n swiper.slides = elementChildren(slidesEl, `.${params.slideClass}, swiper-slide`);\n }\n enable() {\n const swiper = this;\n if (swiper.enabled) return;\n swiper.enabled = true;\n if (swiper.params.grabCursor) {\n swiper.setGrabCursor();\n }\n swiper.emit('enable');\n }\n disable() {\n const swiper = this;\n if (!swiper.enabled) return;\n swiper.enabled = false;\n if (swiper.params.grabCursor) {\n swiper.unsetGrabCursor();\n }\n swiper.emit('disable');\n }\n setProgress(progress, speed) {\n const swiper = this;\n progress = Math.min(Math.max(progress, 0), 1);\n const min = swiper.minTranslate();\n const max = swiper.maxTranslate();\n const current = (max - min) * progress + min;\n swiper.translateTo(current, typeof speed === 'undefined' ? 0 : speed);\n swiper.updateActiveIndex();\n swiper.updateSlidesClasses();\n }\n emitContainerClasses() {\n const swiper = this;\n if (!swiper.params._emitClasses || !swiper.el) return;\n const cls = swiper.el.className.split(' ').filter(className => {\n return className.indexOf('swiper') === 0 || className.indexOf(swiper.params.containerModifierClass) === 0;\n });\n swiper.emit('_containerClasses', cls.join(' '));\n }\n getSlideClasses(slideEl) {\n const swiper = this;\n if (swiper.destroyed) return '';\n return slideEl.className.split(' ').filter(className => {\n return className.indexOf('swiper-slide') === 0 || className.indexOf(swiper.params.slideClass) === 0;\n }).join(' ');\n }\n emitSlidesClasses() {\n const swiper = this;\n if (!swiper.params._emitClasses || !swiper.el) return;\n const updates = [];\n swiper.slides.forEach(slideEl => {\n const classNames = swiper.getSlideClasses(slideEl);\n updates.push({\n slideEl,\n classNames\n });\n swiper.emit('_slideClass', slideEl, classNames);\n });\n swiper.emit('_slideClasses', updates);\n }\n slidesPerViewDynamic(view = 'current', exact = false) {\n const swiper = this;\n const {\n params,\n slides,\n slidesGrid,\n slidesSizesGrid,\n size: swiperSize,\n activeIndex\n } = swiper;\n let spv = 1;\n if (params.centeredSlides) {\n let slideSize = slides[activeIndex].swiperSlideSize;\n let breakLoop;\n for (let i = activeIndex + 1; i < slides.length; i += 1) {\n if (slides[i] && !breakLoop) {\n slideSize += slides[i].swiperSlideSize;\n spv += 1;\n if (slideSize > swiperSize) breakLoop = true;\n }\n }\n for (let i = activeIndex - 1; i >= 0; i -= 1) {\n if (slides[i] && !breakLoop) {\n slideSize += slides[i].swiperSlideSize;\n spv += 1;\n if (slideSize > swiperSize) breakLoop = true;\n }\n }\n } else {\n // eslint-disable-next-line\n if (view === 'current') {\n for (let i = activeIndex + 1; i < slides.length; i += 1) {\n const slideInView = exact ? slidesGrid[i] + slidesSizesGrid[i] - slidesGrid[activeIndex] < swiperSize : slidesGrid[i] - slidesGrid[activeIndex] < swiperSize;\n if (slideInView) {\n spv += 1;\n }\n }\n } else {\n // previous\n for (let i = activeIndex - 1; i >= 0; i -= 1) {\n const slideInView = slidesGrid[activeIndex] - slidesGrid[i] < swiperSize;\n if (slideInView) {\n spv += 1;\n }\n }\n }\n }\n return spv;\n }\n update() {\n const swiper = this;\n if (!swiper || swiper.destroyed) return;\n const {\n snapGrid,\n params\n } = swiper;\n // Breakpoints\n if (params.breakpoints) {\n swiper.setBreakpoint();\n }\n [...swiper.el.querySelectorAll('[loading=\"lazy\"]')].forEach(imageEl => {\n if (imageEl.complete) {\n processLazyPreloader(swiper, imageEl);\n }\n });\n swiper.updateSize();\n swiper.updateSlides();\n swiper.updateProgress();\n swiper.updateSlidesClasses();\n function setTranslate() {\n const translateValue = swiper.rtlTranslate ? swiper.translate * -1 : swiper.translate;\n const newTranslate = Math.min(Math.max(translateValue, swiper.maxTranslate()), swiper.minTranslate());\n swiper.setTranslate(newTranslate);\n swiper.updateActiveIndex();\n swiper.updateSlidesClasses();\n }\n let translated;\n if (swiper.params.freeMode && swiper.params.freeMode.enabled) {\n setTranslate();\n if (swiper.params.autoHeight) {\n swiper.updateAutoHeight();\n }\n } else {\n if ((swiper.params.slidesPerView === 'auto' || swiper.params.slidesPerView > 1) && swiper.isEnd && !swiper.params.centeredSlides) {\n translated = swiper.slideTo(swiper.slides.length - 1, 0, false, true);\n } else {\n translated = swiper.slideTo(swiper.activeIndex, 0, false, true);\n }\n if (!translated) {\n setTranslate();\n }\n }\n if (params.watchOverflow && snapGrid !== swiper.snapGrid) {\n swiper.checkOverflow();\n }\n swiper.emit('update');\n }\n changeDirection(newDirection, needUpdate = true) {\n const swiper = this;\n const currentDirection = swiper.params.direction;\n if (!newDirection) {\n // eslint-disable-next-line\n newDirection = currentDirection === 'horizontal' ? 'vertical' : 'horizontal';\n }\n if (newDirection === currentDirection || newDirection !== 'horizontal' && newDirection !== 'vertical') {\n return swiper;\n }\n swiper.el.classList.remove(`${swiper.params.containerModifierClass}${currentDirection}`);\n swiper.el.classList.add(`${swiper.params.containerModifierClass}${newDirection}`);\n swiper.emitContainerClasses();\n swiper.params.direction = newDirection;\n swiper.slides.forEach(slideEl => {\n if (newDirection === 'vertical') {\n slideEl.style.width = '';\n } else {\n slideEl.style.height = '';\n }\n });\n swiper.emit('changeDirection');\n if (needUpdate) swiper.update();\n return swiper;\n }\n changeLanguageDirection(direction) {\n const swiper = this;\n if (swiper.rtl && direction === 'rtl' || !swiper.rtl && direction === 'ltr') return;\n swiper.rtl = direction === 'rtl';\n swiper.rtlTranslate = swiper.params.direction === 'horizontal' && swiper.rtl;\n if (swiper.rtl) {\n swiper.el.classList.add(`${swiper.params.containerModifierClass}rtl`);\n swiper.el.dir = 'rtl';\n } else {\n swiper.el.classList.remove(`${swiper.params.containerModifierClass}rtl`);\n swiper.el.dir = 'ltr';\n }\n swiper.update();\n }\n mount(element) {\n const swiper = this;\n if (swiper.mounted) return true;\n\n // Find el\n let el = element || swiper.params.el;\n if (typeof el === 'string') {\n el = document.querySelector(el);\n }\n if (!el) {\n return false;\n }\n el.swiper = swiper;\n if (el.shadowEl) {\n swiper.isElement = true;\n }\n const getWrapperSelector = () => {\n return `.${(swiper.params.wrapperClass || '').trim().split(' ').join('.')}`;\n };\n const getWrapper = () => {\n if (el && el.shadowRoot && el.shadowRoot.querySelector) {\n const res = el.shadowRoot.querySelector(getWrapperSelector());\n // Children needs to return slot items\n return res;\n }\n return elementChildren(el, getWrapperSelector())[0];\n };\n // Find Wrapper\n let wrapperEl = getWrapper();\n if (!wrapperEl && swiper.params.createElements) {\n wrapperEl = createElement('div', swiper.params.wrapperClass);\n el.append(wrapperEl);\n elementChildren(el, `.${swiper.params.slideClass}`).forEach(slideEl => {\n wrapperEl.append(slideEl);\n });\n }\n Object.assign(swiper, {\n el,\n wrapperEl,\n slidesEl: swiper.isElement ? el : wrapperEl,\n mounted: true,\n // RTL\n rtl: el.dir.toLowerCase() === 'rtl' || elementStyle(el, 'direction') === 'rtl',\n rtlTranslate: swiper.params.direction === 'horizontal' && (el.dir.toLowerCase() === 'rtl' || elementStyle(el, 'direction') === 'rtl'),\n wrongRTL: elementStyle(wrapperEl, 'display') === '-webkit-box'\n });\n return true;\n }\n init(el) {\n const swiper = this;\n if (swiper.initialized) return swiper;\n const mounted = swiper.mount(el);\n if (mounted === false) return swiper;\n swiper.emit('beforeInit');\n\n // Set breakpoint\n if (swiper.params.breakpoints) {\n swiper.setBreakpoint();\n }\n\n // Add Classes\n swiper.addClasses();\n\n // Update size\n swiper.updateSize();\n\n // Update slides\n swiper.updateSlides();\n if (swiper.params.watchOverflow) {\n swiper.checkOverflow();\n }\n\n // Set Grab Cursor\n if (swiper.params.grabCursor && swiper.enabled) {\n swiper.setGrabCursor();\n }\n\n // Slide To Initial Slide\n if (swiper.params.loop && swiper.virtual && swiper.params.virtual.enabled) {\n swiper.slideTo(swiper.params.initialSlide + swiper.virtual.slidesBefore, 0, swiper.params.runCallbacksOnInit, false, true);\n } else {\n swiper.slideTo(swiper.params.initialSlide, 0, swiper.params.runCallbacksOnInit, false, true);\n }\n\n // Create loop\n if (swiper.params.loop) {\n swiper.loopCreate();\n }\n\n // Attach events\n swiper.attachEvents();\n [...swiper.el.querySelectorAll('[loading=\"lazy\"]')].forEach(imageEl => {\n if (imageEl.complete) {\n processLazyPreloader(swiper, imageEl);\n } else {\n imageEl.addEventListener('load', e => {\n processLazyPreloader(swiper, e.target);\n });\n }\n });\n\n // Init Flag\n swiper.initialized = true;\n\n // Emit\n swiper.emit('init');\n swiper.emit('afterInit');\n return swiper;\n }\n destroy(deleteInstance = true, cleanStyles = true) {\n const swiper = this;\n const {\n params,\n el,\n wrapperEl,\n slides\n } = swiper;\n if (typeof swiper.params === 'undefined' || swiper.destroyed) {\n return null;\n }\n swiper.emit('beforeDestroy');\n\n // Init Flag\n swiper.initialized = false;\n\n // Detach events\n swiper.detachEvents();\n\n // Destroy loop\n if (params.loop) {\n swiper.loopDestroy();\n }\n\n // Cleanup styles\n if (cleanStyles) {\n swiper.removeClasses();\n el.removeAttribute('style');\n wrapperEl.removeAttribute('style');\n if (slides && slides.length) {\n slides.forEach(slideEl => {\n slideEl.classList.remove(params.slideVisibleClass, params.slideActiveClass, params.slideNextClass, params.slidePrevClass);\n slideEl.removeAttribute('style');\n slideEl.removeAttribute('data-swiper-slide-index');\n });\n }\n }\n swiper.emit('destroy');\n\n // Detach emitter events\n Object.keys(swiper.eventsListeners).forEach(eventName => {\n swiper.off(eventName);\n });\n if (deleteInstance !== false) {\n swiper.el.swiper = null;\n deleteProps(swiper);\n }\n swiper.destroyed = true;\n return null;\n }\n static extendDefaults(newDefaults) {\n extend(extendedDefaults, newDefaults);\n }\n static get extendedDefaults() {\n return extendedDefaults;\n }\n static get defaults() {\n return defaults;\n }\n static installModule(mod) {\n if (!Swiper.prototype.__modules__) Swiper.prototype.__modules__ = [];\n const modules = Swiper.prototype.__modules__;\n if (typeof mod === 'function' && modules.indexOf(mod) < 0) {\n modules.push(mod);\n }\n }\n static use(module) {\n if (Array.isArray(module)) {\n module.forEach(m => Swiper.installModule(m));\n return Swiper;\n }\n Swiper.installModule(module);\n return Swiper;\n }\n}\nObject.keys(prototypes).forEach(prototypeGroup => {\n Object.keys(prototypes[prototypeGroup]).forEach(protoMethod => {\n Swiper.prototype[protoMethod] = prototypes[prototypeGroup][protoMethod];\n });\n});\nSwiper.use([Resize, Observer]);\nexport default Swiper;","import getTranslate from './getTranslate.js';\nimport setTranslate from './setTranslate.js';\nimport minTranslate from './minTranslate.js';\nimport maxTranslate from './maxTranslate.js';\nimport translateTo from './translateTo.js';\nexport default {\n getTranslate,\n setTranslate,\n minTranslate,\n maxTranslate,\n translateTo\n};","import { getTranslate } from '../../shared/utils.js';\nexport default function getSwiperTranslate(axis = this.isHorizontal() ? 'x' : 'y') {\n const swiper = this;\n const {\n params,\n rtlTranslate: rtl,\n translate,\n wrapperEl\n } = swiper;\n if (params.virtualTranslate) {\n return rtl ? -translate : translate;\n }\n if (params.cssMode) {\n return translate;\n }\n let currentTranslate = getTranslate(wrapperEl, axis);\n if (rtl) currentTranslate = -currentTranslate;\n return currentTranslate || 0;\n}","export default function setTranslate(translate, byController) {\n const swiper = this;\n const {\n rtlTranslate: rtl,\n params,\n wrapperEl,\n progress\n } = swiper;\n let x = 0;\n let y = 0;\n const z = 0;\n if (swiper.isHorizontal()) {\n x = rtl ? -translate : translate;\n } else {\n y = translate;\n }\n if (params.roundLengths) {\n x = Math.floor(x);\n y = Math.floor(y);\n }\n if (params.cssMode) {\n wrapperEl[swiper.isHorizontal() ? 'scrollLeft' : 'scrollTop'] = swiper.isHorizontal() ? -x : -y;\n } else if (!params.virtualTranslate) {\n wrapperEl.style.transform = `translate3d(${x}px, ${y}px, ${z}px)`;\n }\n swiper.previousTranslate = swiper.translate;\n swiper.translate = swiper.isHorizontal() ? x : y;\n\n // Check if we need to update progress\n let newProgress;\n const translatesDiff = swiper.maxTranslate() - swiper.minTranslate();\n if (translatesDiff === 0) {\n newProgress = 0;\n } else {\n newProgress = (translate - swiper.minTranslate()) / translatesDiff;\n }\n if (newProgress !== progress) {\n swiper.updateProgress(translate);\n }\n swiper.emit('setTranslate', swiper.translate, byController);\n}","export default function minTranslate() {\n return -this.snapGrid[0];\n}","export default function maxTranslate() {\n return -this.snapGrid[this.snapGrid.length - 1];\n}","import { animateCSSModeScroll } from '../../shared/utils.js';\nexport default function translateTo(translate = 0, speed = this.params.speed, runCallbacks = true, translateBounds = true, internal) {\n const swiper = this;\n const {\n params,\n wrapperEl\n } = swiper;\n if (swiper.animating && params.preventInteractionOnTransition) {\n return false;\n }\n const minTranslate = swiper.minTranslate();\n const maxTranslate = swiper.maxTranslate();\n let newTranslate;\n if (translateBounds && translate > minTranslate) newTranslate = minTranslate;else if (translateBounds && translate < maxTranslate) newTranslate = maxTranslate;else newTranslate = translate;\n\n // Update progress\n swiper.updateProgress(newTranslate);\n if (params.cssMode) {\n const isH = swiper.isHorizontal();\n if (speed === 0) {\n wrapperEl[isH ? 'scrollLeft' : 'scrollTop'] = -newTranslate;\n } else {\n if (!swiper.support.smoothScroll) {\n animateCSSModeScroll({\n swiper,\n targetPosition: -newTranslate,\n side: isH ? 'left' : 'top'\n });\n return true;\n }\n wrapperEl.scrollTo({\n [isH ? 'left' : 'top']: -newTranslate,\n behavior: 'smooth'\n });\n }\n return true;\n }\n if (speed === 0) {\n swiper.setTransition(0);\n swiper.setTranslate(newTranslate);\n if (runCallbacks) {\n swiper.emit('beforeTransitionStart', speed, internal);\n swiper.emit('transitionEnd');\n }\n } else {\n swiper.setTransition(speed);\n swiper.setTranslate(newTranslate);\n if (runCallbacks) {\n swiper.emit('beforeTransitionStart', speed, internal);\n swiper.emit('transitionStart');\n }\n if (!swiper.animating) {\n swiper.animating = true;\n if (!swiper.onTranslateToWrapperTransitionEnd) {\n swiper.onTranslateToWrapperTransitionEnd = function transitionEnd(e) {\n if (!swiper || swiper.destroyed) return;\n if (e.target !== this) return;\n swiper.wrapperEl.removeEventListener('transitionend', swiper.onTranslateToWrapperTransitionEnd);\n swiper.onTranslateToWrapperTransitionEnd = null;\n delete swiper.onTranslateToWrapperTransitionEnd;\n if (runCallbacks) {\n swiper.emit('transitionEnd');\n }\n };\n }\n swiper.wrapperEl.addEventListener('transitionend', swiper.onTranslateToWrapperTransitionEnd);\n }\n }\n return true;\n}","import setTransition from './setTransition.js';\nimport transitionStart from './transitionStart.js';\nimport transitionEnd from './transitionEnd.js';\nexport default {\n setTransition,\n transitionStart,\n transitionEnd\n};","export default function setTransition(duration, byController) {\n const swiper = this;\n if (!swiper.params.cssMode) {\n swiper.wrapperEl.style.transitionDuration = `${duration}ms`;\n }\n swiper.emit('setTransition', duration, byController);\n}","import transitionEmit from './transitionEmit.js';\nexport default function transitionStart(runCallbacks = true, direction) {\n const swiper = this;\n const {\n params\n } = swiper;\n if (params.cssMode) return;\n if (params.autoHeight) {\n swiper.updateAutoHeight();\n }\n transitionEmit({\n swiper,\n runCallbacks,\n direction,\n step: 'Start'\n });\n}","import transitionEmit from './transitionEmit.js';\nexport default function transitionEnd(runCallbacks = true, direction) {\n const swiper = this;\n const {\n params\n } = swiper;\n swiper.animating = false;\n if (params.cssMode) return;\n swiper.setTransition(0);\n transitionEmit({\n swiper,\n runCallbacks,\n direction,\n step: 'End'\n });\n}","import loopCreate from './loopCreate.js';\nimport loopFix from './loopFix.js';\nimport loopDestroy from './loopDestroy.js';\nexport default {\n loopCreate,\n loopFix,\n loopDestroy\n};","import { elementChildren } from '../../shared/utils.js';\nexport default function loopCreate(slideRealIndex) {\n const swiper = this;\n const {\n params,\n slidesEl\n } = swiper;\n if (!params.loop || swiper.virtual && swiper.params.virtual.enabled) return;\n const slides = elementChildren(slidesEl, `.${params.slideClass}, swiper-slide`);\n slides.forEach((el, index) => {\n el.setAttribute('data-swiper-slide-index', index);\n });\n swiper.loopFix({\n slideRealIndex,\n direction: params.centeredSlides ? undefined : 'next'\n });\n}","import { elementIndex } from '../../shared/utils.js';\nexport default function loopFix({\n slideRealIndex,\n slideTo = true,\n direction,\n setTranslate,\n activeSlideIndex,\n byController,\n byMousewheel\n} = {}) {\n const swiper = this;\n if (!swiper.params.loop) return;\n swiper.emit('beforeLoopFix');\n const {\n slides,\n allowSlidePrev,\n allowSlideNext,\n slidesEl,\n params\n } = swiper;\n swiper.allowSlidePrev = true;\n swiper.allowSlideNext = true;\n if (swiper.virtual && params.virtual.enabled) {\n if (slideTo) {\n if (!params.centeredSlides && swiper.snapIndex === 0) {\n swiper.slideTo(swiper.virtual.slides.length, 0, false, true);\n } else if (params.centeredSlides && swiper.snapIndex < params.slidesPerView) {\n swiper.slideTo(swiper.virtual.slides.length + swiper.snapIndex, 0, false, true);\n } else if (swiper.snapIndex === swiper.snapGrid.length - 1) {\n swiper.slideTo(swiper.virtual.slidesBefore, 0, false, true);\n }\n }\n swiper.allowSlidePrev = allowSlidePrev;\n swiper.allowSlideNext = allowSlideNext;\n swiper.emit('loopFix');\n return;\n }\n const slidesPerView = params.slidesPerView === 'auto' ? swiper.slidesPerViewDynamic() : Math.ceil(parseFloat(params.slidesPerView, 10));\n let loopedSlides = params.loopedSlides || slidesPerView;\n if (loopedSlides % params.slidesPerGroup !== 0) {\n loopedSlides += params.slidesPerGroup - loopedSlides % params.slidesPerGroup;\n }\n swiper.loopedSlides = loopedSlides;\n const prependSlidesIndexes = [];\n const appendSlidesIndexes = [];\n let activeIndex = swiper.activeIndex;\n if (typeof activeSlideIndex === 'undefined') {\n activeSlideIndex = elementIndex(swiper.slides.filter(el => el.classList.contains('swiper-slide-active'))[0]);\n } else {\n activeIndex = activeSlideIndex;\n }\n const isNext = direction === 'next' || !direction;\n const isPrev = direction === 'prev' || !direction;\n let slidesPrepended = 0;\n let slidesAppended = 0;\n // prepend last slides before start\n if (activeSlideIndex < loopedSlides) {\n slidesPrepended = loopedSlides - activeSlideIndex;\n for (let i = 0; i < loopedSlides - activeSlideIndex; i += 1) {\n const index = i - Math.floor(i / slides.length) * slides.length;\n prependSlidesIndexes.push(slides.length - index - 1);\n }\n } else if (activeSlideIndex /* + slidesPerView */ > swiper.slides.length - loopedSlides * 2) {\n slidesAppended = activeSlideIndex - (swiper.slides.length - loopedSlides * 2);\n for (let i = 0; i < slidesAppended; i += 1) {\n const index = i - Math.floor(i / slides.length) * slides.length;\n appendSlidesIndexes.push(index);\n }\n }\n if (isPrev) {\n prependSlidesIndexes.forEach(index => {\n slidesEl.prepend(swiper.slides[index]);\n });\n }\n if (isNext) {\n appendSlidesIndexes.forEach(index => {\n slidesEl.append(swiper.slides[index]);\n });\n }\n swiper.recalcSlides();\n if (params.watchSlidesProgress) {\n swiper.updateSlidesOffset();\n }\n if (slideTo) {\n if (prependSlidesIndexes.length > 0 && isPrev) {\n if (typeof slideRealIndex === 'undefined') {\n const currentSlideTranslate = swiper.slidesGrid[activeIndex];\n const newSlideTranslate = swiper.slidesGrid[activeIndex + slidesPrepended];\n const diff = newSlideTranslate - currentSlideTranslate;\n if (byMousewheel) {\n swiper.setTranslate(swiper.translate - diff);\n } else {\n swiper.slideTo(activeIndex + slidesPrepended, 0, false, true);\n if (setTranslate) {\n swiper.touches[swiper.isHorizontal() ? 'startX' : 'startY'] += diff;\n }\n }\n } else {\n if (setTranslate) {\n swiper.slideToLoop(slideRealIndex, 0, false, true);\n }\n }\n } else if (appendSlidesIndexes.length > 0 && isNext) {\n if (typeof slideRealIndex === 'undefined') {\n const currentSlideTranslate = swiper.slidesGrid[activeIndex];\n const newSlideTranslate = swiper.slidesGrid[activeIndex - slidesAppended];\n const diff = newSlideTranslate - currentSlideTranslate;\n if (byMousewheel) {\n swiper.setTranslate(swiper.translate - diff);\n } else {\n swiper.slideTo(activeIndex - slidesAppended, 0, false, true);\n if (setTranslate) {\n swiper.touches[swiper.isHorizontal() ? 'startX' : 'startY'] += diff;\n }\n }\n } else {\n swiper.slideToLoop(slideRealIndex, 0, false, true);\n }\n }\n }\n swiper.allowSlidePrev = allowSlidePrev;\n swiper.allowSlideNext = allowSlideNext;\n if (swiper.controller && swiper.controller.control && !byController) {\n const loopParams = {\n slideRealIndex,\n slideTo: false,\n direction,\n setTranslate,\n activeSlideIndex,\n byController: true\n };\n if (Array.isArray(swiper.controller.control)) {\n swiper.controller.control.forEach(c => {\n if (c.params.loop) c.loopFix(loopParams);\n });\n } else if (swiper.controller.control instanceof swiper.constructor && swiper.controller.control.params.loop) {\n swiper.controller.control.loopFix(loopParams);\n }\n }\n swiper.emit('loopFix');\n}","export default function loopDestroy() {\n const swiper = this;\n const {\n slides,\n params,\n slidesEl\n } = swiper;\n if (!params.loop || swiper.virtual && swiper.params.virtual.enabled) return;\n swiper.recalcSlides();\n const newSlidesOrder = [];\n slides.forEach(slideEl => {\n const index = typeof slideEl.swiperSlideIndex === 'undefined' ? slideEl.getAttribute('data-swiper-slide-index') * 1 : slideEl.swiperSlideIndex;\n newSlidesOrder[index] = slideEl;\n });\n slides.forEach(slideEl => {\n slideEl.removeAttribute('data-swiper-slide-index');\n });\n newSlidesOrder.forEach(slideEl => {\n slidesEl.append(slideEl);\n });\n swiper.recalcSlides();\n swiper.slideTo(swiper.realIndex, 0);\n}","import setGrabCursor from './setGrabCursor.js';\nimport unsetGrabCursor from './unsetGrabCursor.js';\nexport default {\n setGrabCursor,\n unsetGrabCursor\n};","export default function setGrabCursor(moving) {\n const swiper = this;\n if (!swiper.params.simulateTouch || swiper.params.watchOverflow && swiper.isLocked || swiper.params.cssMode) return;\n const el = swiper.params.touchEventsTarget === 'container' ? swiper.el : swiper.wrapperEl;\n el.style.cursor = 'move';\n el.style.cursor = moving ? 'grabbing' : 'grab';\n}","export default function unsetGrabCursor() {\n const swiper = this;\n if (swiper.params.watchOverflow && swiper.isLocked || swiper.params.cssMode) {\n return;\n }\n swiper[swiper.params.touchEventsTarget === 'container' ? 'el' : 'wrapperEl'].style.cursor = '';\n}","import setBreakpoint from './setBreakpoint.js';\nimport getBreakpoint from './getBreakpoint.js';\nexport default {\n setBreakpoint,\n getBreakpoint\n};","import { getWindow } from 'ssr-window';\nexport default function getBreakpoint(breakpoints, base = 'window', containerEl) {\n if (!breakpoints || base === 'container' && !containerEl) return undefined;\n let breakpoint = false;\n const window = getWindow();\n const currentHeight = base === 'window' ? window.innerHeight : containerEl.clientHeight;\n const points = Object.keys(breakpoints).map(point => {\n if (typeof point === 'string' && point.indexOf('@') === 0) {\n const minRatio = parseFloat(point.substr(1));\n const value = currentHeight * minRatio;\n return {\n value,\n point\n };\n }\n return {\n value: point,\n point\n };\n });\n points.sort((a, b) => parseInt(a.value, 10) - parseInt(b.value, 10));\n for (let i = 0; i < points.length; i += 1) {\n const {\n point,\n value\n } = points[i];\n if (base === 'window') {\n if (window.matchMedia(`(min-width: ${value}px)`).matches) {\n breakpoint = point;\n }\n } else if (value <= containerEl.clientWidth) {\n breakpoint = point;\n }\n }\n return breakpoint || 'max';\n}","function checkOverflow() {\n const swiper = this;\n const {\n isLocked: wasLocked,\n params\n } = swiper;\n const {\n slidesOffsetBefore\n } = params;\n if (slidesOffsetBefore) {\n const lastSlideIndex = swiper.slides.length - 1;\n const lastSlideRightEdge = swiper.slidesGrid[lastSlideIndex] + swiper.slidesSizesGrid[lastSlideIndex] + slidesOffsetBefore * 2;\n swiper.isLocked = swiper.size > lastSlideRightEdge;\n } else {\n swiper.isLocked = swiper.snapGrid.length === 1;\n }\n if (params.allowSlideNext === true) {\n swiper.allowSlideNext = !swiper.isLocked;\n }\n if (params.allowSlidePrev === true) {\n swiper.allowSlidePrev = !swiper.isLocked;\n }\n if (wasLocked && wasLocked !== swiper.isLocked) {\n swiper.isEnd = false;\n }\n if (wasLocked !== swiper.isLocked) {\n swiper.emit(swiper.isLocked ? 'lock' : 'unlock');\n }\n}\nexport default {\n checkOverflow\n};","import addClasses from './addClasses.js';\nimport removeClasses from './removeClasses.js';\nexport default {\n addClasses,\n removeClasses\n};","function prepareClasses(entries, prefix) {\n const resultClasses = [];\n entries.forEach(item => {\n if (typeof item === 'object') {\n Object.keys(item).forEach(classNames => {\n if (item[classNames]) {\n resultClasses.push(prefix + classNames);\n }\n });\n } else if (typeof item === 'string') {\n resultClasses.push(prefix + item);\n }\n });\n return resultClasses;\n}\nexport default function addClasses() {\n const swiper = this;\n const {\n classNames,\n params,\n rtl,\n el,\n device\n } = swiper;\n // prettier-ignore\n const suffixes = prepareClasses(['initialized', params.direction, {\n 'free-mode': swiper.params.freeMode && params.freeMode.enabled\n }, {\n 'autoheight': params.autoHeight\n }, {\n 'rtl': rtl\n }, {\n 'grid': params.grid && params.grid.rows > 1\n }, {\n 'grid-column': params.grid && params.grid.rows > 1 && params.grid.fill === 'column'\n }, {\n 'android': device.android\n }, {\n 'ios': device.ios\n }, {\n 'css-mode': params.cssMode\n }, {\n 'centered': params.cssMode && params.centeredSlides\n }, {\n 'watch-progress': params.watchSlidesProgress\n }], params.containerModifierClass);\n classNames.push(...suffixes);\n el.classList.add(...classNames);\n swiper.emitContainerClasses();\n}","export default function removeClasses() {\n const swiper = this;\n const {\n el,\n classNames\n } = swiper;\n el.classList.remove(...classNames);\n swiper.emitContainerClasses();\n}","import { getWindow } from 'ssr-window';\nexport default function Resize({\n swiper,\n on,\n emit\n}) {\n const window = getWindow();\n let observer = null;\n let animationFrame = null;\n const resizeHandler = () => {\n if (!swiper || swiper.destroyed || !swiper.initialized) return;\n emit('beforeResize');\n emit('resize');\n };\n const createObserver = () => {\n if (!swiper || swiper.destroyed || !swiper.initialized) return;\n observer = new ResizeObserver(entries => {\n animationFrame = window.requestAnimationFrame(() => {\n const {\n width,\n height\n } = swiper;\n let newWidth = width;\n let newHeight = height;\n entries.forEach(({\n contentBoxSize,\n contentRect,\n target\n }) => {\n if (target && target !== swiper.el) return;\n newWidth = contentRect ? contentRect.width : (contentBoxSize[0] || contentBoxSize).inlineSize;\n newHeight = contentRect ? contentRect.height : (contentBoxSize[0] || contentBoxSize).blockSize;\n });\n if (newWidth !== width || newHeight !== height) {\n resizeHandler();\n }\n });\n });\n observer.observe(swiper.el);\n };\n const removeObserver = () => {\n if (animationFrame) {\n window.cancelAnimationFrame(animationFrame);\n }\n if (observer && observer.unobserve && swiper.el) {\n observer.unobserve(swiper.el);\n observer = null;\n }\n };\n const orientationChangeHandler = () => {\n if (!swiper || swiper.destroyed || !swiper.initialized) return;\n emit('orientationchange');\n };\n on('init', () => {\n if (swiper.params.resizeObserver && typeof window.ResizeObserver !== 'undefined') {\n createObserver();\n return;\n }\n window.addEventListener('resize', resizeHandler);\n window.addEventListener('orientationchange', orientationChangeHandler);\n });\n on('destroy', () => {\n removeObserver();\n window.removeEventListener('resize', resizeHandler);\n window.removeEventListener('orientationchange', orientationChangeHandler);\n });\n}","import { getWindow } from 'ssr-window';\nimport { elementParents } from '../../../shared/utils.js';\nexport default function Observer({\n swiper,\n extendParams,\n on,\n emit\n}) {\n const observers = [];\n const window = getWindow();\n const attach = (target, options = {}) => {\n const ObserverFunc = window.MutationObserver || window.WebkitMutationObserver;\n const observer = new ObserverFunc(mutations => {\n // The observerUpdate event should only be triggered\n // once despite the number of mutations. Additional\n // triggers are redundant and are very costly\n if (mutations.length === 1) {\n emit('observerUpdate', mutations[0]);\n return;\n }\n const observerUpdate = function observerUpdate() {\n emit('observerUpdate', mutations[0]);\n };\n if (window.requestAnimationFrame) {\n window.requestAnimationFrame(observerUpdate);\n } else {\n window.setTimeout(observerUpdate, 0);\n }\n });\n observer.observe(target, {\n attributes: typeof options.attributes === 'undefined' ? true : options.attributes,\n childList: typeof options.childList === 'undefined' ? true : options.childList,\n characterData: typeof options.characterData === 'undefined' ? true : options.characterData\n });\n observers.push(observer);\n };\n const init = () => {\n if (!swiper.params.observer) return;\n if (swiper.params.observeParents) {\n const containerParents = elementParents(swiper.el);\n for (let i = 0; i < containerParents.length; i += 1) {\n attach(containerParents[i]);\n }\n }\n // Observe container\n attach(swiper.el, {\n childList: swiper.params.observeSlideChildren\n });\n\n // Observe wrapper\n attach(swiper.wrapperEl, {\n attributes: false\n });\n };\n const destroy = () => {\n observers.forEach(observer => {\n observer.disconnect();\n });\n observers.splice(0, observers.length);\n };\n extendParams({\n observer: false,\n observeParents: false,\n observeSlideChildren: false\n });\n on('init', init);\n on('destroy', destroy);\n}","import { createElement, elementChildren } from './utils.js';\nexport default function createElementIfNotDefined(swiper, originalParams, params, checkProps) {\n if (swiper.params.createElements) {\n Object.keys(checkProps).forEach(key => {\n if (!params[key] && params.auto === true) {\n let element = elementChildren(swiper.el, `.${checkProps[key]}`)[0];\n if (!element) {\n element = createElement('div', checkProps[key]);\n element.className = checkProps[key];\n swiper.el.append(element);\n }\n params[key] = element;\n originalParams[key] = element;\n }\n });\n }\n return params;\n}","import createElementIfNotDefined from '../../shared/create-element-if-not-defined.js';\nexport default function Navigation({\n swiper,\n extendParams,\n on,\n emit\n}) {\n extendParams({\n navigation: {\n nextEl: null,\n prevEl: null,\n hideOnClick: false,\n disabledClass: 'swiper-button-disabled',\n hiddenClass: 'swiper-button-hidden',\n lockClass: 'swiper-button-lock',\n navigationDisabledClass: 'swiper-navigation-disabled'\n }\n });\n swiper.navigation = {\n nextEl: null,\n prevEl: null\n };\n const makeElementsArray = el => {\n if (!Array.isArray(el)) el = [el].filter(e => !!e);\n return el;\n };\n function getEl(el) {\n let res;\n if (el && typeof el === 'string' && swiper.isElement) {\n res = swiper.el.shadowRoot.querySelector(el);\n if (res) return res;\n }\n if (el) {\n if (typeof el === 'string') res = [...document.querySelectorAll(el)];\n if (swiper.params.uniqueNavElements && typeof el === 'string' && res.length > 1 && swiper.el.querySelectorAll(el).length === 1) {\n res = swiper.el.querySelector(el);\n }\n }\n if (el && !res) return el;\n // if (Array.isArray(res) && res.length === 1) res = res[0];\n return res;\n }\n function toggleEl(el, disabled) {\n const params = swiper.params.navigation;\n el = makeElementsArray(el);\n el.forEach(subEl => {\n if (subEl) {\n subEl.classList[disabled ? 'add' : 'remove'](...params.disabledClass.split(' '));\n if (subEl.tagName === 'BUTTON') subEl.disabled = disabled;\n if (swiper.params.watchOverflow && swiper.enabled) {\n subEl.classList[swiper.isLocked ? 'add' : 'remove'](params.lockClass);\n }\n }\n });\n }\n function update() {\n // Update Navigation Buttons\n const {\n nextEl,\n prevEl\n } = swiper.navigation;\n if (swiper.params.loop) {\n toggleEl(prevEl, false);\n toggleEl(nextEl, false);\n return;\n }\n toggleEl(prevEl, swiper.isBeginning && !swiper.params.rewind);\n toggleEl(nextEl, swiper.isEnd && !swiper.params.rewind);\n }\n function onPrevClick(e) {\n e.preventDefault();\n if (swiper.isBeginning && !swiper.params.loop && !swiper.params.rewind) return;\n swiper.slidePrev();\n emit('navigationPrev');\n }\n function onNextClick(e) {\n e.preventDefault();\n if (swiper.isEnd && !swiper.params.loop && !swiper.params.rewind) return;\n swiper.slideNext();\n emit('navigationNext');\n }\n function init() {\n const params = swiper.params.navigation;\n swiper.params.navigation = createElementIfNotDefined(swiper, swiper.originalParams.navigation, swiper.params.navigation, {\n nextEl: 'swiper-button-next',\n prevEl: 'swiper-button-prev'\n });\n if (!(params.nextEl || params.prevEl)) return;\n let nextEl = getEl(params.nextEl);\n let prevEl = getEl(params.prevEl);\n Object.assign(swiper.navigation, {\n nextEl,\n prevEl\n });\n nextEl = makeElementsArray(nextEl);\n prevEl = makeElementsArray(prevEl);\n const initButton = (el, dir) => {\n if (el) {\n el.addEventListener('click', dir === 'next' ? onNextClick : onPrevClick);\n }\n if (!swiper.enabled && el) {\n el.classList.add(...params.lockClass.split(' '));\n }\n };\n nextEl.forEach(el => initButton(el, 'next'));\n prevEl.forEach(el => initButton(el, 'prev'));\n }\n function destroy() {\n let {\n nextEl,\n prevEl\n } = swiper.navigation;\n nextEl = makeElementsArray(nextEl);\n prevEl = makeElementsArray(prevEl);\n const destroyButton = (el, dir) => {\n el.removeEventListener('click', dir === 'next' ? onNextClick : onPrevClick);\n el.classList.remove(...swiper.params.navigation.disabledClass.split(' '));\n };\n nextEl.forEach(el => destroyButton(el, 'next'));\n prevEl.forEach(el => destroyButton(el, 'prev'));\n }\n on('init', () => {\n if (swiper.params.navigation.enabled === false) {\n // eslint-disable-next-line\n disable();\n } else {\n init();\n update();\n }\n });\n on('toEdge fromEdge lock unlock', () => {\n update();\n });\n on('destroy', () => {\n destroy();\n });\n on('enable disable', () => {\n let {\n nextEl,\n prevEl\n } = swiper.navigation;\n nextEl = makeElementsArray(nextEl);\n prevEl = makeElementsArray(prevEl);\n [...nextEl, ...prevEl].filter(el => !!el).forEach(el => el.classList[swiper.enabled ? 'remove' : 'add'](swiper.params.navigation.lockClass));\n });\n on('click', (_s, e) => {\n let {\n nextEl,\n prevEl\n } = swiper.navigation;\n nextEl = makeElementsArray(nextEl);\n prevEl = makeElementsArray(prevEl);\n const targetEl = e.target;\n if (swiper.params.navigation.hideOnClick && !prevEl.includes(targetEl) && !nextEl.includes(targetEl)) {\n if (swiper.pagination && swiper.params.pagination && swiper.params.pagination.clickable && (swiper.pagination.el === targetEl || swiper.pagination.el.contains(targetEl))) return;\n let isHidden;\n if (nextEl.length) {\n isHidden = nextEl[0].classList.contains(swiper.params.navigation.hiddenClass);\n } else if (prevEl.length) {\n isHidden = prevEl[0].classList.contains(swiper.params.navigation.hiddenClass);\n }\n if (isHidden === true) {\n emit('navigationShow');\n } else {\n emit('navigationHide');\n }\n [...nextEl, ...prevEl].filter(el => !!el).forEach(el => el.classList.toggle(swiper.params.navigation.hiddenClass));\n }\n });\n const enable = () => {\n swiper.el.classList.remove(...swiper.params.navigation.navigationDisabledClass.split(' '));\n init();\n update();\n };\n const disable = () => {\n swiper.el.classList.add(...swiper.params.navigation.navigationDisabledClass.split(' '));\n destroy();\n };\n Object.assign(swiper.navigation, {\n enable,\n disable,\n update,\n init,\n destroy\n });\n}","export default function classesToSelector(classes = '') {\n return `.${classes.trim().replace(/([\\.:!\\/])/g, '\\\\$1') // eslint-disable-line\n .replace(/ /g, '.')}`;\n}","import classesToSelector from '../../shared/classes-to-selector.js';\nimport createElementIfNotDefined from '../../shared/create-element-if-not-defined.js';\nimport { elementIndex, elementOuterSize, elementParents } from '../../shared/utils.js';\nexport default function Pagination({\n swiper,\n extendParams,\n on,\n emit\n}) {\n const pfx = 'swiper-pagination';\n extendParams({\n pagination: {\n el: null,\n bulletElement: 'span',\n clickable: false,\n hideOnClick: false,\n renderBullet: null,\n renderProgressbar: null,\n renderFraction: null,\n renderCustom: null,\n progressbarOpposite: false,\n type: 'bullets',\n // 'bullets' or 'progressbar' or 'fraction' or 'custom'\n dynamicBullets: false,\n dynamicMainBullets: 1,\n formatFractionCurrent: number => number,\n formatFractionTotal: number => number,\n bulletClass: `${pfx}-bullet`,\n bulletActiveClass: `${pfx}-bullet-active`,\n modifierClass: `${pfx}-`,\n currentClass: `${pfx}-current`,\n totalClass: `${pfx}-total`,\n hiddenClass: `${pfx}-hidden`,\n progressbarFillClass: `${pfx}-progressbar-fill`,\n progressbarOppositeClass: `${pfx}-progressbar-opposite`,\n clickableClass: `${pfx}-clickable`,\n lockClass: `${pfx}-lock`,\n horizontalClass: `${pfx}-horizontal`,\n verticalClass: `${pfx}-vertical`,\n paginationDisabledClass: `${pfx}-disabled`\n }\n });\n swiper.pagination = {\n el: null,\n bullets: []\n };\n let bulletSize;\n let dynamicBulletIndex = 0;\n const makeElementsArray = el => {\n if (!Array.isArray(el)) el = [el].filter(e => !!e);\n return el;\n };\n function isPaginationDisabled() {\n return !swiper.params.pagination.el || !swiper.pagination.el || Array.isArray(swiper.pagination.el) && swiper.pagination.el.length === 0;\n }\n function setSideBullets(bulletEl, position) {\n const {\n bulletActiveClass\n } = swiper.params.pagination;\n if (!bulletEl) return;\n bulletEl = bulletEl[`${position === 'prev' ? 'previous' : 'next'}ElementSibling`];\n if (bulletEl) {\n bulletEl.classList.add(`${bulletActiveClass}-${position}`);\n bulletEl = bulletEl[`${position === 'prev' ? 'previous' : 'next'}ElementSibling`];\n if (bulletEl) {\n bulletEl.classList.add(`${bulletActiveClass}-${position}-${position}`);\n }\n }\n }\n function onBulletClick(e) {\n const bulletEl = e.target.closest(classesToSelector(swiper.params.pagination.bulletClass));\n if (!bulletEl) {\n return;\n }\n e.preventDefault();\n const index = elementIndex(bulletEl) * swiper.params.slidesPerGroup;\n if (swiper.params.loop) {\n swiper.slideToLoop(index);\n } else {\n swiper.slideTo(index);\n }\n }\n function update() {\n // Render || Update Pagination bullets/items\n const rtl = swiper.rtl;\n const params = swiper.params.pagination;\n if (isPaginationDisabled()) return;\n let el = swiper.pagination.el;\n el = makeElementsArray(el);\n // Current/Total\n let current;\n const slidesLength = swiper.virtual && swiper.params.virtual.enabled ? swiper.virtual.slides.length : swiper.slides.length;\n const total = swiper.params.loop ? Math.ceil(slidesLength / swiper.params.slidesPerGroup) : swiper.snapGrid.length;\n if (swiper.params.loop) {\n current = swiper.params.slidesPerGroup > 1 ? Math.floor(swiper.realIndex / swiper.params.slidesPerGroup) : swiper.realIndex;\n } else if (typeof swiper.snapIndex !== 'undefined') {\n current = swiper.snapIndex;\n } else {\n current = swiper.activeIndex || 0;\n }\n // Types\n if (params.type === 'bullets' && swiper.pagination.bullets && swiper.pagination.bullets.length > 0) {\n const bullets = swiper.pagination.bullets;\n let firstIndex;\n let lastIndex;\n let midIndex;\n if (params.dynamicBullets) {\n bulletSize = elementOuterSize(bullets[0], swiper.isHorizontal() ? 'width' : 'height', true);\n el.forEach(subEl => {\n subEl.style[swiper.isHorizontal() ? 'width' : 'height'] = `${bulletSize * (params.dynamicMainBullets + 4)}px`;\n });\n if (params.dynamicMainBullets > 1 && swiper.previousIndex !== undefined) {\n dynamicBulletIndex += current - (swiper.previousIndex || 0);\n if (dynamicBulletIndex > params.dynamicMainBullets - 1) {\n dynamicBulletIndex = params.dynamicMainBullets - 1;\n } else if (dynamicBulletIndex < 0) {\n dynamicBulletIndex = 0;\n }\n }\n firstIndex = Math.max(current - dynamicBulletIndex, 0);\n lastIndex = firstIndex + (Math.min(bullets.length, params.dynamicMainBullets) - 1);\n midIndex = (lastIndex + firstIndex) / 2;\n }\n bullets.forEach(bulletEl => {\n bulletEl.classList.remove(...['', '-next', '-next-next', '-prev', '-prev-prev', '-main'].map(suffix => `${params.bulletActiveClass}${suffix}`));\n });\n if (el.length > 1) {\n bullets.forEach(bullet => {\n const bulletIndex = elementIndex(bullet);\n if (bulletIndex === current) {\n bullet.classList.add(params.bulletActiveClass);\n }\n if (params.dynamicBullets) {\n if (bulletIndex >= firstIndex && bulletIndex <= lastIndex) {\n bullet.classList.add(`${params.bulletActiveClass}-main`);\n }\n if (bulletIndex === firstIndex) {\n setSideBullets(bullet, 'prev');\n }\n if (bulletIndex === lastIndex) {\n setSideBullets(bullet, 'next');\n }\n }\n });\n } else {\n const bullet = bullets[current];\n if (bullet) {\n bullet.classList.add(params.bulletActiveClass);\n }\n if (params.dynamicBullets) {\n const firstDisplayedBullet = bullets[firstIndex];\n const lastDisplayedBullet = bullets[lastIndex];\n for (let i = firstIndex; i <= lastIndex; i += 1) {\n bullets[i].classList.add(`${params.bulletActiveClass}-main`);\n }\n setSideBullets(firstDisplayedBullet, 'prev');\n setSideBullets(lastDisplayedBullet, 'next');\n }\n }\n if (params.dynamicBullets) {\n const dynamicBulletsLength = Math.min(bullets.length, params.dynamicMainBullets + 4);\n const bulletsOffset = (bulletSize * dynamicBulletsLength - bulletSize) / 2 - midIndex * bulletSize;\n const offsetProp = rtl ? 'right' : 'left';\n bullets.forEach(bullet => {\n bullet.style[swiper.isHorizontal() ? offsetProp : 'top'] = `${bulletsOffset}px`;\n });\n }\n }\n el.forEach((subEl, subElIndex) => {\n if (params.type === 'fraction') {\n subEl.querySelectorAll(classesToSelector(params.currentClass)).forEach(fractionEl => {\n fractionEl.textContent = params.formatFractionCurrent(current + 1);\n });\n subEl.querySelectorAll(classesToSelector(params.totalClass)).forEach(totalEl => {\n totalEl.textContent = params.formatFractionTotal(total);\n });\n }\n if (params.type === 'progressbar') {\n let progressbarDirection;\n if (params.progressbarOpposite) {\n progressbarDirection = swiper.isHorizontal() ? 'vertical' : 'horizontal';\n } else {\n progressbarDirection = swiper.isHorizontal() ? 'horizontal' : 'vertical';\n }\n const scale = (current + 1) / total;\n let scaleX = 1;\n let scaleY = 1;\n if (progressbarDirection === 'horizontal') {\n scaleX = scale;\n } else {\n scaleY = scale;\n }\n subEl.querySelectorAll(classesToSelector(params.progressbarFillClass)).forEach(progressEl => {\n progressEl.style.transform = `translate3d(0,0,0) scaleX(${scaleX}) scaleY(${scaleY})`;\n progressEl.style.transitionDuration = `${swiper.params.speed}ms`;\n });\n }\n if (params.type === 'custom' && params.renderCustom) {\n subEl.innerHTML = params.renderCustom(swiper, current + 1, total);\n if (subElIndex === 0) emit('paginationRender', subEl);\n } else {\n if (subElIndex === 0) emit('paginationRender', subEl);\n emit('paginationUpdate', subEl);\n }\n if (swiper.params.watchOverflow && swiper.enabled) {\n subEl.classList[swiper.isLocked ? 'add' : 'remove'](params.lockClass);\n }\n });\n }\n function render() {\n // Render Container\n const params = swiper.params.pagination;\n if (isPaginationDisabled()) return;\n const slidesLength = swiper.virtual && swiper.params.virtual.enabled ? swiper.virtual.slides.length : swiper.slides.length;\n let el = swiper.pagination.el;\n el = makeElementsArray(el);\n let paginationHTML = '';\n if (params.type === 'bullets') {\n let numberOfBullets = swiper.params.loop ? Math.ceil(slidesLength / swiper.params.slidesPerGroup) : swiper.snapGrid.length;\n if (swiper.params.freeMode && swiper.params.freeMode.enabled && numberOfBullets > slidesLength) {\n numberOfBullets = slidesLength;\n }\n for (let i = 0; i < numberOfBullets; i += 1) {\n if (params.renderBullet) {\n paginationHTML += params.renderBullet.call(swiper, i, params.bulletClass);\n } else {\n paginationHTML += `<${params.bulletElement} class=\"${params.bulletClass}\">`;\n }\n }\n }\n if (params.type === 'fraction') {\n if (params.renderFraction) {\n paginationHTML = params.renderFraction.call(swiper, params.currentClass, params.totalClass);\n } else {\n paginationHTML = `` + ' / ' + ``;\n }\n }\n if (params.type === 'progressbar') {\n if (params.renderProgressbar) {\n paginationHTML = params.renderProgressbar.call(swiper, params.progressbarFillClass);\n } else {\n paginationHTML = ``;\n }\n }\n el.forEach(subEl => {\n if (params.type !== 'custom') {\n subEl.innerHTML = paginationHTML || '';\n }\n if (params.type === 'bullets') {\n swiper.pagination.bullets = [...subEl.querySelectorAll(classesToSelector(params.bulletClass))];\n }\n });\n if (params.type !== 'custom') {\n emit('paginationRender', el[0]);\n }\n }\n function init() {\n swiper.params.pagination = createElementIfNotDefined(swiper, swiper.originalParams.pagination, swiper.params.pagination, {\n el: 'swiper-pagination'\n });\n const params = swiper.params.pagination;\n if (!params.el) return;\n let el;\n if (typeof params.el === 'string' && swiper.isElement) {\n el = swiper.el.shadowRoot.querySelector(params.el);\n }\n if (!el && typeof params.el === 'string') {\n el = [...document.querySelectorAll(params.el)];\n }\n if (!el) {\n el = params.el;\n }\n if (!el || el.length === 0) return;\n if (swiper.params.uniqueNavElements && typeof params.el === 'string' && Array.isArray(el) && el.length > 1) {\n el = [...swiper.el.querySelectorAll(params.el)];\n // check if it belongs to another nested Swiper\n if (el.length > 1) {\n el = el.filter(subEl => {\n if (elementParents(subEl, '.swiper')[0] !== swiper.el) return false;\n return true;\n })[0];\n }\n }\n if (Array.isArray(el) && el.length === 1) el = el[0];\n Object.assign(swiper.pagination, {\n el\n });\n el = makeElementsArray(el);\n el.forEach(subEl => {\n if (params.type === 'bullets' && params.clickable) {\n subEl.classList.add(params.clickableClass);\n }\n subEl.classList.add(params.modifierClass + params.type);\n subEl.classList.add(swiper.isHorizontal() ? params.horizontalClass : params.verticalClass);\n if (params.type === 'bullets' && params.dynamicBullets) {\n subEl.classList.add(`${params.modifierClass}${params.type}-dynamic`);\n dynamicBulletIndex = 0;\n if (params.dynamicMainBullets < 1) {\n params.dynamicMainBullets = 1;\n }\n }\n if (params.type === 'progressbar' && params.progressbarOpposite) {\n subEl.classList.add(params.progressbarOppositeClass);\n }\n if (params.clickable) {\n subEl.addEventListener('click', onBulletClick);\n }\n if (!swiper.enabled) {\n subEl.classList.add(params.lockClass);\n }\n });\n }\n function destroy() {\n const params = swiper.params.pagination;\n if (isPaginationDisabled()) return;\n let el = swiper.pagination.el;\n if (el) {\n el = makeElementsArray(el);\n el.forEach(subEl => {\n subEl.classList.remove(params.hiddenClass);\n subEl.classList.remove(params.modifierClass + params.type);\n subEl.classList.remove(swiper.isHorizontal() ? params.horizontalClass : params.verticalClass);\n if (params.clickable) {\n subEl.removeEventListener('click', onBulletClick);\n }\n });\n }\n if (swiper.pagination.bullets) swiper.pagination.bullets.forEach(subEl => subEl.classList.remove(params.bulletActiveClass));\n }\n on('init', () => {\n if (swiper.params.pagination.enabled === false) {\n // eslint-disable-next-line\n disable();\n } else {\n init();\n render();\n update();\n }\n });\n on('activeIndexChange', () => {\n if (typeof swiper.snapIndex === 'undefined') {\n update();\n }\n });\n on('snapIndexChange', () => {\n update();\n });\n on('snapGridLengthChange', () => {\n render();\n update();\n });\n on('destroy', () => {\n destroy();\n });\n on('enable disable', () => {\n let {\n el\n } = swiper.pagination;\n if (el) {\n el = makeElementsArray(el);\n el.forEach(subEl => subEl.classList[swiper.enabled ? 'remove' : 'add'](swiper.params.pagination.lockClass));\n }\n });\n on('lock unlock', () => {\n update();\n });\n on('click', (_s, e) => {\n const targetEl = e.target;\n let {\n el\n } = swiper.pagination;\n if (!Array.isArray(el)) el = [el].filter(element => !!element);\n if (swiper.params.pagination.el && swiper.params.pagination.hideOnClick && el && el.length > 0 && !targetEl.classList.contains(swiper.params.pagination.bulletClass)) {\n if (swiper.navigation && (swiper.navigation.nextEl && targetEl === swiper.navigation.nextEl || swiper.navigation.prevEl && targetEl === swiper.navigation.prevEl)) return;\n const isHidden = el[0].classList.contains(swiper.params.pagination.hiddenClass);\n if (isHidden === true) {\n emit('paginationShow');\n } else {\n emit('paginationHide');\n }\n el.forEach(subEl => subEl.classList.toggle(swiper.params.pagination.hiddenClass));\n }\n });\n const enable = () => {\n swiper.el.classList.remove(swiper.params.pagination.paginationDisabledClass);\n let {\n el\n } = swiper.pagination;\n if (el) {\n el = makeElementsArray(el);\n el.forEach(subEl => subEl.classList.remove(swiper.params.pagination.paginationDisabledClass));\n }\n init();\n render();\n update();\n };\n const disable = () => {\n swiper.el.classList.add(swiper.params.pagination.paginationDisabledClass);\n let {\n el\n } = swiper.pagination;\n if (el) {\n el = makeElementsArray(el);\n el.forEach(subEl => subEl.classList.add(swiper.params.pagination.paginationDisabledClass));\n }\n destroy();\n };\n Object.assign(swiper.pagination, {\n enable,\n disable,\n render,\n update,\n init,\n destroy\n });\n}","/* eslint no-underscore-dangle: \"off\" */\n/* eslint no-use-before-define: \"off\" */\nimport { getDocument } from 'ssr-window';\nexport default function Autoplay({\n swiper,\n extendParams,\n on,\n emit,\n params\n}) {\n swiper.autoplay = {\n running: false,\n paused: false,\n timeLeft: 0\n };\n extendParams({\n autoplay: {\n enabled: false,\n delay: 3000,\n waitForTransition: true,\n disableOnInteraction: true,\n stopOnLastSlide: false,\n reverseDirection: false,\n pauseOnMouseEnter: false\n }\n });\n let timeout;\n let raf;\n let autoplayDelayTotal = params && params.autoplay ? params.autoplay.delay : 3000;\n let autoplayDelayCurrent = params && params.autoplay ? params.autoplay.delay : 3000;\n let autoplayTimeLeft;\n let autoplayStartTime = new Date().getTime;\n let wasPaused;\n let isTouched;\n let pausedByTouch;\n let touchStartTimeout;\n let slideChanged;\n let pausedByInteraction;\n function onTransitionEnd(e) {\n if (!swiper || swiper.destroyed || !swiper.wrapperEl) return;\n if (e.target !== swiper.wrapperEl) return;\n swiper.wrapperEl.removeEventListener('transitionend', onTransitionEnd);\n resume();\n }\n const calcTimeLeft = () => {\n if (swiper.destroyed || !swiper.autoplay.running) return;\n if (swiper.autoplay.paused) {\n wasPaused = true;\n } else if (wasPaused) {\n autoplayDelayCurrent = autoplayTimeLeft;\n wasPaused = false;\n }\n const timeLeft = swiper.autoplay.paused ? autoplayTimeLeft : autoplayStartTime + autoplayDelayCurrent - new Date().getTime();\n swiper.autoplay.timeLeft = timeLeft;\n emit('autoplayTimeLeft', timeLeft, timeLeft / autoplayDelayTotal);\n raf = requestAnimationFrame(() => {\n calcTimeLeft();\n });\n };\n const getSlideDelay = () => {\n let activeSlideEl;\n if (swiper.virtual && swiper.params.virtual.enabled) {\n activeSlideEl = swiper.slides.filter(slideEl => slideEl.classList.contains('swiper-slide-active'))[0];\n } else {\n activeSlideEl = swiper.slides[swiper.activeIndex];\n }\n if (!activeSlideEl) return undefined;\n const currentSlideDelay = parseInt(activeSlideEl.getAttribute('data-swiper-autoplay'), 10);\n return currentSlideDelay;\n };\n const run = delayForce => {\n if (swiper.destroyed || !swiper.autoplay.running) return;\n cancelAnimationFrame(raf);\n calcTimeLeft();\n let delay = typeof delayForce === 'undefined' ? swiper.params.autoplay.delay : delayForce;\n autoplayDelayTotal = swiper.params.autoplay.delay;\n autoplayDelayCurrent = swiper.params.autoplay.delay;\n const currentSlideDelay = getSlideDelay();\n if (!Number.isNaN(currentSlideDelay) && currentSlideDelay > 0 && typeof delayForce === 'undefined') {\n delay = currentSlideDelay;\n autoplayDelayTotal = currentSlideDelay;\n autoplayDelayCurrent = currentSlideDelay;\n }\n autoplayTimeLeft = delay;\n const speed = swiper.params.speed;\n const proceed = () => {\n if (!swiper || swiper.destroyed) return;\n if (swiper.params.autoplay.reverseDirection) {\n if (!swiper.isBeginning || swiper.params.loop || swiper.params.rewind) {\n swiper.slidePrev(speed, true, true);\n emit('autoplay');\n } else if (!swiper.params.autoplay.stopOnLastSlide) {\n swiper.slideTo(swiper.slides.length - 1, speed, true, true);\n emit('autoplay');\n }\n } else {\n if (!swiper.isEnd || swiper.params.loop || swiper.params.rewind) {\n swiper.slideNext(speed, true, true);\n emit('autoplay');\n } else if (!swiper.params.autoplay.stopOnLastSlide) {\n swiper.slideTo(0, speed, true, true);\n emit('autoplay');\n }\n }\n if (swiper.params.cssMode) {\n autoplayStartTime = new Date().getTime();\n requestAnimationFrame(() => {\n run();\n });\n }\n };\n if (delay > 0) {\n clearTimeout(timeout);\n timeout = setTimeout(() => {\n proceed();\n }, delay);\n } else {\n requestAnimationFrame(() => {\n proceed();\n });\n }\n\n // eslint-disable-next-line\n return delay;\n };\n const start = () => {\n swiper.autoplay.running = true;\n run();\n emit('autoplayStart');\n };\n const stop = () => {\n swiper.autoplay.running = false;\n clearTimeout(timeout);\n cancelAnimationFrame(raf);\n emit('autoplayStop');\n };\n const pause = (internal, reset) => {\n if (swiper.destroyed || !swiper.autoplay.running) return;\n clearTimeout(timeout);\n if (!internal) {\n pausedByInteraction = true;\n }\n const proceed = () => {\n emit('autoplayPause');\n if (swiper.params.autoplay.waitForTransition) {\n swiper.wrapperEl.addEventListener('transitionend', onTransitionEnd);\n } else {\n resume();\n }\n };\n swiper.autoplay.paused = true;\n if (reset) {\n if (slideChanged) {\n autoplayTimeLeft = swiper.params.autoplay.delay;\n }\n slideChanged = false;\n proceed();\n return;\n }\n const delay = autoplayTimeLeft || swiper.params.autoplay.delay;\n autoplayTimeLeft = delay - (new Date().getTime() - autoplayStartTime);\n if (swiper.isEnd && autoplayTimeLeft < 0 && !swiper.params.loop) return;\n if (autoplayTimeLeft < 0) autoplayTimeLeft = 0;\n proceed();\n };\n const resume = () => {\n if (swiper.isEnd && autoplayTimeLeft < 0 && !swiper.params.loop || swiper.destroyed || !swiper.autoplay.running) return;\n autoplayStartTime = new Date().getTime();\n if (pausedByInteraction) {\n pausedByInteraction = false;\n run(autoplayTimeLeft);\n } else {\n run();\n }\n swiper.autoplay.paused = false;\n emit('autoplayResume');\n };\n const onVisibilityChange = () => {\n if (swiper.destroyed || !swiper.autoplay.running) return;\n const document = getDocument();\n if (document.visibilityState === 'hidden') {\n pausedByInteraction = true;\n pause(true);\n }\n if (document.visibilityState === 'visible') {\n resume();\n }\n };\n const onPointerEnter = e => {\n if (e.pointerType !== 'mouse') return;\n pausedByInteraction = true;\n pause(true);\n };\n const onPointerLeave = e => {\n if (e.pointerType !== 'mouse') return;\n if (swiper.autoplay.paused) {\n resume();\n }\n };\n const attachMouseEvents = () => {\n if (swiper.params.autoplay.pauseOnMouseEnter) {\n swiper.el.addEventListener('pointerenter', onPointerEnter);\n swiper.el.addEventListener('pointerleave', onPointerLeave);\n }\n };\n const detachMouseEvents = () => {\n swiper.el.removeEventListener('pointerenter', onPointerEnter);\n swiper.el.removeEventListener('pointerleave', onPointerLeave);\n };\n const attachDocumentEvents = () => {\n const document = getDocument();\n document.addEventListener('visibilitychange', onVisibilityChange);\n };\n const detachDocumentEvents = () => {\n const document = getDocument();\n document.removeEventListener('visibilitychange', onVisibilityChange);\n };\n on('init', () => {\n if (swiper.params.autoplay.enabled) {\n attachMouseEvents();\n attachDocumentEvents();\n autoplayStartTime = new Date().getTime();\n start();\n }\n });\n on('destroy', () => {\n detachMouseEvents();\n detachDocumentEvents();\n if (swiper.autoplay.running) {\n stop();\n }\n });\n on('beforeTransitionStart', (_s, speed, internal) => {\n if (swiper.destroyed || !swiper.autoplay.running) return;\n if (internal || !swiper.params.autoplay.disableOnInteraction) {\n pause(true, true);\n } else {\n stop();\n }\n });\n on('sliderFirstMove', () => {\n if (swiper.destroyed || !swiper.autoplay.running) return;\n if (swiper.params.autoplay.disableOnInteraction) {\n stop();\n return;\n }\n isTouched = true;\n pausedByTouch = false;\n pausedByInteraction = false;\n touchStartTimeout = setTimeout(() => {\n pausedByInteraction = true;\n pausedByTouch = true;\n pause(true);\n }, 200);\n });\n on('touchEnd', () => {\n if (swiper.destroyed || !swiper.autoplay.running || !isTouched) return;\n clearTimeout(touchStartTimeout);\n clearTimeout(timeout);\n if (swiper.params.autoplay.disableOnInteraction) {\n pausedByTouch = false;\n isTouched = false;\n return;\n }\n if (pausedByTouch && swiper.params.cssMode) resume();\n pausedByTouch = false;\n isTouched = false;\n });\n on('slideChange', () => {\n if (swiper.destroyed || !swiper.autoplay.running) return;\n slideChanged = true;\n });\n Object.assign(swiper.autoplay, {\n start,\n stop,\n pause,\n resume\n });\n}","function isObject(o) {\n return typeof o === 'object' && o !== null && o.constructor && Object.prototype.toString.call(o).slice(8, -1) === 'Object';\n}\nfunction extend(target, src) {\n const noExtend = ['__proto__', 'constructor', 'prototype'];\n Object.keys(src).filter(key => noExtend.indexOf(key) < 0).forEach(key => {\n if (typeof target[key] === 'undefined') target[key] = src[key];else if (isObject(src[key]) && isObject(target[key]) && Object.keys(src[key]).length > 0) {\n if (src[key].__swiper__) target[key] = src[key];else extend(target[key], src[key]);\n } else {\n target[key] = src[key];\n }\n });\n}\nfunction needsNavigation(params = {}) {\n return params.navigation && typeof params.navigation.nextEl === 'undefined' && typeof params.navigation.prevEl === 'undefined';\n}\nfunction needsPagination(params = {}) {\n return params.pagination && typeof params.pagination.el === 'undefined';\n}\nfunction needsScrollbar(params = {}) {\n return params.scrollbar && typeof params.scrollbar.el === 'undefined';\n}\nfunction uniqueClasses(classNames = '') {\n const classes = classNames.split(' ').map(c => c.trim()).filter(c => !!c);\n const unique = [];\n classes.forEach(c => {\n if (unique.indexOf(c) < 0) unique.push(c);\n });\n return unique.join(' ');\n}\nfunction attrToProp(attrName = '') {\n return attrName.replace(/-[a-z]/g, l => l.toUpperCase().replace('-', ''));\n}\nfunction wrapperClass(className = '') {\n if (!className) return 'swiper-wrapper';\n if (!className.includes('swiper-wrapper')) return `swiper-wrapper ${className}`;\n return className;\n}\nexport { isObject, extend, needsNavigation, needsPagination, needsScrollbar, uniqueClasses, attrToProp, wrapperClass };","/* underscore in name -> watch for changes */\nconst paramsList = ['modules', 'init', '_direction', 'oneWayMovement', 'touchEventsTarget', 'initialSlide', '_speed', 'cssMode', 'updateOnWindowResize', 'resizeObserver', 'nested', 'focusableElements', '_enabled', '_width', '_height', 'preventInteractionOnTransition', 'userAgent', 'url', '_edgeSwipeDetection', '_edgeSwipeThreshold', '_freeMode', '_autoHeight', 'setWrapperSize', 'virtualTranslate', '_effect', 'breakpoints', '_spaceBetween', '_slidesPerView', 'maxBackfaceHiddenSlides', '_grid', '_slidesPerGroup', '_slidesPerGroupSkip', '_slidesPerGroupAuto', '_centeredSlides', '_centeredSlidesBounds', '_slidesOffsetBefore', '_slidesOffsetAfter', 'normalizeSlideIndex', '_centerInsufficientSlides', '_watchOverflow', 'roundLengths', 'touchRatio', 'touchAngle', 'simulateTouch', '_shortSwipes', '_longSwipes', 'longSwipesRatio', 'longSwipesMs', '_followFinger', 'allowTouchMove', '_threshold', 'touchMoveStopPropagation', 'touchStartPreventDefault', 'touchStartForcePreventDefault', 'touchReleaseOnEdges', 'uniqueNavElements', '_resistance', '_resistanceRatio', '_watchSlidesProgress', '_grabCursor', 'preventClicks', 'preventClicksPropagation', '_slideToClickedSlide', '_loop', 'loopedSlides', 'loopPreventsSliding', '_rewind', '_allowSlidePrev', '_allowSlideNext', '_swipeHandler', '_noSwiping', 'noSwipingClass', 'noSwipingSelector', 'passiveListeners', 'containerModifierClass', 'slideClass', 'slideActiveClass', 'slideVisibleClass', 'slideNextClass', 'slidePrevClass', 'wrapperClass', 'lazyPreloaderClass', 'runCallbacksOnInit', 'observer', 'observeParents', 'observeSlideChildren',\n// modules\n'a11y', '_autoplay', '_controller', 'coverflowEffect', 'cubeEffect', 'fadeEffect', 'flipEffect', 'creativeEffect', 'cardsEffect', 'hashNavigation', 'history', 'keyboard', 'mousewheel', '_navigation', '_pagination', 'parallax', '_scrollbar', '_thumbs', 'virtual', 'zoom', 'control', 'injectStyles', 'injectStylesUrls'];\nexport { paramsList };","import React from 'react';\nfunction isChildSwiperSlide(child) {\n return child.type && child.type.displayName && child.type.displayName.includes('SwiperSlide');\n}\nfunction processChildren(c) {\n const slides = [];\n React.Children.toArray(c).forEach(child => {\n if (isChildSwiperSlide(child)) {\n slides.push(child);\n } else if (child.props && child.props.children) {\n processChildren(child.props.children).forEach(slide => slides.push(slide));\n }\n });\n return slides;\n}\nfunction getChildren(c) {\n const slides = [];\n const slots = {\n 'container-start': [],\n 'container-end': [],\n 'wrapper-start': [],\n 'wrapper-end': []\n };\n React.Children.toArray(c).forEach(child => {\n if (isChildSwiperSlide(child)) {\n slides.push(child);\n } else if (child.props && child.props.slot && slots[child.props.slot]) {\n slots[child.props.slot].push(child);\n } else if (child.props && child.props.children) {\n const foundSlides = processChildren(child.props.children);\n if (foundSlides.length > 0) {\n foundSlides.forEach(slide => slides.push(slide));\n } else {\n slots['container-end'].push(child);\n }\n } else {\n slots['container-end'].push(child);\n }\n });\n return {\n slides,\n slots\n };\n}\nexport { getChildren };","import { useEffect, useLayoutEffect } from 'react';\nfunction useIsomorphicLayoutEffect(callback, deps) {\n // eslint-disable-next-line\n if (typeof window === 'undefined') return useEffect(callback, deps);\n return useLayoutEffect(callback, deps);\n}\nexport { useIsomorphicLayoutEffect };","import { createContext, useContext } from 'react';\nexport const SwiperSlideContext = /*#__PURE__*/createContext(null);\nexport const useSwiperSlide = () => {\n return useContext(SwiperSlideContext);\n};\nexport const SwiperContext = /*#__PURE__*/createContext(null);\nexport const useSwiper = () => {\n return useContext(SwiperContext);\n};","function _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\nimport React, { useRef, useState, useEffect, forwardRef } from 'react';\nimport SwiperCore from 'swiper';\nimport { getParams } from '../components-shared/get-params.js';\nimport { mountSwiper } from '../components-shared/mount-swiper.js';\nimport { needsScrollbar, needsNavigation, needsPagination, uniqueClasses, extend, wrapperClass } from '../components-shared/utils.js';\nimport { getChangedParams } from '../components-shared/get-changed-params.js';\nimport { getChildren } from './get-children.js';\nimport { updateSwiper } from '../components-shared/update-swiper.js';\nimport { renderVirtual } from './virtual.js';\nimport { updateOnVirtualData } from '../components-shared/update-on-virtual-data.js';\nimport { useIsomorphicLayoutEffect } from './use-isomorphic-layout-effect.js';\nimport { SwiperContext } from './context.js';\nconst Swiper = /*#__PURE__*/forwardRef(function (_temp, externalElRef) {\n let {\n className,\n tag: Tag = 'div',\n wrapperTag: WrapperTag = 'div',\n children,\n onSwiper,\n ...rest\n } = _temp === void 0 ? {} : _temp;\n let eventsAssigned = false;\n const [containerClasses, setContainerClasses] = useState('swiper');\n const [virtualData, setVirtualData] = useState(null);\n const [breakpointChanged, setBreakpointChanged] = useState(false);\n const initializedRef = useRef(false);\n const swiperElRef = useRef(null);\n const swiperRef = useRef(null);\n const oldPassedParamsRef = useRef(null);\n const oldSlides = useRef(null);\n const nextElRef = useRef(null);\n const prevElRef = useRef(null);\n const paginationElRef = useRef(null);\n const scrollbarElRef = useRef(null);\n const {\n params: swiperParams,\n passedParams,\n rest: restProps,\n events\n } = getParams(rest);\n const {\n slides,\n slots\n } = getChildren(children);\n const onBeforeBreakpoint = () => {\n setBreakpointChanged(!breakpointChanged);\n };\n Object.assign(swiperParams.on, {\n _containerClasses(swiper, classes) {\n setContainerClasses(classes);\n }\n });\n const initSwiper = () => {\n // init swiper\n Object.assign(swiperParams.on, events);\n eventsAssigned = true;\n const passParams = {\n ...swiperParams\n };\n delete passParams.wrapperClass;\n swiperRef.current = new SwiperCore(passParams);\n if (swiperRef.current.virtual && swiperRef.current.params.virtual.enabled) {\n swiperRef.current.virtual.slides = slides;\n const extendWith = {\n cache: false,\n slides,\n renderExternal: setVirtualData,\n renderExternalUpdate: false\n };\n extend(swiperRef.current.params.virtual, extendWith);\n extend(swiperRef.current.originalParams.virtual, extendWith);\n }\n };\n if (!swiperElRef.current) {\n initSwiper();\n }\n\n // Listen for breakpoints change\n if (swiperRef.current) {\n swiperRef.current.on('_beforeBreakpoint', onBeforeBreakpoint);\n }\n const attachEvents = () => {\n if (eventsAssigned || !events || !swiperRef.current) return;\n Object.keys(events).forEach(eventName => {\n swiperRef.current.on(eventName, events[eventName]);\n });\n };\n const detachEvents = () => {\n if (!events || !swiperRef.current) return;\n Object.keys(events).forEach(eventName => {\n swiperRef.current.off(eventName, events[eventName]);\n });\n };\n useEffect(() => {\n return () => {\n if (swiperRef.current) swiperRef.current.off('_beforeBreakpoint', onBeforeBreakpoint);\n };\n });\n\n // set initialized flag\n useEffect(() => {\n if (!initializedRef.current && swiperRef.current) {\n swiperRef.current.emitSlidesClasses();\n initializedRef.current = true;\n }\n });\n\n // mount swiper\n useIsomorphicLayoutEffect(() => {\n if (externalElRef) {\n externalElRef.current = swiperElRef.current;\n }\n if (!swiperElRef.current) return;\n if (swiperRef.current.destroyed) {\n initSwiper();\n }\n mountSwiper({\n el: swiperElRef.current,\n nextEl: nextElRef.current,\n prevEl: prevElRef.current,\n paginationEl: paginationElRef.current,\n scrollbarEl: scrollbarElRef.current,\n swiper: swiperRef.current\n }, swiperParams);\n if (onSwiper) onSwiper(swiperRef.current);\n // eslint-disable-next-line\n return () => {\n if (swiperRef.current && !swiperRef.current.destroyed) {\n swiperRef.current.destroy(true, false);\n }\n };\n }, []);\n\n // watch for params change\n useIsomorphicLayoutEffect(() => {\n attachEvents();\n const changedParams = getChangedParams(passedParams, oldPassedParamsRef.current, slides, oldSlides.current, c => c.key);\n oldPassedParamsRef.current = passedParams;\n oldSlides.current = slides;\n if (changedParams.length && swiperRef.current && !swiperRef.current.destroyed) {\n updateSwiper({\n swiper: swiperRef.current,\n slides,\n passedParams,\n changedParams,\n nextEl: nextElRef.current,\n prevEl: prevElRef.current,\n scrollbarEl: scrollbarElRef.current,\n paginationEl: paginationElRef.current\n });\n }\n return () => {\n detachEvents();\n };\n });\n\n // update on virtual update\n useIsomorphicLayoutEffect(() => {\n updateOnVirtualData(swiperRef.current);\n }, [virtualData]);\n\n // bypass swiper instance to slides\n function renderSlides() {\n if (swiperParams.virtual) {\n return renderVirtual(swiperRef.current, slides, virtualData);\n }\n return slides.map((child, index) => {\n return /*#__PURE__*/React.cloneElement(child, {\n swiper: swiperRef.current,\n swiperSlideIndex: index\n });\n });\n }\n return /*#__PURE__*/React.createElement(Tag, _extends({\n ref: swiperElRef,\n className: uniqueClasses(`${containerClasses}${className ? ` ${className}` : ''}`)\n }, restProps), /*#__PURE__*/React.createElement(SwiperContext.Provider, {\n value: swiperRef.current\n }, slots['container-start'], /*#__PURE__*/React.createElement(WrapperTag, {\n className: wrapperClass(swiperParams.wrapperClass)\n }, slots['wrapper-start'], renderSlides(), slots['wrapper-end']), needsNavigation(swiperParams) && /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(\"div\", {\n ref: prevElRef,\n className: \"swiper-button-prev\"\n }), /*#__PURE__*/React.createElement(\"div\", {\n ref: nextElRef,\n className: \"swiper-button-next\"\n })), needsScrollbar(swiperParams) && /*#__PURE__*/React.createElement(\"div\", {\n ref: scrollbarElRef,\n className: \"swiper-scrollbar\"\n }), needsPagination(swiperParams) && /*#__PURE__*/React.createElement(\"div\", {\n ref: paginationElRef,\n className: \"swiper-pagination\"\n }), slots['container-end']));\n});\nSwiper.displayName = 'Swiper';\nexport { Swiper };","import Swiper from 'swiper';\nimport { isObject, extend } from './utils.js';\nimport { paramsList } from './params-list.js';\nfunction getParams(obj = {}, splitEvents = true) {\n const params = {\n on: {}\n };\n const events = {};\n const passedParams = {};\n extend(params, Swiper.defaults);\n extend(params, Swiper.extendedDefaults);\n params._emitClasses = true;\n params.init = false;\n const rest = {};\n const allowedParams = paramsList.map(key => key.replace(/_/, ''));\n const plainObj = Object.assign({}, obj);\n Object.keys(plainObj).forEach(key => {\n if (typeof obj[key] === 'undefined') return;\n if (allowedParams.indexOf(key) >= 0) {\n if (isObject(obj[key])) {\n params[key] = {};\n passedParams[key] = {};\n extend(params[key], obj[key]);\n extend(passedParams[key], obj[key]);\n } else {\n params[key] = obj[key];\n passedParams[key] = obj[key];\n }\n } else if (key.search(/on[A-Z]/) === 0 && typeof obj[key] === 'function') {\n if (splitEvents) {\n events[`${key[2].toLowerCase()}${key.substr(3)}`] = obj[key];\n } else {\n params.on[`${key[2].toLowerCase()}${key.substr(3)}`] = obj[key];\n }\n } else {\n rest[key] = obj[key];\n }\n });\n ['navigation', 'pagination', 'scrollbar'].forEach(key => {\n if (params[key] === true) params[key] = {};\n if (params[key] === false) delete params[key];\n });\n return {\n params,\n passedParams,\n rest,\n events\n };\n}\nexport { getParams };","import { needsNavigation, needsPagination, needsScrollbar } from './utils.js';\nfunction mountSwiper({\n el,\n nextEl,\n prevEl,\n paginationEl,\n scrollbarEl,\n swiper\n}, swiperParams) {\n if (needsNavigation(swiperParams) && nextEl && prevEl) {\n swiper.params.navigation.nextEl = nextEl;\n swiper.originalParams.navigation.nextEl = nextEl;\n swiper.params.navigation.prevEl = prevEl;\n swiper.originalParams.navigation.prevEl = prevEl;\n }\n if (needsPagination(swiperParams) && paginationEl) {\n swiper.params.pagination.el = paginationEl;\n swiper.originalParams.pagination.el = paginationEl;\n }\n if (needsScrollbar(swiperParams) && scrollbarEl) {\n swiper.params.scrollbar.el = scrollbarEl;\n swiper.originalParams.scrollbar.el = scrollbarEl;\n }\n swiper.init(el);\n}\nexport { mountSwiper };","import { paramsList } from './params-list.js';\nimport { isObject } from './utils.js';\nfunction getChangedParams(swiperParams, oldParams, children, oldChildren, getKey) {\n const keys = [];\n if (!oldParams) return keys;\n const addKey = key => {\n if (keys.indexOf(key) < 0) keys.push(key);\n };\n if (children && oldChildren) {\n const oldChildrenKeys = oldChildren.map(getKey);\n const childrenKeys = children.map(getKey);\n if (oldChildrenKeys.join('') !== childrenKeys.join('')) addKey('children');\n if (oldChildren.length !== children.length) addKey('children');\n }\n const watchParams = paramsList.filter(key => key[0] === '_').map(key => key.replace(/_/, ''));\n watchParams.forEach(key => {\n if (key in swiperParams && key in oldParams) {\n if (isObject(swiperParams[key]) && isObject(oldParams[key])) {\n const newKeys = Object.keys(swiperParams[key]);\n const oldKeys = Object.keys(oldParams[key]);\n if (newKeys.length !== oldKeys.length) {\n addKey(key);\n } else {\n newKeys.forEach(newKey => {\n if (swiperParams[key][newKey] !== oldParams[key][newKey]) {\n addKey(key);\n }\n });\n oldKeys.forEach(oldKey => {\n if (swiperParams[key][oldKey] !== oldParams[key][oldKey]) addKey(key);\n });\n }\n } else if (swiperParams[key] !== oldParams[key]) {\n addKey(key);\n }\n }\n });\n return keys;\n}\nexport { getChangedParams };","import { isObject, extend } from './utils.js';\nfunction updateSwiper({\n swiper,\n slides,\n passedParams,\n changedParams,\n nextEl,\n prevEl,\n scrollbarEl,\n paginationEl\n}) {\n const updateParams = changedParams.filter(key => key !== 'children' && key !== 'direction' && key !== 'wrapperClass');\n const {\n params: currentParams,\n pagination,\n navigation,\n scrollbar,\n virtual,\n thumbs\n } = swiper;\n let needThumbsInit;\n let needControllerInit;\n let needPaginationInit;\n let needScrollbarInit;\n let needNavigationInit;\n let loopNeedDestroy;\n let loopNeedEnable;\n let loopNeedReloop;\n if (changedParams.includes('thumbs') && passedParams.thumbs && passedParams.thumbs.swiper && currentParams.thumbs && !currentParams.thumbs.swiper) {\n needThumbsInit = true;\n }\n if (changedParams.includes('controller') && passedParams.controller && passedParams.controller.control && currentParams.controller && !currentParams.controller.control) {\n needControllerInit = true;\n }\n if (changedParams.includes('pagination') && passedParams.pagination && (passedParams.pagination.el || paginationEl) && (currentParams.pagination || currentParams.pagination === false) && pagination && !pagination.el) {\n needPaginationInit = true;\n }\n if (changedParams.includes('scrollbar') && passedParams.scrollbar && (passedParams.scrollbar.el || scrollbarEl) && (currentParams.scrollbar || currentParams.scrollbar === false) && scrollbar && !scrollbar.el) {\n needScrollbarInit = true;\n }\n if (changedParams.includes('navigation') && passedParams.navigation && (passedParams.navigation.prevEl || prevEl) && (passedParams.navigation.nextEl || nextEl) && (currentParams.navigation || currentParams.navigation === false) && navigation && !navigation.prevEl && !navigation.nextEl) {\n needNavigationInit = true;\n }\n const destroyModule = mod => {\n if (!swiper[mod]) return;\n swiper[mod].destroy();\n if (mod === 'navigation') {\n if (swiper.isElement) {\n swiper[mod].prevEl.remove();\n swiper[mod].nextEl.remove();\n }\n currentParams[mod].prevEl = undefined;\n currentParams[mod].nextEl = undefined;\n swiper[mod].prevEl = undefined;\n swiper[mod].nextEl = undefined;\n } else {\n if (swiper.isElement) {\n swiper[mod].el.remove();\n }\n currentParams[mod].el = undefined;\n swiper[mod].el = undefined;\n }\n };\n if (changedParams.includes('loop') && swiper.isElement) {\n if (currentParams.loop && !passedParams.loop) {\n loopNeedDestroy = true;\n } else if (!currentParams.loop && passedParams.loop) {\n loopNeedEnable = true;\n } else {\n loopNeedReloop = true;\n }\n }\n updateParams.forEach(key => {\n if (isObject(currentParams[key]) && isObject(passedParams[key])) {\n extend(currentParams[key], passedParams[key]);\n } else {\n const newValue = passedParams[key];\n if ((newValue === true || newValue === false) && (key === 'navigation' || key === 'pagination' || key === 'scrollbar')) {\n if (newValue === false) {\n destroyModule(key);\n }\n } else {\n currentParams[key] = passedParams[key];\n }\n }\n });\n if (updateParams.includes('controller') && !needControllerInit && swiper.controller && swiper.controller.control && currentParams.controller && currentParams.controller.control) {\n swiper.controller.control = currentParams.controller.control;\n }\n if (changedParams.includes('children') && slides && virtual && currentParams.virtual.enabled) {\n virtual.slides = slides;\n virtual.update(true);\n }\n if (changedParams.includes('children') && slides && currentParams.loop) {\n loopNeedReloop = true;\n }\n if (needThumbsInit) {\n const initialized = thumbs.init();\n if (initialized) thumbs.update(true);\n }\n if (needControllerInit) {\n swiper.controller.control = currentParams.controller.control;\n }\n if (needPaginationInit) {\n if (swiper.isElement && (!paginationEl || typeof paginationEl === 'string')) {\n paginationEl = document.createElement('div');\n paginationEl.classList.add('swiper-pagination');\n swiper.el.shadowEl.appendChild(paginationEl);\n }\n if (paginationEl) currentParams.pagination.el = paginationEl;\n pagination.init();\n pagination.render();\n pagination.update();\n }\n if (needScrollbarInit) {\n if (swiper.isElement && (!scrollbarEl || typeof scrollbarEl === 'string')) {\n scrollbarEl = document.createElement('div');\n scrollbarEl.classList.add('swiper-scrollbar');\n swiper.el.shadowEl.appendChild(scrollbarEl);\n }\n if (scrollbarEl) currentParams.scrollbar.el = scrollbarEl;\n scrollbar.init();\n scrollbar.updateSize();\n scrollbar.setTranslate();\n }\n if (needNavigationInit) {\n if (swiper.isElement) {\n if (!nextEl || typeof nextEl === 'string') {\n nextEl = document.createElement('div');\n nextEl.classList.add('swiper-button-next');\n swiper.el.shadowEl.appendChild(nextEl);\n }\n if (!prevEl || typeof prevEl === 'string') {\n prevEl = document.createElement('div');\n prevEl.classList.add('swiper-button-prev');\n swiper.el.shadowEl.appendChild(prevEl);\n }\n }\n if (nextEl) currentParams.navigation.nextEl = nextEl;\n if (prevEl) currentParams.navigation.prevEl = prevEl;\n navigation.init();\n navigation.update();\n }\n if (changedParams.includes('allowSlideNext')) {\n swiper.allowSlideNext = passedParams.allowSlideNext;\n }\n if (changedParams.includes('allowSlidePrev')) {\n swiper.allowSlidePrev = passedParams.allowSlidePrev;\n }\n if (changedParams.includes('direction')) {\n swiper.changeDirection(passedParams.direction, false);\n }\n if (loopNeedDestroy || loopNeedReloop) {\n swiper.loopDestroy();\n }\n if (loopNeedEnable || loopNeedReloop) {\n swiper.loopCreate();\n }\n swiper.update();\n}\nexport { updateSwiper };","export const updateOnVirtualData = swiper => {\n if (!swiper || swiper.destroyed || !swiper.params.virtual || swiper.params.virtual && !swiper.params.virtual.enabled) return;\n swiper.updateSlides();\n swiper.updateProgress();\n swiper.updateSlidesClasses();\n if (swiper.parallax && swiper.params.parallax && swiper.params.parallax.enabled) {\n swiper.parallax.setTranslate();\n }\n};","import React from 'react';\nfunction renderVirtual(swiper, slides, virtualData) {\n if (!virtualData) return null;\n const getSlideIndex = index => {\n let slideIndex = index;\n if (index < 0) {\n slideIndex = slides.length + index;\n } else if (slideIndex >= slides.length) {\n // eslint-disable-next-line\n slideIndex = slideIndex - slides.length;\n }\n return slideIndex;\n };\n const style = swiper.isHorizontal() ? {\n [swiper.rtlTranslate ? 'right' : 'left']: `${virtualData.offset}px`\n } : {\n top: `${virtualData.offset}px`\n };\n const {\n from,\n to\n } = virtualData;\n const loopFrom = swiper.params.loop ? -slides.length : 0;\n const loopTo = swiper.params.loop ? slides.length * 2 : slides.length;\n const slidesToRender = [];\n for (let i = loopFrom; i < loopTo; i += 1) {\n if (i >= from && i <= to) {\n slidesToRender.push(slides[getSlideIndex(i)]);\n }\n }\n return slidesToRender.map(child => {\n return /*#__PURE__*/React.cloneElement(child, {\n swiper,\n style\n });\n });\n}\nexport { renderVirtual };","function _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\nimport React, { useRef, useState, forwardRef } from 'react';\nimport { uniqueClasses } from '../components-shared/utils.js';\nimport { useIsomorphicLayoutEffect } from './use-isomorphic-layout-effect.js';\nimport { SwiperSlideContext } from './context.js';\nconst SwiperSlide = /*#__PURE__*/forwardRef(function (_temp, externalRef) {\n let {\n tag: Tag = 'div',\n children,\n className = '',\n swiper,\n zoom,\n lazy,\n virtualIndex,\n swiperSlideIndex,\n ...rest\n } = _temp === void 0 ? {} : _temp;\n const slideElRef = useRef(null);\n const [slideClasses, setSlideClasses] = useState('swiper-slide');\n const [lazyLoaded, setLazyLoaded] = useState(false);\n function updateClasses(_s, el, classNames) {\n if (el === slideElRef.current) {\n setSlideClasses(classNames);\n }\n }\n useIsomorphicLayoutEffect(() => {\n if (typeof swiperSlideIndex !== 'undefined') {\n slideElRef.current.swiperSlideIndex = swiperSlideIndex;\n }\n if (externalRef) {\n externalRef.current = slideElRef.current;\n }\n if (!slideElRef.current || !swiper) {\n return;\n }\n if (swiper.destroyed) {\n if (slideClasses !== 'swiper-slide') {\n setSlideClasses('swiper-slide');\n }\n return;\n }\n swiper.on('_slideClass', updateClasses);\n // eslint-disable-next-line\n return () => {\n if (!swiper) return;\n swiper.off('_slideClass', updateClasses);\n };\n });\n useIsomorphicLayoutEffect(() => {\n if (swiper && slideElRef.current && !swiper.destroyed) {\n setSlideClasses(swiper.getSlideClasses(slideElRef.current));\n }\n }, [swiper]);\n const slideData = {\n isActive: slideClasses.indexOf('swiper-slide-active') >= 0,\n isVisible: slideClasses.indexOf('swiper-slide-visible') >= 0,\n isPrev: slideClasses.indexOf('swiper-slide-prev') >= 0,\n isNext: slideClasses.indexOf('swiper-slide-next') >= 0\n };\n const renderChildren = () => {\n return typeof children === 'function' ? children(slideData) : children;\n };\n const onLoad = () => {\n setLazyLoaded(true);\n };\n return /*#__PURE__*/React.createElement(Tag, _extends({\n ref: slideElRef,\n className: uniqueClasses(`${slideClasses}${className ? ` ${className}` : ''}`),\n \"data-swiper-slide-index\": virtualIndex,\n onLoad: onLoad\n }, rest), zoom && /*#__PURE__*/React.createElement(SwiperSlideContext.Provider, {\n value: slideData\n }, /*#__PURE__*/React.createElement(\"div\", {\n className: \"swiper-zoom-container\",\n \"data-swiper-zoom\": typeof zoom === 'number' ? zoom : undefined\n }, renderChildren(), lazy && !lazyLoaded && /*#__PURE__*/React.createElement(\"div\", {\n className: \"swiper-lazy-preloader\"\n }))), !zoom && /*#__PURE__*/React.createElement(SwiperSlideContext.Provider, {\n value: slideData\n }, renderChildren(), lazy && !lazyLoaded && /*#__PURE__*/React.createElement(\"div\", {\n className: \"swiper-lazy-preloader\"\n })));\n});\nSwiperSlide.displayName = 'SwiperSlide';\nexport { SwiperSlide };","import React from \"react\";\r\nexport const clock = () => (React.createElement(\"svg\", { xmlns: \"http://www.w3.org/2000/svg\", width: \"19\", height: \"19\", viewBox: \"0 0 20 20\", fill: \"none\" },\r\n React.createElement(\"g\", { clipPath: \"url(#clip0_16267_16796)\" },\r\n React.createElement(\"path\", { d: \"M0 9C0 4.03385 4.03385 0 9 0C13.9662 0 18 4.03385 18 9C18 13.9662 13.9662 18 9 18C4.03385 18 0 13.9662 0 9Z\", fill: \"#0E1D31\" }),\r\n React.createElement(\"path\", { d: \"M9.00023 4.36621C8.49253 4.36621 8.07715 4.7816 8.07715 5.28929V8.9816C8.07715 9.28621 8.23407 9.5816 8.49253 9.74775L11.2618 11.5939C11.4187 11.6954 11.5941 11.7508 11.7695 11.7508C12.0648 11.7508 12.3602 11.6031 12.5356 11.3354C12.8218 10.9108 12.7018 10.3385 12.2771 10.0524L9.9233 8.48313V5.28929C9.9233 4.7816 9.50792 4.36621 9.00023 4.36621Z\", fill: \"#5EE15A\" })),\r\n React.createElement(\"defs\", null,\r\n React.createElement(\"clipPath\", { id: \"clip0_16267_16796\" },\r\n React.createElement(\"rect\", { width: \"18\", height: \"18\", fill: \"white\" })))));\r\n","import React, { useCallback } from \"react\";\r\nimport { Img } from \"../../../Img\";\r\nimport { clock } from \"../../../svgIcons/clock\";\r\nexport const getTranslation = (word, cultureCode) => {\r\n const translations = {\r\n en: {\r\n All: \"All\",\r\n Beginners: \"Beginners\",\r\n Experienced: \"Experienced\"\r\n },\r\n eu: {\r\n All: \"All\",\r\n Beginners: \"Beginners\",\r\n Experienced: \"Experienced\"\r\n },\r\n uk: {\r\n All: \"All\",\r\n Beginners: \"Beginners\",\r\n Experienced: \"Experienced\"\r\n },\r\n za: {\r\n All: \"All\",\r\n Beginners: \"Beginners\",\r\n Experienced: \"Experienced\"\r\n },\r\n ky: {\r\n All: \"All\",\r\n Beginners: \"Beginners\",\r\n Experienced: \"Experienced\"\r\n },\r\n au: {\r\n All: \"All\",\r\n Beginners: \"Beginners\",\r\n Experienced: \"Experienced\"\r\n },\r\n nz: {\r\n All: \"All\",\r\n Beginners: \"Beginners\",\r\n Experienced: \"Experienced\"\r\n },\r\n ae: {\r\n All: \"All\",\r\n Beginners: \"Beginners\",\r\n Experienced: \"Experienced\"\r\n },\r\n pt: {\r\n All: \"Todos\",\r\n Beginners: \"Iniciantes\",\r\n Experienced: \"Avançado\"\r\n },\r\n latam: {\r\n All: \"Todos\",\r\n Beginners: \"Principiantes\",\r\n Experienced: \"Avanzado\"\r\n },\r\n tw: {\r\n All: \"所有\",\r\n Beginners: \"初學者\",\r\n Experienced: \"進階\"\r\n },\r\n th: {\r\n All: \"ทั้งหมด\",\r\n Beginners: \"ผู้เริ่มต้น\",\r\n Experienced: \"ขั้นสูง\"\r\n },\r\n ar: {\r\n All: \"الكل\",\r\n Beginners: \"مبتدئين\",\r\n Experienced: \"متقدم\"\r\n },\r\n es: {\r\n All: \"Todos\",\r\n Beginners: \"Principiantes\",\r\n Experienced: \"Avanzado\"\r\n },\r\n de: {\r\n All: \"Alle\",\r\n Beginners: \"Anfänger\",\r\n Experienced: \"Fortgeschritten\"\r\n }\r\n };\r\n if (!word) {\r\n return \"\";\r\n }\r\n return translations[cultureCode || \"en\"]?.[word] || word;\r\n};\r\nexport const AcademyArticleCard = (props) => {\r\n const renderDetails = useCallback(() => React.createElement(\"div\", { className: \"academyArticleCard__details caption2-regular color-dark-60\" },\r\n props.articleReadingTime && React.createElement(\"span\", { className: \"centered-container\" },\r\n clock(),\r\n \" \",\r\n React.createElement(\"span\", { style: { marginTop: \"1px\" }, className: \"\" },\r\n props.articleReadingTime,\r\n \" \",\r\n props.articleReadingTimeTimeUnit)),\r\n React.createElement(\"span\", { className: `centered-container academyArticleCard__details-level ${props.articleLevel === \"Beginners\" ? \"academyArticleCard__details-level-beginner\" : \"academyArticleCard__details-level-advanced\"}` },\r\n React.createElement(\"span\", null, getTranslation(props.articleLevel, props.cultureCode)))), [props.articleLevel, props.articleReadingTime, props.articleReadingTimeTimeUnit]);\r\n return (React.createElement(\"div\", { className: `academyArticleCard bg-color-neutral-accent-background ${props.isListView ? \"academyArticleCard--list\" : \"\"} ${props.articleTags && props.articleTags.length > 0\r\n ? \"academyArticleCard__height-with-tags\"\r\n : \"\"}` },\r\n React.createElement(\"a\", { href: props.articleURL, className: \"academyArticleCard__img2\" },\r\n React.createElement(Img, { className: \"academyArticleCard__img\", src: props.imageURL, alt: props.articleImageAlt })),\r\n props.articleCategory !== undefined && React.createElement(\"div\", { className: \"academyArticleCard__tags flex\" }, props.articleCategory?.split(\"|\").map((category, i) => React.createElement(\"a\", { className: \"academyArticleCard__tag color-dark-80 bg-color-neutral-accent-default\", key: `articleBanner__category-${i}`, href: `/${props.culture}${props.categoryLinks?.find(el => el.title.toLowerCase().includes(category.toLowerCase()))?.urlSuffix}` }, props.articleCategoryTranslated?.split(\"|\")[i]))),\r\n React.createElement(\"a\", { href: props.articleURL, className: \"academyArticleCard__title-tag\" },\r\n React.createElement(\"h4\", null, props.articleTitle)),\r\n React.createElement(\"p\", null, props.articleSummary),\r\n renderDetails()));\r\n};\r\n","import React from \"react\";\r\nimport { Container, ContainerFW } from \"../../global\";\r\nimport { Swiper, SwiperSlide, } from \"swiper/react\";\r\nimport { Navigation, Pagination } from \"swiper\";\r\nimport { getColors } from \"../../../utils\";\r\nimport { ButtonV2 } from \"../../ButtonV2\";\r\nimport { AcademyArticleCard } from \"../AcademyArticleCardDeck/AcademyArticleCard/AcademyArticleCard\";\r\nconst MySwiper = (props) => {\r\n const { bgColor } = getColors(props.backgroundColor || \"neutralaccentbackground\");\r\n const [swiper, setSwiper] = React.useState();\r\n const setSwiperInstance = React.useCallback((s) => setSwiper(s), []);\r\n React.useEffect(() => {\r\n if (swiper && props.swiperOff) {\r\n swiper.destroy();\r\n }\r\n }, [swiper, props.swiperOff]);\r\n return (React.createElement(\"div\", { className: \"information-card-dark-deck\" },\r\n React.createElement(ContainerFW, { backgroundColor: bgColor },\r\n React.createElement(\"div\", { className: \"color-dark-default\" },\r\n React.createElement(Container, null,\r\n React.createElement(\"div\", { className: \"information-card-dark-deck__container\" },\r\n React.createElement(\"div\", { className: \"centered-container information-card-dark-deck__title-container\" },\r\n React.createElement(\"div\", { className: \"information-card-dark-deck__title-and-description-container\" },\r\n React.createElement(\"h2\", null, props.title),\r\n React.createElement(\"h5\", { className: \"h5-semi-bold color-dark-80\" }, props.description))),\r\n React.createElement(Swiper, { onSwiper: setSwiperInstance, modules: [Navigation, Pagination], spaceBetween: 24, cssMode: true, slidesPerView: \"auto\", navigation: {\r\n nextEl: \".swiper-button-next\",\r\n prevEl: \".swiper-button-prev\",\r\n } }, props.content.map((item) => React.createElement(SwiperSlide, { key: `information-card-dark-deck-slide-${item.articleTitle}` },\r\n React.createElement(AcademyArticleCard, { ...item })))),\r\n props.buttonText && React.createElement(\"div\", { className: \"centered-container information-card-dark-deck__bottom-container\" },\r\n React.createElement(ButtonV2, { design: props.buttonDesign || \"ghost-medium-wbg\", href: props.buttonUrl }, props.buttonText))))))));\r\n};\r\nexport const InformationCardDarkDeckAcademy = (props) => (React.createElement(React.Fragment, null,\r\n React.createElement(\"div\", { className: \"hide-small hide-medium swiper-off\" },\r\n React.createElement(MySwiper, { ...props, swiperOff: true })),\r\n React.createElement(\"div\", { className: \"hide-large\" },\r\n React.createElement(MySwiper, { ...props, swiperOff: false }))));\r\n","\n/*! pako 2.1.0 https://github.com/nodeca/pako @license (MIT AND Zlib) */\n// (C) 1995-2013 Jean-loup Gailly and Mark Adler\n// (C) 2014-2017 Vitaly Puzrin and Andrey Tupitsin\n//\n// This software is provided 'as-is', without any express or implied\n// warranty. In no event will the authors be held liable for any damages\n// arising from the use of this software.\n//\n// Permission is granted to anyone to use this software for any purpose,\n// including commercial applications, and to alter it and redistribute it\n// freely, subject to the following restrictions:\n//\n// 1. The origin of this software must not be misrepresented; you must not\n// claim that you wrote the original software. If you use this software\n// in a product, an acknowledgment in the product documentation would be\n// appreciated but is not required.\n// 2. Altered source versions must be plainly marked as such, and must not be\n// misrepresented as being the original software.\n// 3. This notice may not be removed or altered from any source distribution.\n\n/* eslint-disable space-unary-ops */\n\n/* Public constants ==========================================================*/\n/* ===========================================================================*/\n\n\n//const Z_FILTERED = 1;\n//const Z_HUFFMAN_ONLY = 2;\n//const Z_RLE = 3;\nconst Z_FIXED$1 = 4;\n//const Z_DEFAULT_STRATEGY = 0;\n\n/* Possible values of the data_type field (though see inflate()) */\nconst Z_BINARY = 0;\nconst Z_TEXT = 1;\n//const Z_ASCII = 1; // = Z_TEXT\nconst Z_UNKNOWN$1 = 2;\n\n/*============================================================================*/\n\n\nfunction zero$1(buf) { let len = buf.length; while (--len >= 0) { buf[len] = 0; } }\n\n// From zutil.h\n\nconst STORED_BLOCK = 0;\nconst STATIC_TREES = 1;\nconst DYN_TREES = 2;\n/* The three kinds of block type */\n\nconst MIN_MATCH$1 = 3;\nconst MAX_MATCH$1 = 258;\n/* The minimum and maximum match lengths */\n\n// From deflate.h\n/* ===========================================================================\n * Internal compression state.\n */\n\nconst LENGTH_CODES$1 = 29;\n/* number of length codes, not counting the special END_BLOCK code */\n\nconst LITERALS$1 = 256;\n/* number of literal bytes 0..255 */\n\nconst L_CODES$1 = LITERALS$1 + 1 + LENGTH_CODES$1;\n/* number of Literal or Length codes, including the END_BLOCK code */\n\nconst D_CODES$1 = 30;\n/* number of distance codes */\n\nconst BL_CODES$1 = 19;\n/* number of codes used to transfer the bit lengths */\n\nconst HEAP_SIZE$1 = 2 * L_CODES$1 + 1;\n/* maximum heap size */\n\nconst MAX_BITS$1 = 15;\n/* All codes must not exceed MAX_BITS bits */\n\nconst Buf_size = 16;\n/* size of bit buffer in bi_buf */\n\n\n/* ===========================================================================\n * Constants\n */\n\nconst MAX_BL_BITS = 7;\n/* Bit length codes must not exceed MAX_BL_BITS bits */\n\nconst END_BLOCK = 256;\n/* end of block literal code */\n\nconst REP_3_6 = 16;\n/* repeat previous bit length 3-6 times (2 bits of repeat count) */\n\nconst REPZ_3_10 = 17;\n/* repeat a zero length 3-10 times (3 bits of repeat count) */\n\nconst REPZ_11_138 = 18;\n/* repeat a zero length 11-138 times (7 bits of repeat count) */\n\n/* eslint-disable comma-spacing,array-bracket-spacing */\nconst extra_lbits = /* extra bits for each length code */\n new Uint8Array([0,0,0,0,0,0,0,0,1,1,1,1,2,2,2,2,3,3,3,3,4,4,4,4,5,5,5,5,0]);\n\nconst extra_dbits = /* extra bits for each distance code */\n new Uint8Array([0,0,0,0,1,1,2,2,3,3,4,4,5,5,6,6,7,7,8,8,9,9,10,10,11,11,12,12,13,13]);\n\nconst extra_blbits = /* extra bits for each bit length code */\n new Uint8Array([0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,3,7]);\n\nconst bl_order =\n new Uint8Array([16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15]);\n/* eslint-enable comma-spacing,array-bracket-spacing */\n\n/* The lengths of the bit length codes are sent in order of decreasing\n * probability, to avoid transmitting the lengths for unused bit length codes.\n */\n\n/* ===========================================================================\n * Local data. These are initialized only once.\n */\n\n// We pre-fill arrays with 0 to avoid uninitialized gaps\n\nconst DIST_CODE_LEN = 512; /* see definition of array dist_code below */\n\n// !!!! Use flat array instead of structure, Freq = i*2, Len = i*2+1\nconst static_ltree = new Array((L_CODES$1 + 2) * 2);\nzero$1(static_ltree);\n/* The static literal tree. Since the bit lengths are imposed, there is no\n * need for the L_CODES extra codes used during heap construction. However\n * The codes 286 and 287 are needed to build a canonical tree (see _tr_init\n * below).\n */\n\nconst static_dtree = new Array(D_CODES$1 * 2);\nzero$1(static_dtree);\n/* The static distance tree. (Actually a trivial tree since all codes use\n * 5 bits.)\n */\n\nconst _dist_code = new Array(DIST_CODE_LEN);\nzero$1(_dist_code);\n/* Distance codes. The first 256 values correspond to the distances\n * 3 .. 258, the last 256 values correspond to the top 8 bits of\n * the 15 bit distances.\n */\n\nconst _length_code = new Array(MAX_MATCH$1 - MIN_MATCH$1 + 1);\nzero$1(_length_code);\n/* length code for each normalized match length (0 == MIN_MATCH) */\n\nconst base_length = new Array(LENGTH_CODES$1);\nzero$1(base_length);\n/* First normalized length for each code (0 = MIN_MATCH) */\n\nconst base_dist = new Array(D_CODES$1);\nzero$1(base_dist);\n/* First normalized distance for each code (0 = distance of 1) */\n\n\nfunction StaticTreeDesc(static_tree, extra_bits, extra_base, elems, max_length) {\n\n this.static_tree = static_tree; /* static tree or NULL */\n this.extra_bits = extra_bits; /* extra bits for each code or NULL */\n this.extra_base = extra_base; /* base index for extra_bits */\n this.elems = elems; /* max number of elements in the tree */\n this.max_length = max_length; /* max bit length for the codes */\n\n // show if `static_tree` has data or dummy - needed for monomorphic objects\n this.has_stree = static_tree && static_tree.length;\n}\n\n\nlet static_l_desc;\nlet static_d_desc;\nlet static_bl_desc;\n\n\nfunction TreeDesc(dyn_tree, stat_desc) {\n this.dyn_tree = dyn_tree; /* the dynamic tree */\n this.max_code = 0; /* largest code with non zero frequency */\n this.stat_desc = stat_desc; /* the corresponding static tree */\n}\n\n\n\nconst d_code = (dist) => {\n\n return dist < 256 ? _dist_code[dist] : _dist_code[256 + (dist >>> 7)];\n};\n\n\n/* ===========================================================================\n * Output a short LSB first on the stream.\n * IN assertion: there is enough room in pendingBuf.\n */\nconst put_short = (s, w) => {\n// put_byte(s, (uch)((w) & 0xff));\n// put_byte(s, (uch)((ush)(w) >> 8));\n s.pending_buf[s.pending++] = (w) & 0xff;\n s.pending_buf[s.pending++] = (w >>> 8) & 0xff;\n};\n\n\n/* ===========================================================================\n * Send a value on a given number of bits.\n * IN assertion: length <= 16 and value fits in length bits.\n */\nconst send_bits = (s, value, length) => {\n\n if (s.bi_valid > (Buf_size - length)) {\n s.bi_buf |= (value << s.bi_valid) & 0xffff;\n put_short(s, s.bi_buf);\n s.bi_buf = value >> (Buf_size - s.bi_valid);\n s.bi_valid += length - Buf_size;\n } else {\n s.bi_buf |= (value << s.bi_valid) & 0xffff;\n s.bi_valid += length;\n }\n};\n\n\nconst send_code = (s, c, tree) => {\n\n send_bits(s, tree[c * 2]/*.Code*/, tree[c * 2 + 1]/*.Len*/);\n};\n\n\n/* ===========================================================================\n * Reverse the first len bits of a code, using straightforward code (a faster\n * method would use a table)\n * IN assertion: 1 <= len <= 15\n */\nconst bi_reverse = (code, len) => {\n\n let res = 0;\n do {\n res |= code & 1;\n code >>>= 1;\n res <<= 1;\n } while (--len > 0);\n return res >>> 1;\n};\n\n\n/* ===========================================================================\n * Flush the bit buffer, keeping at most 7 bits in it.\n */\nconst bi_flush = (s) => {\n\n if (s.bi_valid === 16) {\n put_short(s, s.bi_buf);\n s.bi_buf = 0;\n s.bi_valid = 0;\n\n } else if (s.bi_valid >= 8) {\n s.pending_buf[s.pending++] = s.bi_buf & 0xff;\n s.bi_buf >>= 8;\n s.bi_valid -= 8;\n }\n};\n\n\n/* ===========================================================================\n * Compute the optimal bit lengths for a tree and update the total bit length\n * for the current block.\n * IN assertion: the fields freq and dad are set, heap[heap_max] and\n * above are the tree nodes sorted by increasing frequency.\n * OUT assertions: the field len is set to the optimal bit length, the\n * array bl_count contains the frequencies for each bit length.\n * The length opt_len is updated; static_len is also updated if stree is\n * not null.\n */\nconst gen_bitlen = (s, desc) => {\n// deflate_state *s;\n// tree_desc *desc; /* the tree descriptor */\n\n const tree = desc.dyn_tree;\n const max_code = desc.max_code;\n const stree = desc.stat_desc.static_tree;\n const has_stree = desc.stat_desc.has_stree;\n const extra = desc.stat_desc.extra_bits;\n const base = desc.stat_desc.extra_base;\n const max_length = desc.stat_desc.max_length;\n let h; /* heap index */\n let n, m; /* iterate over the tree elements */\n let bits; /* bit length */\n let xbits; /* extra bits */\n let f; /* frequency */\n let overflow = 0; /* number of elements with bit length too large */\n\n for (bits = 0; bits <= MAX_BITS$1; bits++) {\n s.bl_count[bits] = 0;\n }\n\n /* In a first pass, compute the optimal bit lengths (which may\n * overflow in the case of the bit length tree).\n */\n tree[s.heap[s.heap_max] * 2 + 1]/*.Len*/ = 0; /* root of the heap */\n\n for (h = s.heap_max + 1; h < HEAP_SIZE$1; h++) {\n n = s.heap[h];\n bits = tree[tree[n * 2 + 1]/*.Dad*/ * 2 + 1]/*.Len*/ + 1;\n if (bits > max_length) {\n bits = max_length;\n overflow++;\n }\n tree[n * 2 + 1]/*.Len*/ = bits;\n /* We overwrite tree[n].Dad which is no longer needed */\n\n if (n > max_code) { continue; } /* not a leaf node */\n\n s.bl_count[bits]++;\n xbits = 0;\n if (n >= base) {\n xbits = extra[n - base];\n }\n f = tree[n * 2]/*.Freq*/;\n s.opt_len += f * (bits + xbits);\n if (has_stree) {\n s.static_len += f * (stree[n * 2 + 1]/*.Len*/ + xbits);\n }\n }\n if (overflow === 0) { return; }\n\n // Tracev((stderr,\"\\nbit length overflow\\n\"));\n /* This happens for example on obj2 and pic of the Calgary corpus */\n\n /* Find the first bit length which could increase: */\n do {\n bits = max_length - 1;\n while (s.bl_count[bits] === 0) { bits--; }\n s.bl_count[bits]--; /* move one leaf down the tree */\n s.bl_count[bits + 1] += 2; /* move one overflow item as its brother */\n s.bl_count[max_length]--;\n /* The brother of the overflow item also moves one step up,\n * but this does not affect bl_count[max_length]\n */\n overflow -= 2;\n } while (overflow > 0);\n\n /* Now recompute all bit lengths, scanning in increasing frequency.\n * h is still equal to HEAP_SIZE. (It is simpler to reconstruct all\n * lengths instead of fixing only the wrong ones. This idea is taken\n * from 'ar' written by Haruhiko Okumura.)\n */\n for (bits = max_length; bits !== 0; bits--) {\n n = s.bl_count[bits];\n while (n !== 0) {\n m = s.heap[--h];\n if (m > max_code) { continue; }\n if (tree[m * 2 + 1]/*.Len*/ !== bits) {\n // Tracev((stderr,\"code %d bits %d->%d\\n\", m, tree[m].Len, bits));\n s.opt_len += (bits - tree[m * 2 + 1]/*.Len*/) * tree[m * 2]/*.Freq*/;\n tree[m * 2 + 1]/*.Len*/ = bits;\n }\n n--;\n }\n }\n};\n\n\n/* ===========================================================================\n * Generate the codes for a given tree and bit counts (which need not be\n * optimal).\n * IN assertion: the array bl_count contains the bit length statistics for\n * the given tree and the field len is set for all tree elements.\n * OUT assertion: the field code is set for all tree elements of non\n * zero code length.\n */\nconst gen_codes = (tree, max_code, bl_count) => {\n// ct_data *tree; /* the tree to decorate */\n// int max_code; /* largest code with non zero frequency */\n// ushf *bl_count; /* number of codes at each bit length */\n\n const next_code = new Array(MAX_BITS$1 + 1); /* next code value for each bit length */\n let code = 0; /* running code value */\n let bits; /* bit index */\n let n; /* code index */\n\n /* The distribution counts are first used to generate the code values\n * without bit reversal.\n */\n for (bits = 1; bits <= MAX_BITS$1; bits++) {\n code = (code + bl_count[bits - 1]) << 1;\n next_code[bits] = code;\n }\n /* Check that the bit counts in bl_count are consistent. The last code\n * must be all ones.\n */\n //Assert (code + bl_count[MAX_BITS]-1 == (1< {\n\n let n; /* iterates over tree elements */\n let bits; /* bit counter */\n let length; /* length value */\n let code; /* code value */\n let dist; /* distance index */\n const bl_count = new Array(MAX_BITS$1 + 1);\n /* number of codes at each bit length for an optimal tree */\n\n // do check in _tr_init()\n //if (static_init_done) return;\n\n /* For some embedded targets, global variables are not initialized: */\n/*#ifdef NO_INIT_GLOBAL_POINTERS\n static_l_desc.static_tree = static_ltree;\n static_l_desc.extra_bits = extra_lbits;\n static_d_desc.static_tree = static_dtree;\n static_d_desc.extra_bits = extra_dbits;\n static_bl_desc.extra_bits = extra_blbits;\n#endif*/\n\n /* Initialize the mapping length (0..255) -> length code (0..28) */\n length = 0;\n for (code = 0; code < LENGTH_CODES$1 - 1; code++) {\n base_length[code] = length;\n for (n = 0; n < (1 << extra_lbits[code]); n++) {\n _length_code[length++] = code;\n }\n }\n //Assert (length == 256, \"tr_static_init: length != 256\");\n /* Note that the length 255 (match length 258) can be represented\n * in two different ways: code 284 + 5 bits or code 285, so we\n * overwrite length_code[255] to use the best encoding:\n */\n _length_code[length - 1] = code;\n\n /* Initialize the mapping dist (0..32K) -> dist code (0..29) */\n dist = 0;\n for (code = 0; code < 16; code++) {\n base_dist[code] = dist;\n for (n = 0; n < (1 << extra_dbits[code]); n++) {\n _dist_code[dist++] = code;\n }\n }\n //Assert (dist == 256, \"tr_static_init: dist != 256\");\n dist >>= 7; /* from now on, all distances are divided by 128 */\n for (; code < D_CODES$1; code++) {\n base_dist[code] = dist << 7;\n for (n = 0; n < (1 << (extra_dbits[code] - 7)); n++) {\n _dist_code[256 + dist++] = code;\n }\n }\n //Assert (dist == 256, \"tr_static_init: 256+dist != 512\");\n\n /* Construct the codes of the static literal tree */\n for (bits = 0; bits <= MAX_BITS$1; bits++) {\n bl_count[bits] = 0;\n }\n\n n = 0;\n while (n <= 143) {\n static_ltree[n * 2 + 1]/*.Len*/ = 8;\n n++;\n bl_count[8]++;\n }\n while (n <= 255) {\n static_ltree[n * 2 + 1]/*.Len*/ = 9;\n n++;\n bl_count[9]++;\n }\n while (n <= 279) {\n static_ltree[n * 2 + 1]/*.Len*/ = 7;\n n++;\n bl_count[7]++;\n }\n while (n <= 287) {\n static_ltree[n * 2 + 1]/*.Len*/ = 8;\n n++;\n bl_count[8]++;\n }\n /* Codes 286 and 287 do not exist, but we must include them in the\n * tree construction to get a canonical Huffman tree (longest code\n * all ones)\n */\n gen_codes(static_ltree, L_CODES$1 + 1, bl_count);\n\n /* The static distance tree is trivial: */\n for (n = 0; n < D_CODES$1; n++) {\n static_dtree[n * 2 + 1]/*.Len*/ = 5;\n static_dtree[n * 2]/*.Code*/ = bi_reverse(n, 5);\n }\n\n // Now data ready and we can init static trees\n static_l_desc = new StaticTreeDesc(static_ltree, extra_lbits, LITERALS$1 + 1, L_CODES$1, MAX_BITS$1);\n static_d_desc = new StaticTreeDesc(static_dtree, extra_dbits, 0, D_CODES$1, MAX_BITS$1);\n static_bl_desc = new StaticTreeDesc(new Array(0), extra_blbits, 0, BL_CODES$1, MAX_BL_BITS);\n\n //static_init_done = true;\n};\n\n\n/* ===========================================================================\n * Initialize a new block.\n */\nconst init_block = (s) => {\n\n let n; /* iterates over tree elements */\n\n /* Initialize the trees. */\n for (n = 0; n < L_CODES$1; n++) { s.dyn_ltree[n * 2]/*.Freq*/ = 0; }\n for (n = 0; n < D_CODES$1; n++) { s.dyn_dtree[n * 2]/*.Freq*/ = 0; }\n for (n = 0; n < BL_CODES$1; n++) { s.bl_tree[n * 2]/*.Freq*/ = 0; }\n\n s.dyn_ltree[END_BLOCK * 2]/*.Freq*/ = 1;\n s.opt_len = s.static_len = 0;\n s.sym_next = s.matches = 0;\n};\n\n\n/* ===========================================================================\n * Flush the bit buffer and align the output on a byte boundary\n */\nconst bi_windup = (s) =>\n{\n if (s.bi_valid > 8) {\n put_short(s, s.bi_buf);\n } else if (s.bi_valid > 0) {\n //put_byte(s, (Byte)s->bi_buf);\n s.pending_buf[s.pending++] = s.bi_buf;\n }\n s.bi_buf = 0;\n s.bi_valid = 0;\n};\n\n/* ===========================================================================\n * Compares to subtrees, using the tree depth as tie breaker when\n * the subtrees have equal frequency. This minimizes the worst case length.\n */\nconst smaller = (tree, n, m, depth) => {\n\n const _n2 = n * 2;\n const _m2 = m * 2;\n return (tree[_n2]/*.Freq*/ < tree[_m2]/*.Freq*/ ||\n (tree[_n2]/*.Freq*/ === tree[_m2]/*.Freq*/ && depth[n] <= depth[m]));\n};\n\n/* ===========================================================================\n * Restore the heap property by moving down the tree starting at node k,\n * exchanging a node with the smallest of its two sons if necessary, stopping\n * when the heap property is re-established (each father smaller than its\n * two sons).\n */\nconst pqdownheap = (s, tree, k) => {\n// deflate_state *s;\n// ct_data *tree; /* the tree to restore */\n// int k; /* node to move down */\n\n const v = s.heap[k];\n let j = k << 1; /* left son of k */\n while (j <= s.heap_len) {\n /* Set j to the smallest of the two sons: */\n if (j < s.heap_len &&\n smaller(tree, s.heap[j + 1], s.heap[j], s.depth)) {\n j++;\n }\n /* Exit if v is smaller than both sons */\n if (smaller(tree, v, s.heap[j], s.depth)) { break; }\n\n /* Exchange v with the smallest son */\n s.heap[k] = s.heap[j];\n k = j;\n\n /* And continue down the tree, setting j to the left son of k */\n j <<= 1;\n }\n s.heap[k] = v;\n};\n\n\n// inlined manually\n// const SMALLEST = 1;\n\n/* ===========================================================================\n * Send the block data compressed using the given Huffman trees\n */\nconst compress_block = (s, ltree, dtree) => {\n// deflate_state *s;\n// const ct_data *ltree; /* literal tree */\n// const ct_data *dtree; /* distance tree */\n\n let dist; /* distance of matched string */\n let lc; /* match length or unmatched char (if dist == 0) */\n let sx = 0; /* running index in sym_buf */\n let code; /* the code to send */\n let extra; /* number of extra bits to send */\n\n if (s.sym_next !== 0) {\n do {\n dist = s.pending_buf[s.sym_buf + sx++] & 0xff;\n dist += (s.pending_buf[s.sym_buf + sx++] & 0xff) << 8;\n lc = s.pending_buf[s.sym_buf + sx++];\n if (dist === 0) {\n send_code(s, lc, ltree); /* send a literal byte */\n //Tracecv(isgraph(lc), (stderr,\" '%c' \", lc));\n } else {\n /* Here, lc is the match length - MIN_MATCH */\n code = _length_code[lc];\n send_code(s, code + LITERALS$1 + 1, ltree); /* send the length code */\n extra = extra_lbits[code];\n if (extra !== 0) {\n lc -= base_length[code];\n send_bits(s, lc, extra); /* send the extra length bits */\n }\n dist--; /* dist is now the match distance - 1 */\n code = d_code(dist);\n //Assert (code < D_CODES, \"bad d_code\");\n\n send_code(s, code, dtree); /* send the distance code */\n extra = extra_dbits[code];\n if (extra !== 0) {\n dist -= base_dist[code];\n send_bits(s, dist, extra); /* send the extra distance bits */\n }\n } /* literal or match pair ? */\n\n /* Check that the overlay between pending_buf and sym_buf is ok: */\n //Assert(s->pending < s->lit_bufsize + sx, \"pendingBuf overflow\");\n\n } while (sx < s.sym_next);\n }\n\n send_code(s, END_BLOCK, ltree);\n};\n\n\n/* ===========================================================================\n * Construct one Huffman tree and assigns the code bit strings and lengths.\n * Update the total bit length for the current block.\n * IN assertion: the field freq is set for all tree elements.\n * OUT assertions: the fields len and code are set to the optimal bit length\n * and corresponding code. The length opt_len is updated; static_len is\n * also updated if stree is not null. The field max_code is set.\n */\nconst build_tree = (s, desc) => {\n// deflate_state *s;\n// tree_desc *desc; /* the tree descriptor */\n\n const tree = desc.dyn_tree;\n const stree = desc.stat_desc.static_tree;\n const has_stree = desc.stat_desc.has_stree;\n const elems = desc.stat_desc.elems;\n let n, m; /* iterate over heap elements */\n let max_code = -1; /* largest code with non zero frequency */\n let node; /* new node being created */\n\n /* Construct the initial heap, with least frequent element in\n * heap[SMALLEST]. The sons of heap[n] are heap[2*n] and heap[2*n+1].\n * heap[0] is not used.\n */\n s.heap_len = 0;\n s.heap_max = HEAP_SIZE$1;\n\n for (n = 0; n < elems; n++) {\n if (tree[n * 2]/*.Freq*/ !== 0) {\n s.heap[++s.heap_len] = max_code = n;\n s.depth[n] = 0;\n\n } else {\n tree[n * 2 + 1]/*.Len*/ = 0;\n }\n }\n\n /* The pkzip format requires that at least one distance code exists,\n * and that at least one bit should be sent even if there is only one\n * possible code. So to avoid special checks later on we force at least\n * two codes of non zero frequency.\n */\n while (s.heap_len < 2) {\n node = s.heap[++s.heap_len] = (max_code < 2 ? ++max_code : 0);\n tree[node * 2]/*.Freq*/ = 1;\n s.depth[node] = 0;\n s.opt_len--;\n\n if (has_stree) {\n s.static_len -= stree[node * 2 + 1]/*.Len*/;\n }\n /* node is 0 or 1 so it does not have extra bits */\n }\n desc.max_code = max_code;\n\n /* The elements heap[heap_len/2+1 .. heap_len] are leaves of the tree,\n * establish sub-heaps of increasing lengths:\n */\n for (n = (s.heap_len >> 1/*int /2*/); n >= 1; n--) { pqdownheap(s, tree, n); }\n\n /* Construct the Huffman tree by repeatedly combining the least two\n * frequent nodes.\n */\n node = elems; /* next internal node of the tree */\n do {\n //pqremove(s, tree, n); /* n = node of least frequency */\n /*** pqremove ***/\n n = s.heap[1/*SMALLEST*/];\n s.heap[1/*SMALLEST*/] = s.heap[s.heap_len--];\n pqdownheap(s, tree, 1/*SMALLEST*/);\n /***/\n\n m = s.heap[1/*SMALLEST*/]; /* m = node of next least frequency */\n\n s.heap[--s.heap_max] = n; /* keep the nodes sorted by frequency */\n s.heap[--s.heap_max] = m;\n\n /* Create a new node father of n and m */\n tree[node * 2]/*.Freq*/ = tree[n * 2]/*.Freq*/ + tree[m * 2]/*.Freq*/;\n s.depth[node] = (s.depth[n] >= s.depth[m] ? s.depth[n] : s.depth[m]) + 1;\n tree[n * 2 + 1]/*.Dad*/ = tree[m * 2 + 1]/*.Dad*/ = node;\n\n /* and insert the new node in the heap */\n s.heap[1/*SMALLEST*/] = node++;\n pqdownheap(s, tree, 1/*SMALLEST*/);\n\n } while (s.heap_len >= 2);\n\n s.heap[--s.heap_max] = s.heap[1/*SMALLEST*/];\n\n /* At this point, the fields freq and dad are set. We can now\n * generate the bit lengths.\n */\n gen_bitlen(s, desc);\n\n /* The field len is now set, we can generate the bit codes */\n gen_codes(tree, max_code, s.bl_count);\n};\n\n\n/* ===========================================================================\n * Scan a literal or distance tree to determine the frequencies of the codes\n * in the bit length tree.\n */\nconst scan_tree = (s, tree, max_code) => {\n// deflate_state *s;\n// ct_data *tree; /* the tree to be scanned */\n// int max_code; /* and its largest code of non zero frequency */\n\n let n; /* iterates over all tree elements */\n let prevlen = -1; /* last emitted length */\n let curlen; /* length of current code */\n\n let nextlen = tree[0 * 2 + 1]/*.Len*/; /* length of next code */\n\n let count = 0; /* repeat count of the current code */\n let max_count = 7; /* max repeat count */\n let min_count = 4; /* min repeat count */\n\n if (nextlen === 0) {\n max_count = 138;\n min_count = 3;\n }\n tree[(max_code + 1) * 2 + 1]/*.Len*/ = 0xffff; /* guard */\n\n for (n = 0; n <= max_code; n++) {\n curlen = nextlen;\n nextlen = tree[(n + 1) * 2 + 1]/*.Len*/;\n\n if (++count < max_count && curlen === nextlen) {\n continue;\n\n } else if (count < min_count) {\n s.bl_tree[curlen * 2]/*.Freq*/ += count;\n\n } else if (curlen !== 0) {\n\n if (curlen !== prevlen) { s.bl_tree[curlen * 2]/*.Freq*/++; }\n s.bl_tree[REP_3_6 * 2]/*.Freq*/++;\n\n } else if (count <= 10) {\n s.bl_tree[REPZ_3_10 * 2]/*.Freq*/++;\n\n } else {\n s.bl_tree[REPZ_11_138 * 2]/*.Freq*/++;\n }\n\n count = 0;\n prevlen = curlen;\n\n if (nextlen === 0) {\n max_count = 138;\n min_count = 3;\n\n } else if (curlen === nextlen) {\n max_count = 6;\n min_count = 3;\n\n } else {\n max_count = 7;\n min_count = 4;\n }\n }\n};\n\n\n/* ===========================================================================\n * Send a literal or distance tree in compressed form, using the codes in\n * bl_tree.\n */\nconst send_tree = (s, tree, max_code) => {\n// deflate_state *s;\n// ct_data *tree; /* the tree to be scanned */\n// int max_code; /* and its largest code of non zero frequency */\n\n let n; /* iterates over all tree elements */\n let prevlen = -1; /* last emitted length */\n let curlen; /* length of current code */\n\n let nextlen = tree[0 * 2 + 1]/*.Len*/; /* length of next code */\n\n let count = 0; /* repeat count of the current code */\n let max_count = 7; /* max repeat count */\n let min_count = 4; /* min repeat count */\n\n /* tree[max_code+1].Len = -1; */ /* guard already set */\n if (nextlen === 0) {\n max_count = 138;\n min_count = 3;\n }\n\n for (n = 0; n <= max_code; n++) {\n curlen = nextlen;\n nextlen = tree[(n + 1) * 2 + 1]/*.Len*/;\n\n if (++count < max_count && curlen === nextlen) {\n continue;\n\n } else if (count < min_count) {\n do { send_code(s, curlen, s.bl_tree); } while (--count !== 0);\n\n } else if (curlen !== 0) {\n if (curlen !== prevlen) {\n send_code(s, curlen, s.bl_tree);\n count--;\n }\n //Assert(count >= 3 && count <= 6, \" 3_6?\");\n send_code(s, REP_3_6, s.bl_tree);\n send_bits(s, count - 3, 2);\n\n } else if (count <= 10) {\n send_code(s, REPZ_3_10, s.bl_tree);\n send_bits(s, count - 3, 3);\n\n } else {\n send_code(s, REPZ_11_138, s.bl_tree);\n send_bits(s, count - 11, 7);\n }\n\n count = 0;\n prevlen = curlen;\n if (nextlen === 0) {\n max_count = 138;\n min_count = 3;\n\n } else if (curlen === nextlen) {\n max_count = 6;\n min_count = 3;\n\n } else {\n max_count = 7;\n min_count = 4;\n }\n }\n};\n\n\n/* ===========================================================================\n * Construct the Huffman tree for the bit lengths and return the index in\n * bl_order of the last bit length code to send.\n */\nconst build_bl_tree = (s) => {\n\n let max_blindex; /* index of last bit length code of non zero freq */\n\n /* Determine the bit length frequencies for literal and distance trees */\n scan_tree(s, s.dyn_ltree, s.l_desc.max_code);\n scan_tree(s, s.dyn_dtree, s.d_desc.max_code);\n\n /* Build the bit length tree: */\n build_tree(s, s.bl_desc);\n /* opt_len now includes the length of the tree representations, except\n * the lengths of the bit lengths codes and the 5+5+4 bits for the counts.\n */\n\n /* Determine the number of bit length codes to send. The pkzip format\n * requires that at least 4 bit length codes be sent. (appnote.txt says\n * 3 but the actual value used is 4.)\n */\n for (max_blindex = BL_CODES$1 - 1; max_blindex >= 3; max_blindex--) {\n if (s.bl_tree[bl_order[max_blindex] * 2 + 1]/*.Len*/ !== 0) {\n break;\n }\n }\n /* Update opt_len to include the bit length tree and counts */\n s.opt_len += 3 * (max_blindex + 1) + 5 + 5 + 4;\n //Tracev((stderr, \"\\ndyn trees: dyn %ld, stat %ld\",\n // s->opt_len, s->static_len));\n\n return max_blindex;\n};\n\n\n/* ===========================================================================\n * Send the header for a block using dynamic Huffman trees: the counts, the\n * lengths of the bit length codes, the literal tree and the distance tree.\n * IN assertion: lcodes >= 257, dcodes >= 1, blcodes >= 4.\n */\nconst send_all_trees = (s, lcodes, dcodes, blcodes) => {\n// deflate_state *s;\n// int lcodes, dcodes, blcodes; /* number of codes for each tree */\n\n let rank; /* index in bl_order */\n\n //Assert (lcodes >= 257 && dcodes >= 1 && blcodes >= 4, \"not enough codes\");\n //Assert (lcodes <= L_CODES && dcodes <= D_CODES && blcodes <= BL_CODES,\n // \"too many codes\");\n //Tracev((stderr, \"\\nbl counts: \"));\n send_bits(s, lcodes - 257, 5); /* not +255 as stated in appnote.txt */\n send_bits(s, dcodes - 1, 5);\n send_bits(s, blcodes - 4, 4); /* not -3 as stated in appnote.txt */\n for (rank = 0; rank < blcodes; rank++) {\n //Tracev((stderr, \"\\nbl code %2d \", bl_order[rank]));\n send_bits(s, s.bl_tree[bl_order[rank] * 2 + 1]/*.Len*/, 3);\n }\n //Tracev((stderr, \"\\nbl tree: sent %ld\", s->bits_sent));\n\n send_tree(s, s.dyn_ltree, lcodes - 1); /* literal tree */\n //Tracev((stderr, \"\\nlit tree: sent %ld\", s->bits_sent));\n\n send_tree(s, s.dyn_dtree, dcodes - 1); /* distance tree */\n //Tracev((stderr, \"\\ndist tree: sent %ld\", s->bits_sent));\n};\n\n\n/* ===========================================================================\n * Check if the data type is TEXT or BINARY, using the following algorithm:\n * - TEXT if the two conditions below are satisfied:\n * a) There are no non-portable control characters belonging to the\n * \"block list\" (0..6, 14..25, 28..31).\n * b) There is at least one printable character belonging to the\n * \"allow list\" (9 {TAB}, 10 {LF}, 13 {CR}, 32..255).\n * - BINARY otherwise.\n * - The following partially-portable control characters form a\n * \"gray list\" that is ignored in this detection algorithm:\n * (7 {BEL}, 8 {BS}, 11 {VT}, 12 {FF}, 26 {SUB}, 27 {ESC}).\n * IN assertion: the fields Freq of dyn_ltree are set.\n */\nconst detect_data_type = (s) => {\n /* block_mask is the bit mask of block-listed bytes\n * set bits 0..6, 14..25, and 28..31\n * 0xf3ffc07f = binary 11110011111111111100000001111111\n */\n let block_mask = 0xf3ffc07f;\n let n;\n\n /* Check for non-textual (\"block-listed\") bytes. */\n for (n = 0; n <= 31; n++, block_mask >>>= 1) {\n if ((block_mask & 1) && (s.dyn_ltree[n * 2]/*.Freq*/ !== 0)) {\n return Z_BINARY;\n }\n }\n\n /* Check for textual (\"allow-listed\") bytes. */\n if (s.dyn_ltree[9 * 2]/*.Freq*/ !== 0 || s.dyn_ltree[10 * 2]/*.Freq*/ !== 0 ||\n s.dyn_ltree[13 * 2]/*.Freq*/ !== 0) {\n return Z_TEXT;\n }\n for (n = 32; n < LITERALS$1; n++) {\n if (s.dyn_ltree[n * 2]/*.Freq*/ !== 0) {\n return Z_TEXT;\n }\n }\n\n /* There are no \"block-listed\" or \"allow-listed\" bytes:\n * this stream either is empty or has tolerated (\"gray-listed\") bytes only.\n */\n return Z_BINARY;\n};\n\n\nlet static_init_done = false;\n\n/* ===========================================================================\n * Initialize the tree data structures for a new zlib stream.\n */\nconst _tr_init$1 = (s) =>\n{\n\n if (!static_init_done) {\n tr_static_init();\n static_init_done = true;\n }\n\n s.l_desc = new TreeDesc(s.dyn_ltree, static_l_desc);\n s.d_desc = new TreeDesc(s.dyn_dtree, static_d_desc);\n s.bl_desc = new TreeDesc(s.bl_tree, static_bl_desc);\n\n s.bi_buf = 0;\n s.bi_valid = 0;\n\n /* Initialize the first block of the first file: */\n init_block(s);\n};\n\n\n/* ===========================================================================\n * Send a stored block\n */\nconst _tr_stored_block$1 = (s, buf, stored_len, last) => {\n//DeflateState *s;\n//charf *buf; /* input block */\n//ulg stored_len; /* length of input block */\n//int last; /* one if this is the last block for a file */\n\n send_bits(s, (STORED_BLOCK << 1) + (last ? 1 : 0), 3); /* send block type */\n bi_windup(s); /* align on byte boundary */\n put_short(s, stored_len);\n put_short(s, ~stored_len);\n if (stored_len) {\n s.pending_buf.set(s.window.subarray(buf, buf + stored_len), s.pending);\n }\n s.pending += stored_len;\n};\n\n\n/* ===========================================================================\n * Send one empty static block to give enough lookahead for inflate.\n * This takes 10 bits, of which 7 may remain in the bit buffer.\n */\nconst _tr_align$1 = (s) => {\n send_bits(s, STATIC_TREES << 1, 3);\n send_code(s, END_BLOCK, static_ltree);\n bi_flush(s);\n};\n\n\n/* ===========================================================================\n * Determine the best encoding for the current block: dynamic trees, static\n * trees or store, and write out the encoded block.\n */\nconst _tr_flush_block$1 = (s, buf, stored_len, last) => {\n//DeflateState *s;\n//charf *buf; /* input block, or NULL if too old */\n//ulg stored_len; /* length of input block */\n//int last; /* one if this is the last block for a file */\n\n let opt_lenb, static_lenb; /* opt_len and static_len in bytes */\n let max_blindex = 0; /* index of last bit length code of non zero freq */\n\n /* Build the Huffman trees unless a stored block is forced */\n if (s.level > 0) {\n\n /* Check if the file is binary or text */\n if (s.strm.data_type === Z_UNKNOWN$1) {\n s.strm.data_type = detect_data_type(s);\n }\n\n /* Construct the literal and distance trees */\n build_tree(s, s.l_desc);\n // Tracev((stderr, \"\\nlit data: dyn %ld, stat %ld\", s->opt_len,\n // s->static_len));\n\n build_tree(s, s.d_desc);\n // Tracev((stderr, \"\\ndist data: dyn %ld, stat %ld\", s->opt_len,\n // s->static_len));\n /* At this point, opt_len and static_len are the total bit lengths of\n * the compressed block data, excluding the tree representations.\n */\n\n /* Build the bit length tree for the above two trees, and get the index\n * in bl_order of the last bit length code to send.\n */\n max_blindex = build_bl_tree(s);\n\n /* Determine the best encoding. Compute the block lengths in bytes. */\n opt_lenb = (s.opt_len + 3 + 7) >>> 3;\n static_lenb = (s.static_len + 3 + 7) >>> 3;\n\n // Tracev((stderr, \"\\nopt %lu(%lu) stat %lu(%lu) stored %lu lit %u \",\n // opt_lenb, s->opt_len, static_lenb, s->static_len, stored_len,\n // s->sym_next / 3));\n\n if (static_lenb <= opt_lenb) { opt_lenb = static_lenb; }\n\n } else {\n // Assert(buf != (char*)0, \"lost buf\");\n opt_lenb = static_lenb = stored_len + 5; /* force a stored block */\n }\n\n if ((stored_len + 4 <= opt_lenb) && (buf !== -1)) {\n /* 4: two words for the lengths */\n\n /* The test buf != NULL is only necessary if LIT_BUFSIZE > WSIZE.\n * Otherwise we can't have processed more than WSIZE input bytes since\n * the last block flush, because compression would have been\n * successful. If LIT_BUFSIZE <= WSIZE, it is never too late to\n * transform a block into a stored block.\n */\n _tr_stored_block$1(s, buf, stored_len, last);\n\n } else if (s.strategy === Z_FIXED$1 || static_lenb === opt_lenb) {\n\n send_bits(s, (STATIC_TREES << 1) + (last ? 1 : 0), 3);\n compress_block(s, static_ltree, static_dtree);\n\n } else {\n send_bits(s, (DYN_TREES << 1) + (last ? 1 : 0), 3);\n send_all_trees(s, s.l_desc.max_code + 1, s.d_desc.max_code + 1, max_blindex + 1);\n compress_block(s, s.dyn_ltree, s.dyn_dtree);\n }\n // Assert (s->compressed_len == s->bits_sent, \"bad compressed size\");\n /* The above check is made mod 2^32, for files larger than 512 MB\n * and uLong implemented on 32 bits.\n */\n init_block(s);\n\n if (last) {\n bi_windup(s);\n }\n // Tracev((stderr,\"\\ncomprlen %lu(%lu) \", s->compressed_len>>3,\n // s->compressed_len-7*last));\n};\n\n/* ===========================================================================\n * Save the match info and tally the frequency counts. Return true if\n * the current block must be flushed.\n */\nconst _tr_tally$1 = (s, dist, lc) => {\n// deflate_state *s;\n// unsigned dist; /* distance of matched string */\n// unsigned lc; /* match length-MIN_MATCH or unmatched char (if dist==0) */\n\n s.pending_buf[s.sym_buf + s.sym_next++] = dist;\n s.pending_buf[s.sym_buf + s.sym_next++] = dist >> 8;\n s.pending_buf[s.sym_buf + s.sym_next++] = lc;\n if (dist === 0) {\n /* lc is the unmatched char */\n s.dyn_ltree[lc * 2]/*.Freq*/++;\n } else {\n s.matches++;\n /* Here, lc is the match length - MIN_MATCH */\n dist--; /* dist = match distance - 1 */\n //Assert((ush)dist < (ush)MAX_DIST(s) &&\n // (ush)lc <= (ush)(MAX_MATCH-MIN_MATCH) &&\n // (ush)d_code(dist) < (ush)D_CODES, \"_tr_tally: bad match\");\n\n s.dyn_ltree[(_length_code[lc] + LITERALS$1 + 1) * 2]/*.Freq*/++;\n s.dyn_dtree[d_code(dist) * 2]/*.Freq*/++;\n }\n\n return (s.sym_next === s.sym_end);\n};\n\nvar _tr_init_1 = _tr_init$1;\nvar _tr_stored_block_1 = _tr_stored_block$1;\nvar _tr_flush_block_1 = _tr_flush_block$1;\nvar _tr_tally_1 = _tr_tally$1;\nvar _tr_align_1 = _tr_align$1;\n\nvar trees = {\n\t_tr_init: _tr_init_1,\n\t_tr_stored_block: _tr_stored_block_1,\n\t_tr_flush_block: _tr_flush_block_1,\n\t_tr_tally: _tr_tally_1,\n\t_tr_align: _tr_align_1\n};\n\n// Note: adler32 takes 12% for level 0 and 2% for level 6.\n// It isn't worth it to make additional optimizations as in original.\n// Small size is preferable.\n\n// (C) 1995-2013 Jean-loup Gailly and Mark Adler\n// (C) 2014-2017 Vitaly Puzrin and Andrey Tupitsin\n//\n// This software is provided 'as-is', without any express or implied\n// warranty. In no event will the authors be held liable for any damages\n// arising from the use of this software.\n//\n// Permission is granted to anyone to use this software for any purpose,\n// including commercial applications, and to alter it and redistribute it\n// freely, subject to the following restrictions:\n//\n// 1. The origin of this software must not be misrepresented; you must not\n// claim that you wrote the original software. If you use this software\n// in a product, an acknowledgment in the product documentation would be\n// appreciated but is not required.\n// 2. Altered source versions must be plainly marked as such, and must not be\n// misrepresented as being the original software.\n// 3. This notice may not be removed or altered from any source distribution.\n\nconst adler32 = (adler, buf, len, pos) => {\n let s1 = (adler & 0xffff) |0,\n s2 = ((adler >>> 16) & 0xffff) |0,\n n = 0;\n\n while (len !== 0) {\n // Set limit ~ twice less than 5552, to keep\n // s2 in 31-bits, because we force signed ints.\n // in other case %= will fail.\n n = len > 2000 ? 2000 : len;\n len -= n;\n\n do {\n s1 = (s1 + buf[pos++]) |0;\n s2 = (s2 + s1) |0;\n } while (--n);\n\n s1 %= 65521;\n s2 %= 65521;\n }\n\n return (s1 | (s2 << 16)) |0;\n};\n\n\nvar adler32_1 = adler32;\n\n// Note: we can't get significant speed boost here.\n// So write code to minimize size - no pregenerated tables\n// and array tools dependencies.\n\n// (C) 1995-2013 Jean-loup Gailly and Mark Adler\n// (C) 2014-2017 Vitaly Puzrin and Andrey Tupitsin\n//\n// This software is provided 'as-is', without any express or implied\n// warranty. In no event will the authors be held liable for any damages\n// arising from the use of this software.\n//\n// Permission is granted to anyone to use this software for any purpose,\n// including commercial applications, and to alter it and redistribute it\n// freely, subject to the following restrictions:\n//\n// 1. The origin of this software must not be misrepresented; you must not\n// claim that you wrote the original software. If you use this software\n// in a product, an acknowledgment in the product documentation would be\n// appreciated but is not required.\n// 2. Altered source versions must be plainly marked as such, and must not be\n// misrepresented as being the original software.\n// 3. This notice may not be removed or altered from any source distribution.\n\n// Use ordinary array, since untyped makes no boost here\nconst makeTable = () => {\n let c, table = [];\n\n for (var n = 0; n < 256; n++) {\n c = n;\n for (var k = 0; k < 8; k++) {\n c = ((c & 1) ? (0xEDB88320 ^ (c >>> 1)) : (c >>> 1));\n }\n table[n] = c;\n }\n\n return table;\n};\n\n// Create table on load. Just 255 signed longs. Not a problem.\nconst crcTable = new Uint32Array(makeTable());\n\n\nconst crc32 = (crc, buf, len, pos) => {\n const t = crcTable;\n const end = pos + len;\n\n crc ^= -1;\n\n for (let i = pos; i < end; i++) {\n crc = (crc >>> 8) ^ t[(crc ^ buf[i]) & 0xFF];\n }\n\n return (crc ^ (-1)); // >>> 0;\n};\n\n\nvar crc32_1 = crc32;\n\n// (C) 1995-2013 Jean-loup Gailly and Mark Adler\n// (C) 2014-2017 Vitaly Puzrin and Andrey Tupitsin\n//\n// This software is provided 'as-is', without any express or implied\n// warranty. In no event will the authors be held liable for any damages\n// arising from the use of this software.\n//\n// Permission is granted to anyone to use this software for any purpose,\n// including commercial applications, and to alter it and redistribute it\n// freely, subject to the following restrictions:\n//\n// 1. The origin of this software must not be misrepresented; you must not\n// claim that you wrote the original software. If you use this software\n// in a product, an acknowledgment in the product documentation would be\n// appreciated but is not required.\n// 2. Altered source versions must be plainly marked as such, and must not be\n// misrepresented as being the original software.\n// 3. This notice may not be removed or altered from any source distribution.\n\nvar messages = {\n 2: 'need dictionary', /* Z_NEED_DICT 2 */\n 1: 'stream end', /* Z_STREAM_END 1 */\n 0: '', /* Z_OK 0 */\n '-1': 'file error', /* Z_ERRNO (-1) */\n '-2': 'stream error', /* Z_STREAM_ERROR (-2) */\n '-3': 'data error', /* Z_DATA_ERROR (-3) */\n '-4': 'insufficient memory', /* Z_MEM_ERROR (-4) */\n '-5': 'buffer error', /* Z_BUF_ERROR (-5) */\n '-6': 'incompatible version' /* Z_VERSION_ERROR (-6) */\n};\n\n// (C) 1995-2013 Jean-loup Gailly and Mark Adler\n// (C) 2014-2017 Vitaly Puzrin and Andrey Tupitsin\n//\n// This software is provided 'as-is', without any express or implied\n// warranty. In no event will the authors be held liable for any damages\n// arising from the use of this software.\n//\n// Permission is granted to anyone to use this software for any purpose,\n// including commercial applications, and to alter it and redistribute it\n// freely, subject to the following restrictions:\n//\n// 1. The origin of this software must not be misrepresented; you must not\n// claim that you wrote the original software. If you use this software\n// in a product, an acknowledgment in the product documentation would be\n// appreciated but is not required.\n// 2. Altered source versions must be plainly marked as such, and must not be\n// misrepresented as being the original software.\n// 3. This notice may not be removed or altered from any source distribution.\n\nvar constants$2 = {\n\n /* Allowed flush values; see deflate() and inflate() below for details */\n Z_NO_FLUSH: 0,\n Z_PARTIAL_FLUSH: 1,\n Z_SYNC_FLUSH: 2,\n Z_FULL_FLUSH: 3,\n Z_FINISH: 4,\n Z_BLOCK: 5,\n Z_TREES: 6,\n\n /* Return codes for the compression/decompression functions. Negative values\n * are errors, positive values are used for special but normal events.\n */\n Z_OK: 0,\n Z_STREAM_END: 1,\n Z_NEED_DICT: 2,\n Z_ERRNO: -1,\n Z_STREAM_ERROR: -2,\n Z_DATA_ERROR: -3,\n Z_MEM_ERROR: -4,\n Z_BUF_ERROR: -5,\n //Z_VERSION_ERROR: -6,\n\n /* compression levels */\n Z_NO_COMPRESSION: 0,\n Z_BEST_SPEED: 1,\n Z_BEST_COMPRESSION: 9,\n Z_DEFAULT_COMPRESSION: -1,\n\n\n Z_FILTERED: 1,\n Z_HUFFMAN_ONLY: 2,\n Z_RLE: 3,\n Z_FIXED: 4,\n Z_DEFAULT_STRATEGY: 0,\n\n /* Possible values of the data_type field (though see inflate()) */\n Z_BINARY: 0,\n Z_TEXT: 1,\n //Z_ASCII: 1, // = Z_TEXT (deprecated)\n Z_UNKNOWN: 2,\n\n /* The deflate compression method */\n Z_DEFLATED: 8\n //Z_NULL: null // Use -1 or null inline, depending on var type\n};\n\n// (C) 1995-2013 Jean-loup Gailly and Mark Adler\n// (C) 2014-2017 Vitaly Puzrin and Andrey Tupitsin\n//\n// This software is provided 'as-is', without any express or implied\n// warranty. In no event will the authors be held liable for any damages\n// arising from the use of this software.\n//\n// Permission is granted to anyone to use this software for any purpose,\n// including commercial applications, and to alter it and redistribute it\n// freely, subject to the following restrictions:\n//\n// 1. The origin of this software must not be misrepresented; you must not\n// claim that you wrote the original software. If you use this software\n// in a product, an acknowledgment in the product documentation would be\n// appreciated but is not required.\n// 2. Altered source versions must be plainly marked as such, and must not be\n// misrepresented as being the original software.\n// 3. This notice may not be removed or altered from any source distribution.\n\nconst { _tr_init, _tr_stored_block, _tr_flush_block, _tr_tally, _tr_align } = trees;\n\n\n\n\n/* Public constants ==========================================================*/\n/* ===========================================================================*/\n\nconst {\n Z_NO_FLUSH: Z_NO_FLUSH$2, Z_PARTIAL_FLUSH, Z_FULL_FLUSH: Z_FULL_FLUSH$1, Z_FINISH: Z_FINISH$3, Z_BLOCK: Z_BLOCK$1,\n Z_OK: Z_OK$3, Z_STREAM_END: Z_STREAM_END$3, Z_STREAM_ERROR: Z_STREAM_ERROR$2, Z_DATA_ERROR: Z_DATA_ERROR$2, Z_BUF_ERROR: Z_BUF_ERROR$1,\n Z_DEFAULT_COMPRESSION: Z_DEFAULT_COMPRESSION$1,\n Z_FILTERED, Z_HUFFMAN_ONLY, Z_RLE, Z_FIXED, Z_DEFAULT_STRATEGY: Z_DEFAULT_STRATEGY$1,\n Z_UNKNOWN,\n Z_DEFLATED: Z_DEFLATED$2\n} = constants$2;\n\n/*============================================================================*/\n\n\nconst MAX_MEM_LEVEL = 9;\n/* Maximum value for memLevel in deflateInit2 */\nconst MAX_WBITS$1 = 15;\n/* 32K LZ77 window */\nconst DEF_MEM_LEVEL = 8;\n\n\nconst LENGTH_CODES = 29;\n/* number of length codes, not counting the special END_BLOCK code */\nconst LITERALS = 256;\n/* number of literal bytes 0..255 */\nconst L_CODES = LITERALS + 1 + LENGTH_CODES;\n/* number of Literal or Length codes, including the END_BLOCK code */\nconst D_CODES = 30;\n/* number of distance codes */\nconst BL_CODES = 19;\n/* number of codes used to transfer the bit lengths */\nconst HEAP_SIZE = 2 * L_CODES + 1;\n/* maximum heap size */\nconst MAX_BITS = 15;\n/* All codes must not exceed MAX_BITS bits */\n\nconst MIN_MATCH = 3;\nconst MAX_MATCH = 258;\nconst MIN_LOOKAHEAD = (MAX_MATCH + MIN_MATCH + 1);\n\nconst PRESET_DICT = 0x20;\n\nconst INIT_STATE = 42; /* zlib header -> BUSY_STATE */\n//#ifdef GZIP\nconst GZIP_STATE = 57; /* gzip header -> BUSY_STATE | EXTRA_STATE */\n//#endif\nconst EXTRA_STATE = 69; /* gzip extra block -> NAME_STATE */\nconst NAME_STATE = 73; /* gzip file name -> COMMENT_STATE */\nconst COMMENT_STATE = 91; /* gzip comment -> HCRC_STATE */\nconst HCRC_STATE = 103; /* gzip header CRC -> BUSY_STATE */\nconst BUSY_STATE = 113; /* deflate -> FINISH_STATE */\nconst FINISH_STATE = 666; /* stream complete */\n\nconst BS_NEED_MORE = 1; /* block not completed, need more input or more output */\nconst BS_BLOCK_DONE = 2; /* block flush performed */\nconst BS_FINISH_STARTED = 3; /* finish started, need only more output at next deflate */\nconst BS_FINISH_DONE = 4; /* finish done, accept no more input or output */\n\nconst OS_CODE = 0x03; // Unix :) . Don't detect, use this default.\n\nconst err = (strm, errorCode) => {\n strm.msg = messages[errorCode];\n return errorCode;\n};\n\nconst rank = (f) => {\n return ((f) * 2) - ((f) > 4 ? 9 : 0);\n};\n\nconst zero = (buf) => {\n let len = buf.length; while (--len >= 0) { buf[len] = 0; }\n};\n\n/* ===========================================================================\n * Slide the hash table when sliding the window down (could be avoided with 32\n * bit values at the expense of memory usage). We slide even when level == 0 to\n * keep the hash table consistent if we switch back to level > 0 later.\n */\nconst slide_hash = (s) => {\n let n, m;\n let p;\n let wsize = s.w_size;\n\n n = s.hash_size;\n p = n;\n do {\n m = s.head[--p];\n s.head[p] = (m >= wsize ? m - wsize : 0);\n } while (--n);\n n = wsize;\n//#ifndef FASTEST\n p = n;\n do {\n m = s.prev[--p];\n s.prev[p] = (m >= wsize ? m - wsize : 0);\n /* If n is not on any hash chain, prev[n] is garbage but\n * its value will never be used.\n */\n } while (--n);\n//#endif\n};\n\n/* eslint-disable new-cap */\nlet HASH_ZLIB = (s, prev, data) => ((prev << s.hash_shift) ^ data) & s.hash_mask;\n// This hash causes less collisions, https://github.com/nodeca/pako/issues/135\n// But breaks binary compatibility\n//let HASH_FAST = (s, prev, data) => ((prev << 8) + (prev >> 8) + (data << 4)) & s.hash_mask;\nlet HASH = HASH_ZLIB;\n\n\n/* =========================================================================\n * Flush as much pending output as possible. All deflate() output, except for\n * some deflate_stored() output, goes through this function so some\n * applications may wish to modify it to avoid allocating a large\n * strm->next_out buffer and copying into it. (See also read_buf()).\n */\nconst flush_pending = (strm) => {\n const s = strm.state;\n\n //_tr_flush_bits(s);\n let len = s.pending;\n if (len > strm.avail_out) {\n len = strm.avail_out;\n }\n if (len === 0) { return; }\n\n strm.output.set(s.pending_buf.subarray(s.pending_out, s.pending_out + len), strm.next_out);\n strm.next_out += len;\n s.pending_out += len;\n strm.total_out += len;\n strm.avail_out -= len;\n s.pending -= len;\n if (s.pending === 0) {\n s.pending_out = 0;\n }\n};\n\n\nconst flush_block_only = (s, last) => {\n _tr_flush_block(s, (s.block_start >= 0 ? s.block_start : -1), s.strstart - s.block_start, last);\n s.block_start = s.strstart;\n flush_pending(s.strm);\n};\n\n\nconst put_byte = (s, b) => {\n s.pending_buf[s.pending++] = b;\n};\n\n\n/* =========================================================================\n * Put a short in the pending buffer. The 16-bit value is put in MSB order.\n * IN assertion: the stream state is correct and there is enough room in\n * pending_buf.\n */\nconst putShortMSB = (s, b) => {\n\n // put_byte(s, (Byte)(b >> 8));\n// put_byte(s, (Byte)(b & 0xff));\n s.pending_buf[s.pending++] = (b >>> 8) & 0xff;\n s.pending_buf[s.pending++] = b & 0xff;\n};\n\n\n/* ===========================================================================\n * Read a new buffer from the current input stream, update the adler32\n * and total number of bytes read. All deflate() input goes through\n * this function so some applications may wish to modify it to avoid\n * allocating a large strm->input buffer and copying from it.\n * (See also flush_pending()).\n */\nconst read_buf = (strm, buf, start, size) => {\n\n let len = strm.avail_in;\n\n if (len > size) { len = size; }\n if (len === 0) { return 0; }\n\n strm.avail_in -= len;\n\n // zmemcpy(buf, strm->next_in, len);\n buf.set(strm.input.subarray(strm.next_in, strm.next_in + len), start);\n if (strm.state.wrap === 1) {\n strm.adler = adler32_1(strm.adler, buf, len, start);\n }\n\n else if (strm.state.wrap === 2) {\n strm.adler = crc32_1(strm.adler, buf, len, start);\n }\n\n strm.next_in += len;\n strm.total_in += len;\n\n return len;\n};\n\n\n/* ===========================================================================\n * Set match_start to the longest match starting at the given string and\n * return its length. Matches shorter or equal to prev_length are discarded,\n * in which case the result is equal to prev_length and match_start is\n * garbage.\n * IN assertions: cur_match is the head of the hash chain for the current\n * string (strstart) and its distance is <= MAX_DIST, and prev_length >= 1\n * OUT assertion: the match length is not greater than s->lookahead.\n */\nconst longest_match = (s, cur_match) => {\n\n let chain_length = s.max_chain_length; /* max hash chain length */\n let scan = s.strstart; /* current string */\n let match; /* matched string */\n let len; /* length of current match */\n let best_len = s.prev_length; /* best match length so far */\n let nice_match = s.nice_match; /* stop if match long enough */\n const limit = (s.strstart > (s.w_size - MIN_LOOKAHEAD)) ?\n s.strstart - (s.w_size - MIN_LOOKAHEAD) : 0/*NIL*/;\n\n const _win = s.window; // shortcut\n\n const wmask = s.w_mask;\n const prev = s.prev;\n\n /* Stop when cur_match becomes <= limit. To simplify the code,\n * we prevent matches with the string of window index 0.\n */\n\n const strend = s.strstart + MAX_MATCH;\n let scan_end1 = _win[scan + best_len - 1];\n let scan_end = _win[scan + best_len];\n\n /* The code is optimized for HASH_BITS >= 8 and MAX_MATCH-2 multiple of 16.\n * It is easy to get rid of this optimization if necessary.\n */\n // Assert(s->hash_bits >= 8 && MAX_MATCH == 258, \"Code too clever\");\n\n /* Do not waste too much time if we already have a good match: */\n if (s.prev_length >= s.good_match) {\n chain_length >>= 2;\n }\n /* Do not look for matches beyond the end of the input. This is necessary\n * to make deflate deterministic.\n */\n if (nice_match > s.lookahead) { nice_match = s.lookahead; }\n\n // Assert((ulg)s->strstart <= s->window_size-MIN_LOOKAHEAD, \"need lookahead\");\n\n do {\n // Assert(cur_match < s->strstart, \"no future\");\n match = cur_match;\n\n /* Skip to next match if the match length cannot increase\n * or if the match length is less than 2. Note that the checks below\n * for insufficient lookahead only occur occasionally for performance\n * reasons. Therefore uninitialized memory will be accessed, and\n * conditional jumps will be made that depend on those values.\n * However the length of the match is limited to the lookahead, so\n * the output of deflate is not affected by the uninitialized values.\n */\n\n if (_win[match + best_len] !== scan_end ||\n _win[match + best_len - 1] !== scan_end1 ||\n _win[match] !== _win[scan] ||\n _win[++match] !== _win[scan + 1]) {\n continue;\n }\n\n /* The check at best_len-1 can be removed because it will be made\n * again later. (This heuristic is not always a win.)\n * It is not necessary to compare scan[2] and match[2] since they\n * are always equal when the other bytes match, given that\n * the hash keys are equal and that HASH_BITS >= 8.\n */\n scan += 2;\n match++;\n // Assert(*scan == *match, \"match[2]?\");\n\n /* We check for insufficient lookahead only every 8th comparison;\n * the 256th check will be made at strstart+258.\n */\n do {\n /*jshint noempty:false*/\n } while (_win[++scan] === _win[++match] && _win[++scan] === _win[++match] &&\n _win[++scan] === _win[++match] && _win[++scan] === _win[++match] &&\n _win[++scan] === _win[++match] && _win[++scan] === _win[++match] &&\n _win[++scan] === _win[++match] && _win[++scan] === _win[++match] &&\n scan < strend);\n\n // Assert(scan <= s->window+(unsigned)(s->window_size-1), \"wild scan\");\n\n len = MAX_MATCH - (strend - scan);\n scan = strend - MAX_MATCH;\n\n if (len > best_len) {\n s.match_start = cur_match;\n best_len = len;\n if (len >= nice_match) {\n break;\n }\n scan_end1 = _win[scan + best_len - 1];\n scan_end = _win[scan + best_len];\n }\n } while ((cur_match = prev[cur_match & wmask]) > limit && --chain_length !== 0);\n\n if (best_len <= s.lookahead) {\n return best_len;\n }\n return s.lookahead;\n};\n\n\n/* ===========================================================================\n * Fill the window when the lookahead becomes insufficient.\n * Updates strstart and lookahead.\n *\n * IN assertion: lookahead < MIN_LOOKAHEAD\n * OUT assertions: strstart <= window_size-MIN_LOOKAHEAD\n * At least one byte has been read, or avail_in == 0; reads are\n * performed for at least two bytes (required for the zip translate_eol\n * option -- not supported here).\n */\nconst fill_window = (s) => {\n\n const _w_size = s.w_size;\n let n, more, str;\n\n //Assert(s->lookahead < MIN_LOOKAHEAD, \"already enough lookahead\");\n\n do {\n more = s.window_size - s.lookahead - s.strstart;\n\n // JS ints have 32 bit, block below not needed\n /* Deal with !@#$% 64K limit: */\n //if (sizeof(int) <= 2) {\n // if (more == 0 && s->strstart == 0 && s->lookahead == 0) {\n // more = wsize;\n //\n // } else if (more == (unsigned)(-1)) {\n // /* Very unlikely, but possible on 16 bit machine if\n // * strstart == 0 && lookahead == 1 (input done a byte at time)\n // */\n // more--;\n // }\n //}\n\n\n /* If the window is almost full and there is insufficient lookahead,\n * move the upper half to the lower one to make room in the upper half.\n */\n if (s.strstart >= _w_size + (_w_size - MIN_LOOKAHEAD)) {\n\n s.window.set(s.window.subarray(_w_size, _w_size + _w_size - more), 0);\n s.match_start -= _w_size;\n s.strstart -= _w_size;\n /* we now have strstart >= MAX_DIST */\n s.block_start -= _w_size;\n if (s.insert > s.strstart) {\n s.insert = s.strstart;\n }\n slide_hash(s);\n more += _w_size;\n }\n if (s.strm.avail_in === 0) {\n break;\n }\n\n /* If there was no sliding:\n * strstart <= WSIZE+MAX_DIST-1 && lookahead <= MIN_LOOKAHEAD - 1 &&\n * more == window_size - lookahead - strstart\n * => more >= window_size - (MIN_LOOKAHEAD-1 + WSIZE + MAX_DIST-1)\n * => more >= window_size - 2*WSIZE + 2\n * In the BIG_MEM or MMAP case (not yet supported),\n * window_size == input_size + MIN_LOOKAHEAD &&\n * strstart + s->lookahead <= input_size => more >= MIN_LOOKAHEAD.\n * Otherwise, window_size == 2*WSIZE so more >= 2.\n * If there was sliding, more >= WSIZE. So in all cases, more >= 2.\n */\n //Assert(more >= 2, \"more < 2\");\n n = read_buf(s.strm, s.window, s.strstart + s.lookahead, more);\n s.lookahead += n;\n\n /* Initialize the hash value now that we have some input: */\n if (s.lookahead + s.insert >= MIN_MATCH) {\n str = s.strstart - s.insert;\n s.ins_h = s.window[str];\n\n /* UPDATE_HASH(s, s->ins_h, s->window[str + 1]); */\n s.ins_h = HASH(s, s.ins_h, s.window[str + 1]);\n//#if MIN_MATCH != 3\n// Call update_hash() MIN_MATCH-3 more times\n//#endif\n while (s.insert) {\n /* UPDATE_HASH(s, s->ins_h, s->window[str + MIN_MATCH-1]); */\n s.ins_h = HASH(s, s.ins_h, s.window[str + MIN_MATCH - 1]);\n\n s.prev[str & s.w_mask] = s.head[s.ins_h];\n s.head[s.ins_h] = str;\n str++;\n s.insert--;\n if (s.lookahead + s.insert < MIN_MATCH) {\n break;\n }\n }\n }\n /* If the whole input has less than MIN_MATCH bytes, ins_h is garbage,\n * but this is not important since only literal bytes will be emitted.\n */\n\n } while (s.lookahead < MIN_LOOKAHEAD && s.strm.avail_in !== 0);\n\n /* If the WIN_INIT bytes after the end of the current data have never been\n * written, then zero those bytes in order to avoid memory check reports of\n * the use of uninitialized (or uninitialised as Julian writes) bytes by\n * the longest match routines. Update the high water mark for the next\n * time through here. WIN_INIT is set to MAX_MATCH since the longest match\n * routines allow scanning to strstart + MAX_MATCH, ignoring lookahead.\n */\n// if (s.high_water < s.window_size) {\n// const curr = s.strstart + s.lookahead;\n// let init = 0;\n//\n// if (s.high_water < curr) {\n// /* Previous high water mark below current data -- zero WIN_INIT\n// * bytes or up to end of window, whichever is less.\n// */\n// init = s.window_size - curr;\n// if (init > WIN_INIT)\n// init = WIN_INIT;\n// zmemzero(s->window + curr, (unsigned)init);\n// s->high_water = curr + init;\n// }\n// else if (s->high_water < (ulg)curr + WIN_INIT) {\n// /* High water mark at or above current data, but below current data\n// * plus WIN_INIT -- zero out to current data plus WIN_INIT, or up\n// * to end of window, whichever is less.\n// */\n// init = (ulg)curr + WIN_INIT - s->high_water;\n// if (init > s->window_size - s->high_water)\n// init = s->window_size - s->high_water;\n// zmemzero(s->window + s->high_water, (unsigned)init);\n// s->high_water += init;\n// }\n// }\n//\n// Assert((ulg)s->strstart <= s->window_size - MIN_LOOKAHEAD,\n// \"not enough room for search\");\n};\n\n/* ===========================================================================\n * Copy without compression as much as possible from the input stream, return\n * the current block state.\n *\n * In case deflateParams() is used to later switch to a non-zero compression\n * level, s->matches (otherwise unused when storing) keeps track of the number\n * of hash table slides to perform. If s->matches is 1, then one hash table\n * slide will be done when switching. If s->matches is 2, the maximum value\n * allowed here, then the hash table will be cleared, since two or more slides\n * is the same as a clear.\n *\n * deflate_stored() is written to minimize the number of times an input byte is\n * copied. It is most efficient with large input and output buffers, which\n * maximizes the opportunites to have a single copy from next_in to next_out.\n */\nconst deflate_stored = (s, flush) => {\n\n /* Smallest worthy block size when not flushing or finishing. By default\n * this is 32K. This can be as small as 507 bytes for memLevel == 1. For\n * large input and output buffers, the stored block size will be larger.\n */\n let min_block = s.pending_buf_size - 5 > s.w_size ? s.w_size : s.pending_buf_size - 5;\n\n /* Copy as many min_block or larger stored blocks directly to next_out as\n * possible. If flushing, copy the remaining available input to next_out as\n * stored blocks, if there is enough space.\n */\n let len, left, have, last = 0;\n let used = s.strm.avail_in;\n do {\n /* Set len to the maximum size block that we can copy directly with the\n * available input data and output space. Set left to how much of that\n * would be copied from what's left in the window.\n */\n len = 65535/* MAX_STORED */; /* maximum deflate stored block length */\n have = (s.bi_valid + 42) >> 3; /* number of header bytes */\n if (s.strm.avail_out < have) { /* need room for header */\n break;\n }\n /* maximum stored block length that will fit in avail_out: */\n have = s.strm.avail_out - have;\n left = s.strstart - s.block_start; /* bytes left in window */\n if (len > left + s.strm.avail_in) {\n len = left + s.strm.avail_in; /* limit len to the input */\n }\n if (len > have) {\n len = have; /* limit len to the output */\n }\n\n /* If the stored block would be less than min_block in length, or if\n * unable to copy all of the available input when flushing, then try\n * copying to the window and the pending buffer instead. Also don't\n * write an empty block when flushing -- deflate() does that.\n */\n if (len < min_block && ((len === 0 && flush !== Z_FINISH$3) ||\n flush === Z_NO_FLUSH$2 ||\n len !== left + s.strm.avail_in)) {\n break;\n }\n\n /* Make a dummy stored block in pending to get the header bytes,\n * including any pending bits. This also updates the debugging counts.\n */\n last = flush === Z_FINISH$3 && len === left + s.strm.avail_in ? 1 : 0;\n _tr_stored_block(s, 0, 0, last);\n\n /* Replace the lengths in the dummy stored block with len. */\n s.pending_buf[s.pending - 4] = len;\n s.pending_buf[s.pending - 3] = len >> 8;\n s.pending_buf[s.pending - 2] = ~len;\n s.pending_buf[s.pending - 1] = ~len >> 8;\n\n /* Write the stored block header bytes. */\n flush_pending(s.strm);\n\n//#ifdef ZLIB_DEBUG\n// /* Update debugging counts for the data about to be copied. */\n// s->compressed_len += len << 3;\n// s->bits_sent += len << 3;\n//#endif\n\n /* Copy uncompressed bytes from the window to next_out. */\n if (left) {\n if (left > len) {\n left = len;\n }\n //zmemcpy(s->strm->next_out, s->window + s->block_start, left);\n s.strm.output.set(s.window.subarray(s.block_start, s.block_start + left), s.strm.next_out);\n s.strm.next_out += left;\n s.strm.avail_out -= left;\n s.strm.total_out += left;\n s.block_start += left;\n len -= left;\n }\n\n /* Copy uncompressed bytes directly from next_in to next_out, updating\n * the check value.\n */\n if (len) {\n read_buf(s.strm, s.strm.output, s.strm.next_out, len);\n s.strm.next_out += len;\n s.strm.avail_out -= len;\n s.strm.total_out += len;\n }\n } while (last === 0);\n\n /* Update the sliding window with the last s->w_size bytes of the copied\n * data, or append all of the copied data to the existing window if less\n * than s->w_size bytes were copied. Also update the number of bytes to\n * insert in the hash tables, in the event that deflateParams() switches to\n * a non-zero compression level.\n */\n used -= s.strm.avail_in; /* number of input bytes directly copied */\n if (used) {\n /* If any input was used, then no unused input remains in the window,\n * therefore s->block_start == s->strstart.\n */\n if (used >= s.w_size) { /* supplant the previous history */\n s.matches = 2; /* clear hash */\n //zmemcpy(s->window, s->strm->next_in - s->w_size, s->w_size);\n s.window.set(s.strm.input.subarray(s.strm.next_in - s.w_size, s.strm.next_in), 0);\n s.strstart = s.w_size;\n s.insert = s.strstart;\n }\n else {\n if (s.window_size - s.strstart <= used) {\n /* Slide the window down. */\n s.strstart -= s.w_size;\n //zmemcpy(s->window, s->window + s->w_size, s->strstart);\n s.window.set(s.window.subarray(s.w_size, s.w_size + s.strstart), 0);\n if (s.matches < 2) {\n s.matches++; /* add a pending slide_hash() */\n }\n if (s.insert > s.strstart) {\n s.insert = s.strstart;\n }\n }\n //zmemcpy(s->window + s->strstart, s->strm->next_in - used, used);\n s.window.set(s.strm.input.subarray(s.strm.next_in - used, s.strm.next_in), s.strstart);\n s.strstart += used;\n s.insert += used > s.w_size - s.insert ? s.w_size - s.insert : used;\n }\n s.block_start = s.strstart;\n }\n if (s.high_water < s.strstart) {\n s.high_water = s.strstart;\n }\n\n /* If the last block was written to next_out, then done. */\n if (last) {\n return BS_FINISH_DONE;\n }\n\n /* If flushing and all input has been consumed, then done. */\n if (flush !== Z_NO_FLUSH$2 && flush !== Z_FINISH$3 &&\n s.strm.avail_in === 0 && s.strstart === s.block_start) {\n return BS_BLOCK_DONE;\n }\n\n /* Fill the window with any remaining input. */\n have = s.window_size - s.strstart;\n if (s.strm.avail_in > have && s.block_start >= s.w_size) {\n /* Slide the window down. */\n s.block_start -= s.w_size;\n s.strstart -= s.w_size;\n //zmemcpy(s->window, s->window + s->w_size, s->strstart);\n s.window.set(s.window.subarray(s.w_size, s.w_size + s.strstart), 0);\n if (s.matches < 2) {\n s.matches++; /* add a pending slide_hash() */\n }\n have += s.w_size; /* more space now */\n if (s.insert > s.strstart) {\n s.insert = s.strstart;\n }\n }\n if (have > s.strm.avail_in) {\n have = s.strm.avail_in;\n }\n if (have) {\n read_buf(s.strm, s.window, s.strstart, have);\n s.strstart += have;\n s.insert += have > s.w_size - s.insert ? s.w_size - s.insert : have;\n }\n if (s.high_water < s.strstart) {\n s.high_water = s.strstart;\n }\n\n /* There was not enough avail_out to write a complete worthy or flushed\n * stored block to next_out. Write a stored block to pending instead, if we\n * have enough input for a worthy block, or if flushing and there is enough\n * room for the remaining input as a stored block in the pending buffer.\n */\n have = (s.bi_valid + 42) >> 3; /* number of header bytes */\n /* maximum stored block length that will fit in pending: */\n have = s.pending_buf_size - have > 65535/* MAX_STORED */ ? 65535/* MAX_STORED */ : s.pending_buf_size - have;\n min_block = have > s.w_size ? s.w_size : have;\n left = s.strstart - s.block_start;\n if (left >= min_block ||\n ((left || flush === Z_FINISH$3) && flush !== Z_NO_FLUSH$2 &&\n s.strm.avail_in === 0 && left <= have)) {\n len = left > have ? have : left;\n last = flush === Z_FINISH$3 && s.strm.avail_in === 0 &&\n len === left ? 1 : 0;\n _tr_stored_block(s, s.block_start, len, last);\n s.block_start += len;\n flush_pending(s.strm);\n }\n\n /* We've done all we can with the available input and output. */\n return last ? BS_FINISH_STARTED : BS_NEED_MORE;\n};\n\n\n/* ===========================================================================\n * Compress as much as possible from the input stream, return the current\n * block state.\n * This function does not perform lazy evaluation of matches and inserts\n * new strings in the dictionary only for unmatched strings or for short\n * matches. It is used only for the fast compression options.\n */\nconst deflate_fast = (s, flush) => {\n\n let hash_head; /* head of the hash chain */\n let bflush; /* set if current block must be flushed */\n\n for (;;) {\n /* Make sure that we always have enough lookahead, except\n * at the end of the input file. We need MAX_MATCH bytes\n * for the next match, plus MIN_MATCH bytes to insert the\n * string following the next match.\n */\n if (s.lookahead < MIN_LOOKAHEAD) {\n fill_window(s);\n if (s.lookahead < MIN_LOOKAHEAD && flush === Z_NO_FLUSH$2) {\n return BS_NEED_MORE;\n }\n if (s.lookahead === 0) {\n break; /* flush the current block */\n }\n }\n\n /* Insert the string window[strstart .. strstart+2] in the\n * dictionary, and set hash_head to the head of the hash chain:\n */\n hash_head = 0/*NIL*/;\n if (s.lookahead >= MIN_MATCH) {\n /*** INSERT_STRING(s, s.strstart, hash_head); ***/\n s.ins_h = HASH(s, s.ins_h, s.window[s.strstart + MIN_MATCH - 1]);\n hash_head = s.prev[s.strstart & s.w_mask] = s.head[s.ins_h];\n s.head[s.ins_h] = s.strstart;\n /***/\n }\n\n /* Find the longest match, discarding those <= prev_length.\n * At this point we have always match_length < MIN_MATCH\n */\n if (hash_head !== 0/*NIL*/ && ((s.strstart - hash_head) <= (s.w_size - MIN_LOOKAHEAD))) {\n /* To simplify the code, we prevent matches with the string\n * of window index 0 (in particular we have to avoid a match\n * of the string with itself at the start of the input file).\n */\n s.match_length = longest_match(s, hash_head);\n /* longest_match() sets match_start */\n }\n if (s.match_length >= MIN_MATCH) {\n // check_match(s, s.strstart, s.match_start, s.match_length); // for debug only\n\n /*** _tr_tally_dist(s, s.strstart - s.match_start,\n s.match_length - MIN_MATCH, bflush); ***/\n bflush = _tr_tally(s, s.strstart - s.match_start, s.match_length - MIN_MATCH);\n\n s.lookahead -= s.match_length;\n\n /* Insert new strings in the hash table only if the match length\n * is not too large. This saves time but degrades compression.\n */\n if (s.match_length <= s.max_lazy_match/*max_insert_length*/ && s.lookahead >= MIN_MATCH) {\n s.match_length--; /* string at strstart already in table */\n do {\n s.strstart++;\n /*** INSERT_STRING(s, s.strstart, hash_head); ***/\n s.ins_h = HASH(s, s.ins_h, s.window[s.strstart + MIN_MATCH - 1]);\n hash_head = s.prev[s.strstart & s.w_mask] = s.head[s.ins_h];\n s.head[s.ins_h] = s.strstart;\n /***/\n /* strstart never exceeds WSIZE-MAX_MATCH, so there are\n * always MIN_MATCH bytes ahead.\n */\n } while (--s.match_length !== 0);\n s.strstart++;\n } else\n {\n s.strstart += s.match_length;\n s.match_length = 0;\n s.ins_h = s.window[s.strstart];\n /* UPDATE_HASH(s, s.ins_h, s.window[s.strstart+1]); */\n s.ins_h = HASH(s, s.ins_h, s.window[s.strstart + 1]);\n\n//#if MIN_MATCH != 3\n// Call UPDATE_HASH() MIN_MATCH-3 more times\n//#endif\n /* If lookahead < MIN_MATCH, ins_h is garbage, but it does not\n * matter since it will be recomputed at next deflate call.\n */\n }\n } else {\n /* No match, output a literal byte */\n //Tracevv((stderr,\"%c\", s.window[s.strstart]));\n /*** _tr_tally_lit(s, s.window[s.strstart], bflush); ***/\n bflush = _tr_tally(s, 0, s.window[s.strstart]);\n\n s.lookahead--;\n s.strstart++;\n }\n if (bflush) {\n /*** FLUSH_BLOCK(s, 0); ***/\n flush_block_only(s, false);\n if (s.strm.avail_out === 0) {\n return BS_NEED_MORE;\n }\n /***/\n }\n }\n s.insert = ((s.strstart < (MIN_MATCH - 1)) ? s.strstart : MIN_MATCH - 1);\n if (flush === Z_FINISH$3) {\n /*** FLUSH_BLOCK(s, 1); ***/\n flush_block_only(s, true);\n if (s.strm.avail_out === 0) {\n return BS_FINISH_STARTED;\n }\n /***/\n return BS_FINISH_DONE;\n }\n if (s.sym_next) {\n /*** FLUSH_BLOCK(s, 0); ***/\n flush_block_only(s, false);\n if (s.strm.avail_out === 0) {\n return BS_NEED_MORE;\n }\n /***/\n }\n return BS_BLOCK_DONE;\n};\n\n/* ===========================================================================\n * Same as above, but achieves better compression. We use a lazy\n * evaluation for matches: a match is finally adopted only if there is\n * no better match at the next window position.\n */\nconst deflate_slow = (s, flush) => {\n\n let hash_head; /* head of hash chain */\n let bflush; /* set if current block must be flushed */\n\n let max_insert;\n\n /* Process the input block. */\n for (;;) {\n /* Make sure that we always have enough lookahead, except\n * at the end of the input file. We need MAX_MATCH bytes\n * for the next match, plus MIN_MATCH bytes to insert the\n * string following the next match.\n */\n if (s.lookahead < MIN_LOOKAHEAD) {\n fill_window(s);\n if (s.lookahead < MIN_LOOKAHEAD && flush === Z_NO_FLUSH$2) {\n return BS_NEED_MORE;\n }\n if (s.lookahead === 0) { break; } /* flush the current block */\n }\n\n /* Insert the string window[strstart .. strstart+2] in the\n * dictionary, and set hash_head to the head of the hash chain:\n */\n hash_head = 0/*NIL*/;\n if (s.lookahead >= MIN_MATCH) {\n /*** INSERT_STRING(s, s.strstart, hash_head); ***/\n s.ins_h = HASH(s, s.ins_h, s.window[s.strstart + MIN_MATCH - 1]);\n hash_head = s.prev[s.strstart & s.w_mask] = s.head[s.ins_h];\n s.head[s.ins_h] = s.strstart;\n /***/\n }\n\n /* Find the longest match, discarding those <= prev_length.\n */\n s.prev_length = s.match_length;\n s.prev_match = s.match_start;\n s.match_length = MIN_MATCH - 1;\n\n if (hash_head !== 0/*NIL*/ && s.prev_length < s.max_lazy_match &&\n s.strstart - hash_head <= (s.w_size - MIN_LOOKAHEAD)/*MAX_DIST(s)*/) {\n /* To simplify the code, we prevent matches with the string\n * of window index 0 (in particular we have to avoid a match\n * of the string with itself at the start of the input file).\n */\n s.match_length = longest_match(s, hash_head);\n /* longest_match() sets match_start */\n\n if (s.match_length <= 5 &&\n (s.strategy === Z_FILTERED || (s.match_length === MIN_MATCH && s.strstart - s.match_start > 4096/*TOO_FAR*/))) {\n\n /* If prev_match is also MIN_MATCH, match_start is garbage\n * but we will ignore the current match anyway.\n */\n s.match_length = MIN_MATCH - 1;\n }\n }\n /* If there was a match at the previous step and the current\n * match is not better, output the previous match:\n */\n if (s.prev_length >= MIN_MATCH && s.match_length <= s.prev_length) {\n max_insert = s.strstart + s.lookahead - MIN_MATCH;\n /* Do not insert strings in hash table beyond this. */\n\n //check_match(s, s.strstart-1, s.prev_match, s.prev_length);\n\n /***_tr_tally_dist(s, s.strstart - 1 - s.prev_match,\n s.prev_length - MIN_MATCH, bflush);***/\n bflush = _tr_tally(s, s.strstart - 1 - s.prev_match, s.prev_length - MIN_MATCH);\n /* Insert in hash table all strings up to the end of the match.\n * strstart-1 and strstart are already inserted. If there is not\n * enough lookahead, the last two strings are not inserted in\n * the hash table.\n */\n s.lookahead -= s.prev_length - 1;\n s.prev_length -= 2;\n do {\n if (++s.strstart <= max_insert) {\n /*** INSERT_STRING(s, s.strstart, hash_head); ***/\n s.ins_h = HASH(s, s.ins_h, s.window[s.strstart + MIN_MATCH - 1]);\n hash_head = s.prev[s.strstart & s.w_mask] = s.head[s.ins_h];\n s.head[s.ins_h] = s.strstart;\n /***/\n }\n } while (--s.prev_length !== 0);\n s.match_available = 0;\n s.match_length = MIN_MATCH - 1;\n s.strstart++;\n\n if (bflush) {\n /*** FLUSH_BLOCK(s, 0); ***/\n flush_block_only(s, false);\n if (s.strm.avail_out === 0) {\n return BS_NEED_MORE;\n }\n /***/\n }\n\n } else if (s.match_available) {\n /* If there was no match at the previous position, output a\n * single literal. If there was a match but the current match\n * is longer, truncate the previous match to a single literal.\n */\n //Tracevv((stderr,\"%c\", s->window[s->strstart-1]));\n /*** _tr_tally_lit(s, s.window[s.strstart-1], bflush); ***/\n bflush = _tr_tally(s, 0, s.window[s.strstart - 1]);\n\n if (bflush) {\n /*** FLUSH_BLOCK_ONLY(s, 0) ***/\n flush_block_only(s, false);\n /***/\n }\n s.strstart++;\n s.lookahead--;\n if (s.strm.avail_out === 0) {\n return BS_NEED_MORE;\n }\n } else {\n /* There is no previous match to compare with, wait for\n * the next step to decide.\n */\n s.match_available = 1;\n s.strstart++;\n s.lookahead--;\n }\n }\n //Assert (flush != Z_NO_FLUSH, \"no flush?\");\n if (s.match_available) {\n //Tracevv((stderr,\"%c\", s->window[s->strstart-1]));\n /*** _tr_tally_lit(s, s.window[s.strstart-1], bflush); ***/\n bflush = _tr_tally(s, 0, s.window[s.strstart - 1]);\n\n s.match_available = 0;\n }\n s.insert = s.strstart < MIN_MATCH - 1 ? s.strstart : MIN_MATCH - 1;\n if (flush === Z_FINISH$3) {\n /*** FLUSH_BLOCK(s, 1); ***/\n flush_block_only(s, true);\n if (s.strm.avail_out === 0) {\n return BS_FINISH_STARTED;\n }\n /***/\n return BS_FINISH_DONE;\n }\n if (s.sym_next) {\n /*** FLUSH_BLOCK(s, 0); ***/\n flush_block_only(s, false);\n if (s.strm.avail_out === 0) {\n return BS_NEED_MORE;\n }\n /***/\n }\n\n return BS_BLOCK_DONE;\n};\n\n\n/* ===========================================================================\n * For Z_RLE, simply look for runs of bytes, generate matches only of distance\n * one. Do not maintain a hash table. (It will be regenerated if this run of\n * deflate switches away from Z_RLE.)\n */\nconst deflate_rle = (s, flush) => {\n\n let bflush; /* set if current block must be flushed */\n let prev; /* byte at distance one to match */\n let scan, strend; /* scan goes up to strend for length of run */\n\n const _win = s.window;\n\n for (;;) {\n /* Make sure that we always have enough lookahead, except\n * at the end of the input file. We need MAX_MATCH bytes\n * for the longest run, plus one for the unrolled loop.\n */\n if (s.lookahead <= MAX_MATCH) {\n fill_window(s);\n if (s.lookahead <= MAX_MATCH && flush === Z_NO_FLUSH$2) {\n return BS_NEED_MORE;\n }\n if (s.lookahead === 0) { break; } /* flush the current block */\n }\n\n /* See how many times the previous byte repeats */\n s.match_length = 0;\n if (s.lookahead >= MIN_MATCH && s.strstart > 0) {\n scan = s.strstart - 1;\n prev = _win[scan];\n if (prev === _win[++scan] && prev === _win[++scan] && prev === _win[++scan]) {\n strend = s.strstart + MAX_MATCH;\n do {\n /*jshint noempty:false*/\n } while (prev === _win[++scan] && prev === _win[++scan] &&\n prev === _win[++scan] && prev === _win[++scan] &&\n prev === _win[++scan] && prev === _win[++scan] &&\n prev === _win[++scan] && prev === _win[++scan] &&\n scan < strend);\n s.match_length = MAX_MATCH - (strend - scan);\n if (s.match_length > s.lookahead) {\n s.match_length = s.lookahead;\n }\n }\n //Assert(scan <= s->window+(uInt)(s->window_size-1), \"wild scan\");\n }\n\n /* Emit match if have run of MIN_MATCH or longer, else emit literal */\n if (s.match_length >= MIN_MATCH) {\n //check_match(s, s.strstart, s.strstart - 1, s.match_length);\n\n /*** _tr_tally_dist(s, 1, s.match_length - MIN_MATCH, bflush); ***/\n bflush = _tr_tally(s, 1, s.match_length - MIN_MATCH);\n\n s.lookahead -= s.match_length;\n s.strstart += s.match_length;\n s.match_length = 0;\n } else {\n /* No match, output a literal byte */\n //Tracevv((stderr,\"%c\", s->window[s->strstart]));\n /*** _tr_tally_lit(s, s.window[s.strstart], bflush); ***/\n bflush = _tr_tally(s, 0, s.window[s.strstart]);\n\n s.lookahead--;\n s.strstart++;\n }\n if (bflush) {\n /*** FLUSH_BLOCK(s, 0); ***/\n flush_block_only(s, false);\n if (s.strm.avail_out === 0) {\n return BS_NEED_MORE;\n }\n /***/\n }\n }\n s.insert = 0;\n if (flush === Z_FINISH$3) {\n /*** FLUSH_BLOCK(s, 1); ***/\n flush_block_only(s, true);\n if (s.strm.avail_out === 0) {\n return BS_FINISH_STARTED;\n }\n /***/\n return BS_FINISH_DONE;\n }\n if (s.sym_next) {\n /*** FLUSH_BLOCK(s, 0); ***/\n flush_block_only(s, false);\n if (s.strm.avail_out === 0) {\n return BS_NEED_MORE;\n }\n /***/\n }\n return BS_BLOCK_DONE;\n};\n\n/* ===========================================================================\n * For Z_HUFFMAN_ONLY, do not look for matches. Do not maintain a hash table.\n * (It will be regenerated if this run of deflate switches away from Huffman.)\n */\nconst deflate_huff = (s, flush) => {\n\n let bflush; /* set if current block must be flushed */\n\n for (;;) {\n /* Make sure that we have a literal to write. */\n if (s.lookahead === 0) {\n fill_window(s);\n if (s.lookahead === 0) {\n if (flush === Z_NO_FLUSH$2) {\n return BS_NEED_MORE;\n }\n break; /* flush the current block */\n }\n }\n\n /* Output a literal byte */\n s.match_length = 0;\n //Tracevv((stderr,\"%c\", s->window[s->strstart]));\n /*** _tr_tally_lit(s, s.window[s.strstart], bflush); ***/\n bflush = _tr_tally(s, 0, s.window[s.strstart]);\n s.lookahead--;\n s.strstart++;\n if (bflush) {\n /*** FLUSH_BLOCK(s, 0); ***/\n flush_block_only(s, false);\n if (s.strm.avail_out === 0) {\n return BS_NEED_MORE;\n }\n /***/\n }\n }\n s.insert = 0;\n if (flush === Z_FINISH$3) {\n /*** FLUSH_BLOCK(s, 1); ***/\n flush_block_only(s, true);\n if (s.strm.avail_out === 0) {\n return BS_FINISH_STARTED;\n }\n /***/\n return BS_FINISH_DONE;\n }\n if (s.sym_next) {\n /*** FLUSH_BLOCK(s, 0); ***/\n flush_block_only(s, false);\n if (s.strm.avail_out === 0) {\n return BS_NEED_MORE;\n }\n /***/\n }\n return BS_BLOCK_DONE;\n};\n\n/* Values for max_lazy_match, good_match and max_chain_length, depending on\n * the desired pack level (0..9). The values given below have been tuned to\n * exclude worst case performance for pathological files. Better values may be\n * found for specific files.\n */\nfunction Config(good_length, max_lazy, nice_length, max_chain, func) {\n\n this.good_length = good_length;\n this.max_lazy = max_lazy;\n this.nice_length = nice_length;\n this.max_chain = max_chain;\n this.func = func;\n}\n\nconst configuration_table = [\n /* good lazy nice chain */\n new Config(0, 0, 0, 0, deflate_stored), /* 0 store only */\n new Config(4, 4, 8, 4, deflate_fast), /* 1 max speed, no lazy matches */\n new Config(4, 5, 16, 8, deflate_fast), /* 2 */\n new Config(4, 6, 32, 32, deflate_fast), /* 3 */\n\n new Config(4, 4, 16, 16, deflate_slow), /* 4 lazy matches */\n new Config(8, 16, 32, 32, deflate_slow), /* 5 */\n new Config(8, 16, 128, 128, deflate_slow), /* 6 */\n new Config(8, 32, 128, 256, deflate_slow), /* 7 */\n new Config(32, 128, 258, 1024, deflate_slow), /* 8 */\n new Config(32, 258, 258, 4096, deflate_slow) /* 9 max compression */\n];\n\n\n/* ===========================================================================\n * Initialize the \"longest match\" routines for a new zlib stream\n */\nconst lm_init = (s) => {\n\n s.window_size = 2 * s.w_size;\n\n /*** CLEAR_HASH(s); ***/\n zero(s.head); // Fill with NIL (= 0);\n\n /* Set the default configuration parameters:\n */\n s.max_lazy_match = configuration_table[s.level].max_lazy;\n s.good_match = configuration_table[s.level].good_length;\n s.nice_match = configuration_table[s.level].nice_length;\n s.max_chain_length = configuration_table[s.level].max_chain;\n\n s.strstart = 0;\n s.block_start = 0;\n s.lookahead = 0;\n s.insert = 0;\n s.match_length = s.prev_length = MIN_MATCH - 1;\n s.match_available = 0;\n s.ins_h = 0;\n};\n\n\nfunction DeflateState() {\n this.strm = null; /* pointer back to this zlib stream */\n this.status = 0; /* as the name implies */\n this.pending_buf = null; /* output still pending */\n this.pending_buf_size = 0; /* size of pending_buf */\n this.pending_out = 0; /* next pending byte to output to the stream */\n this.pending = 0; /* nb of bytes in the pending buffer */\n this.wrap = 0; /* bit 0 true for zlib, bit 1 true for gzip */\n this.gzhead = null; /* gzip header information to write */\n this.gzindex = 0; /* where in extra, name, or comment */\n this.method = Z_DEFLATED$2; /* can only be DEFLATED */\n this.last_flush = -1; /* value of flush param for previous deflate call */\n\n this.w_size = 0; /* LZ77 window size (32K by default) */\n this.w_bits = 0; /* log2(w_size) (8..16) */\n this.w_mask = 0; /* w_size - 1 */\n\n this.window = null;\n /* Sliding window. Input bytes are read into the second half of the window,\n * and move to the first half later to keep a dictionary of at least wSize\n * bytes. With this organization, matches are limited to a distance of\n * wSize-MAX_MATCH bytes, but this ensures that IO is always\n * performed with a length multiple of the block size.\n */\n\n this.window_size = 0;\n /* Actual size of window: 2*wSize, except when the user input buffer\n * is directly used as sliding window.\n */\n\n this.prev = null;\n /* Link to older string with same hash index. To limit the size of this\n * array to 64K, this link is maintained only for the last 32K strings.\n * An index in this array is thus a window index modulo 32K.\n */\n\n this.head = null; /* Heads of the hash chains or NIL. */\n\n this.ins_h = 0; /* hash index of string to be inserted */\n this.hash_size = 0; /* number of elements in hash table */\n this.hash_bits = 0; /* log2(hash_size) */\n this.hash_mask = 0; /* hash_size-1 */\n\n this.hash_shift = 0;\n /* Number of bits by which ins_h must be shifted at each input\n * step. It must be such that after MIN_MATCH steps, the oldest\n * byte no longer takes part in the hash key, that is:\n * hash_shift * MIN_MATCH >= hash_bits\n */\n\n this.block_start = 0;\n /* Window position at the beginning of the current output block. Gets\n * negative when the window is moved backwards.\n */\n\n this.match_length = 0; /* length of best match */\n this.prev_match = 0; /* previous match */\n this.match_available = 0; /* set if previous match exists */\n this.strstart = 0; /* start of string to insert */\n this.match_start = 0; /* start of matching string */\n this.lookahead = 0; /* number of valid bytes ahead in window */\n\n this.prev_length = 0;\n /* Length of the best match at previous step. Matches not greater than this\n * are discarded. This is used in the lazy match evaluation.\n */\n\n this.max_chain_length = 0;\n /* To speed up deflation, hash chains are never searched beyond this\n * length. A higher limit improves compression ratio but degrades the\n * speed.\n */\n\n this.max_lazy_match = 0;\n /* Attempt to find a better match only when the current match is strictly\n * smaller than this value. This mechanism is used only for compression\n * levels >= 4.\n */\n // That's alias to max_lazy_match, don't use directly\n //this.max_insert_length = 0;\n /* Insert new strings in the hash table only if the match length is not\n * greater than this length. This saves time but degrades compression.\n * max_insert_length is used only for compression levels <= 3.\n */\n\n this.level = 0; /* compression level (1..9) */\n this.strategy = 0; /* favor or force Huffman coding*/\n\n this.good_match = 0;\n /* Use a faster search when the previous match is longer than this */\n\n this.nice_match = 0; /* Stop searching when current match exceeds this */\n\n /* used by trees.c: */\n\n /* Didn't use ct_data typedef below to suppress compiler warning */\n\n // struct ct_data_s dyn_ltree[HEAP_SIZE]; /* literal and length tree */\n // struct ct_data_s dyn_dtree[2*D_CODES+1]; /* distance tree */\n // struct ct_data_s bl_tree[2*BL_CODES+1]; /* Huffman tree for bit lengths */\n\n // Use flat array of DOUBLE size, with interleaved fata,\n // because JS does not support effective\n this.dyn_ltree = new Uint16Array(HEAP_SIZE * 2);\n this.dyn_dtree = new Uint16Array((2 * D_CODES + 1) * 2);\n this.bl_tree = new Uint16Array((2 * BL_CODES + 1) * 2);\n zero(this.dyn_ltree);\n zero(this.dyn_dtree);\n zero(this.bl_tree);\n\n this.l_desc = null; /* desc. for literal tree */\n this.d_desc = null; /* desc. for distance tree */\n this.bl_desc = null; /* desc. for bit length tree */\n\n //ush bl_count[MAX_BITS+1];\n this.bl_count = new Uint16Array(MAX_BITS + 1);\n /* number of codes at each bit length for an optimal tree */\n\n //int heap[2*L_CODES+1]; /* heap used to build the Huffman trees */\n this.heap = new Uint16Array(2 * L_CODES + 1); /* heap used to build the Huffman trees */\n zero(this.heap);\n\n this.heap_len = 0; /* number of elements in the heap */\n this.heap_max = 0; /* element of largest frequency */\n /* The sons of heap[n] are heap[2*n] and heap[2*n+1]. heap[0] is not used.\n * The same heap array is used to build all trees.\n */\n\n this.depth = new Uint16Array(2 * L_CODES + 1); //uch depth[2*L_CODES+1];\n zero(this.depth);\n /* Depth of each subtree used as tie breaker for trees of equal frequency\n */\n\n this.sym_buf = 0; /* buffer for distances and literals/lengths */\n\n this.lit_bufsize = 0;\n /* Size of match buffer for literals/lengths. There are 4 reasons for\n * limiting lit_bufsize to 64K:\n * - frequencies can be kept in 16 bit counters\n * - if compression is not successful for the first block, all input\n * data is still in the window so we can still emit a stored block even\n * when input comes from standard input. (This can also be done for\n * all blocks if lit_bufsize is not greater than 32K.)\n * - if compression is not successful for a file smaller than 64K, we can\n * even emit a stored file instead of a stored block (saving 5 bytes).\n * This is applicable only for zip (not gzip or zlib).\n * - creating new Huffman trees less frequently may not provide fast\n * adaptation to changes in the input data statistics. (Take for\n * example a binary file with poorly compressible code followed by\n * a highly compressible string table.) Smaller buffer sizes give\n * fast adaptation but have of course the overhead of transmitting\n * trees more frequently.\n * - I can't count above 4\n */\n\n this.sym_next = 0; /* running index in sym_buf */\n this.sym_end = 0; /* symbol table full when sym_next reaches this */\n\n this.opt_len = 0; /* bit length of current block with optimal trees */\n this.static_len = 0; /* bit length of current block with static trees */\n this.matches = 0; /* number of string matches in current block */\n this.insert = 0; /* bytes at end of window left to insert */\n\n\n this.bi_buf = 0;\n /* Output buffer. bits are inserted starting at the bottom (least\n * significant bits).\n */\n this.bi_valid = 0;\n /* Number of valid bits in bi_buf. All bits above the last valid bit\n * are always zero.\n */\n\n // Used for window memory init. We safely ignore it for JS. That makes\n // sense only for pointers and memory check tools.\n //this.high_water = 0;\n /* High water mark offset in window for initialized bytes -- bytes above\n * this are set to zero in order to avoid memory check warnings when\n * longest match routines access bytes past the input. This is then\n * updated to the new high water mark.\n */\n}\n\n\n/* =========================================================================\n * Check for a valid deflate stream state. Return 0 if ok, 1 if not.\n */\nconst deflateStateCheck = (strm) => {\n\n if (!strm) {\n return 1;\n }\n const s = strm.state;\n if (!s || s.strm !== strm || (s.status !== INIT_STATE &&\n//#ifdef GZIP\n s.status !== GZIP_STATE &&\n//#endif\n s.status !== EXTRA_STATE &&\n s.status !== NAME_STATE &&\n s.status !== COMMENT_STATE &&\n s.status !== HCRC_STATE &&\n s.status !== BUSY_STATE &&\n s.status !== FINISH_STATE)) {\n return 1;\n }\n return 0;\n};\n\n\nconst deflateResetKeep = (strm) => {\n\n if (deflateStateCheck(strm)) {\n return err(strm, Z_STREAM_ERROR$2);\n }\n\n strm.total_in = strm.total_out = 0;\n strm.data_type = Z_UNKNOWN;\n\n const s = strm.state;\n s.pending = 0;\n s.pending_out = 0;\n\n if (s.wrap < 0) {\n s.wrap = -s.wrap;\n /* was made negative by deflate(..., Z_FINISH); */\n }\n s.status =\n//#ifdef GZIP\n s.wrap === 2 ? GZIP_STATE :\n//#endif\n s.wrap ? INIT_STATE : BUSY_STATE;\n strm.adler = (s.wrap === 2) ?\n 0 // crc32(0, Z_NULL, 0)\n :\n 1; // adler32(0, Z_NULL, 0)\n s.last_flush = -2;\n _tr_init(s);\n return Z_OK$3;\n};\n\n\nconst deflateReset = (strm) => {\n\n const ret = deflateResetKeep(strm);\n if (ret === Z_OK$3) {\n lm_init(strm.state);\n }\n return ret;\n};\n\n\nconst deflateSetHeader = (strm, head) => {\n\n if (deflateStateCheck(strm) || strm.state.wrap !== 2) {\n return Z_STREAM_ERROR$2;\n }\n strm.state.gzhead = head;\n return Z_OK$3;\n};\n\n\nconst deflateInit2 = (strm, level, method, windowBits, memLevel, strategy) => {\n\n if (!strm) { // === Z_NULL\n return Z_STREAM_ERROR$2;\n }\n let wrap = 1;\n\n if (level === Z_DEFAULT_COMPRESSION$1) {\n level = 6;\n }\n\n if (windowBits < 0) { /* suppress zlib wrapper */\n wrap = 0;\n windowBits = -windowBits;\n }\n\n else if (windowBits > 15) {\n wrap = 2; /* write gzip wrapper instead */\n windowBits -= 16;\n }\n\n\n if (memLevel < 1 || memLevel > MAX_MEM_LEVEL || method !== Z_DEFLATED$2 ||\n windowBits < 8 || windowBits > 15 || level < 0 || level > 9 ||\n strategy < 0 || strategy > Z_FIXED || (windowBits === 8 && wrap !== 1)) {\n return err(strm, Z_STREAM_ERROR$2);\n }\n\n\n if (windowBits === 8) {\n windowBits = 9;\n }\n /* until 256-byte window bug fixed */\n\n const s = new DeflateState();\n\n strm.state = s;\n s.strm = strm;\n s.status = INIT_STATE; /* to pass state test in deflateReset() */\n\n s.wrap = wrap;\n s.gzhead = null;\n s.w_bits = windowBits;\n s.w_size = 1 << s.w_bits;\n s.w_mask = s.w_size - 1;\n\n s.hash_bits = memLevel + 7;\n s.hash_size = 1 << s.hash_bits;\n s.hash_mask = s.hash_size - 1;\n s.hash_shift = ~~((s.hash_bits + MIN_MATCH - 1) / MIN_MATCH);\n\n s.window = new Uint8Array(s.w_size * 2);\n s.head = new Uint16Array(s.hash_size);\n s.prev = new Uint16Array(s.w_size);\n\n // Don't need mem init magic for JS.\n //s.high_water = 0; /* nothing written to s->window yet */\n\n s.lit_bufsize = 1 << (memLevel + 6); /* 16K elements by default */\n\n /* We overlay pending_buf and sym_buf. This works since the average size\n * for length/distance pairs over any compressed block is assured to be 31\n * bits or less.\n *\n * Analysis: The longest fixed codes are a length code of 8 bits plus 5\n * extra bits, for lengths 131 to 257. The longest fixed distance codes are\n * 5 bits plus 13 extra bits, for distances 16385 to 32768. The longest\n * possible fixed-codes length/distance pair is then 31 bits total.\n *\n * sym_buf starts one-fourth of the way into pending_buf. So there are\n * three bytes in sym_buf for every four bytes in pending_buf. Each symbol\n * in sym_buf is three bytes -- two for the distance and one for the\n * literal/length. As each symbol is consumed, the pointer to the next\n * sym_buf value to read moves forward three bytes. From that symbol, up to\n * 31 bits are written to pending_buf. The closest the written pending_buf\n * bits gets to the next sym_buf symbol to read is just before the last\n * code is written. At that time, 31*(n-2) bits have been written, just\n * after 24*(n-2) bits have been consumed from sym_buf. sym_buf starts at\n * 8*n bits into pending_buf. (Note that the symbol buffer fills when n-1\n * symbols are written.) The closest the writing gets to what is unread is\n * then n+14 bits. Here n is lit_bufsize, which is 16384 by default, and\n * can range from 128 to 32768.\n *\n * Therefore, at a minimum, there are 142 bits of space between what is\n * written and what is read in the overlain buffers, so the symbols cannot\n * be overwritten by the compressed data. That space is actually 139 bits,\n * due to the three-bit fixed-code block header.\n *\n * That covers the case where either Z_FIXED is specified, forcing fixed\n * codes, or when the use of fixed codes is chosen, because that choice\n * results in a smaller compressed block than dynamic codes. That latter\n * condition then assures that the above analysis also covers all dynamic\n * blocks. A dynamic-code block will only be chosen to be emitted if it has\n * fewer bits than a fixed-code block would for the same set of symbols.\n * Therefore its average symbol length is assured to be less than 31. So\n * the compressed data for a dynamic block also cannot overwrite the\n * symbols from which it is being constructed.\n */\n\n s.pending_buf_size = s.lit_bufsize * 4;\n s.pending_buf = new Uint8Array(s.pending_buf_size);\n\n // It is offset from `s.pending_buf` (size is `s.lit_bufsize * 2`)\n //s->sym_buf = s->pending_buf + s->lit_bufsize;\n s.sym_buf = s.lit_bufsize;\n\n //s->sym_end = (s->lit_bufsize - 1) * 3;\n s.sym_end = (s.lit_bufsize - 1) * 3;\n /* We avoid equality with lit_bufsize*3 because of wraparound at 64K\n * on 16 bit machines and because stored blocks are restricted to\n * 64K-1 bytes.\n */\n\n s.level = level;\n s.strategy = strategy;\n s.method = method;\n\n return deflateReset(strm);\n};\n\nconst deflateInit = (strm, level) => {\n\n return deflateInit2(strm, level, Z_DEFLATED$2, MAX_WBITS$1, DEF_MEM_LEVEL, Z_DEFAULT_STRATEGY$1);\n};\n\n\n/* ========================================================================= */\nconst deflate$2 = (strm, flush) => {\n\n if (deflateStateCheck(strm) || flush > Z_BLOCK$1 || flush < 0) {\n return strm ? err(strm, Z_STREAM_ERROR$2) : Z_STREAM_ERROR$2;\n }\n\n const s = strm.state;\n\n if (!strm.output ||\n (strm.avail_in !== 0 && !strm.input) ||\n (s.status === FINISH_STATE && flush !== Z_FINISH$3)) {\n return err(strm, (strm.avail_out === 0) ? Z_BUF_ERROR$1 : Z_STREAM_ERROR$2);\n }\n\n const old_flush = s.last_flush;\n s.last_flush = flush;\n\n /* Flush as much pending output as possible */\n if (s.pending !== 0) {\n flush_pending(strm);\n if (strm.avail_out === 0) {\n /* Since avail_out is 0, deflate will be called again with\n * more output space, but possibly with both pending and\n * avail_in equal to zero. There won't be anything to do,\n * but this is not an error situation so make sure we\n * return OK instead of BUF_ERROR at next call of deflate:\n */\n s.last_flush = -1;\n return Z_OK$3;\n }\n\n /* Make sure there is something to do and avoid duplicate consecutive\n * flushes. For repeated and useless calls with Z_FINISH, we keep\n * returning Z_STREAM_END instead of Z_BUF_ERROR.\n */\n } else if (strm.avail_in === 0 && rank(flush) <= rank(old_flush) &&\n flush !== Z_FINISH$3) {\n return err(strm, Z_BUF_ERROR$1);\n }\n\n /* User must not provide more input after the first FINISH: */\n if (s.status === FINISH_STATE && strm.avail_in !== 0) {\n return err(strm, Z_BUF_ERROR$1);\n }\n\n /* Write the header */\n if (s.status === INIT_STATE && s.wrap === 0) {\n s.status = BUSY_STATE;\n }\n if (s.status === INIT_STATE) {\n /* zlib header */\n let header = (Z_DEFLATED$2 + ((s.w_bits - 8) << 4)) << 8;\n let level_flags = -1;\n\n if (s.strategy >= Z_HUFFMAN_ONLY || s.level < 2) {\n level_flags = 0;\n } else if (s.level < 6) {\n level_flags = 1;\n } else if (s.level === 6) {\n level_flags = 2;\n } else {\n level_flags = 3;\n }\n header |= (level_flags << 6);\n if (s.strstart !== 0) { header |= PRESET_DICT; }\n header += 31 - (header % 31);\n\n putShortMSB(s, header);\n\n /* Save the adler32 of the preset dictionary: */\n if (s.strstart !== 0) {\n putShortMSB(s, strm.adler >>> 16);\n putShortMSB(s, strm.adler & 0xffff);\n }\n strm.adler = 1; // adler32(0L, Z_NULL, 0);\n s.status = BUSY_STATE;\n\n /* Compression must start with an empty pending buffer */\n flush_pending(strm);\n if (s.pending !== 0) {\n s.last_flush = -1;\n return Z_OK$3;\n }\n }\n//#ifdef GZIP\n if (s.status === GZIP_STATE) {\n /* gzip header */\n strm.adler = 0; //crc32(0L, Z_NULL, 0);\n put_byte(s, 31);\n put_byte(s, 139);\n put_byte(s, 8);\n if (!s.gzhead) { // s->gzhead == Z_NULL\n put_byte(s, 0);\n put_byte(s, 0);\n put_byte(s, 0);\n put_byte(s, 0);\n put_byte(s, 0);\n put_byte(s, s.level === 9 ? 2 :\n (s.strategy >= Z_HUFFMAN_ONLY || s.level < 2 ?\n 4 : 0));\n put_byte(s, OS_CODE);\n s.status = BUSY_STATE;\n\n /* Compression must start with an empty pending buffer */\n flush_pending(strm);\n if (s.pending !== 0) {\n s.last_flush = -1;\n return Z_OK$3;\n }\n }\n else {\n put_byte(s, (s.gzhead.text ? 1 : 0) +\n (s.gzhead.hcrc ? 2 : 0) +\n (!s.gzhead.extra ? 0 : 4) +\n (!s.gzhead.name ? 0 : 8) +\n (!s.gzhead.comment ? 0 : 16)\n );\n put_byte(s, s.gzhead.time & 0xff);\n put_byte(s, (s.gzhead.time >> 8) & 0xff);\n put_byte(s, (s.gzhead.time >> 16) & 0xff);\n put_byte(s, (s.gzhead.time >> 24) & 0xff);\n put_byte(s, s.level === 9 ? 2 :\n (s.strategy >= Z_HUFFMAN_ONLY || s.level < 2 ?\n 4 : 0));\n put_byte(s, s.gzhead.os & 0xff);\n if (s.gzhead.extra && s.gzhead.extra.length) {\n put_byte(s, s.gzhead.extra.length & 0xff);\n put_byte(s, (s.gzhead.extra.length >> 8) & 0xff);\n }\n if (s.gzhead.hcrc) {\n strm.adler = crc32_1(strm.adler, s.pending_buf, s.pending, 0);\n }\n s.gzindex = 0;\n s.status = EXTRA_STATE;\n }\n }\n if (s.status === EXTRA_STATE) {\n if (s.gzhead.extra/* != Z_NULL*/) {\n let beg = s.pending; /* start of bytes to update crc */\n let left = (s.gzhead.extra.length & 0xffff) - s.gzindex;\n while (s.pending + left > s.pending_buf_size) {\n let copy = s.pending_buf_size - s.pending;\n // zmemcpy(s.pending_buf + s.pending,\n // s.gzhead.extra + s.gzindex, copy);\n s.pending_buf.set(s.gzhead.extra.subarray(s.gzindex, s.gzindex + copy), s.pending);\n s.pending = s.pending_buf_size;\n //--- HCRC_UPDATE(beg) ---//\n if (s.gzhead.hcrc && s.pending > beg) {\n strm.adler = crc32_1(strm.adler, s.pending_buf, s.pending - beg, beg);\n }\n //---//\n s.gzindex += copy;\n flush_pending(strm);\n if (s.pending !== 0) {\n s.last_flush = -1;\n return Z_OK$3;\n }\n beg = 0;\n left -= copy;\n }\n // JS specific: s.gzhead.extra may be TypedArray or Array for backward compatibility\n // TypedArray.slice and TypedArray.from don't exist in IE10-IE11\n let gzhead_extra = new Uint8Array(s.gzhead.extra);\n // zmemcpy(s->pending_buf + s->pending,\n // s->gzhead->extra + s->gzindex, left);\n s.pending_buf.set(gzhead_extra.subarray(s.gzindex, s.gzindex + left), s.pending);\n s.pending += left;\n //--- HCRC_UPDATE(beg) ---//\n if (s.gzhead.hcrc && s.pending > beg) {\n strm.adler = crc32_1(strm.adler, s.pending_buf, s.pending - beg, beg);\n }\n //---//\n s.gzindex = 0;\n }\n s.status = NAME_STATE;\n }\n if (s.status === NAME_STATE) {\n if (s.gzhead.name/* != Z_NULL*/) {\n let beg = s.pending; /* start of bytes to update crc */\n let val;\n do {\n if (s.pending === s.pending_buf_size) {\n //--- HCRC_UPDATE(beg) ---//\n if (s.gzhead.hcrc && s.pending > beg) {\n strm.adler = crc32_1(strm.adler, s.pending_buf, s.pending - beg, beg);\n }\n //---//\n flush_pending(strm);\n if (s.pending !== 0) {\n s.last_flush = -1;\n return Z_OK$3;\n }\n beg = 0;\n }\n // JS specific: little magic to add zero terminator to end of string\n if (s.gzindex < s.gzhead.name.length) {\n val = s.gzhead.name.charCodeAt(s.gzindex++) & 0xff;\n } else {\n val = 0;\n }\n put_byte(s, val);\n } while (val !== 0);\n //--- HCRC_UPDATE(beg) ---//\n if (s.gzhead.hcrc && s.pending > beg) {\n strm.adler = crc32_1(strm.adler, s.pending_buf, s.pending - beg, beg);\n }\n //---//\n s.gzindex = 0;\n }\n s.status = COMMENT_STATE;\n }\n if (s.status === COMMENT_STATE) {\n if (s.gzhead.comment/* != Z_NULL*/) {\n let beg = s.pending; /* start of bytes to update crc */\n let val;\n do {\n if (s.pending === s.pending_buf_size) {\n //--- HCRC_UPDATE(beg) ---//\n if (s.gzhead.hcrc && s.pending > beg) {\n strm.adler = crc32_1(strm.adler, s.pending_buf, s.pending - beg, beg);\n }\n //---//\n flush_pending(strm);\n if (s.pending !== 0) {\n s.last_flush = -1;\n return Z_OK$3;\n }\n beg = 0;\n }\n // JS specific: little magic to add zero terminator to end of string\n if (s.gzindex < s.gzhead.comment.length) {\n val = s.gzhead.comment.charCodeAt(s.gzindex++) & 0xff;\n } else {\n val = 0;\n }\n put_byte(s, val);\n } while (val !== 0);\n //--- HCRC_UPDATE(beg) ---//\n if (s.gzhead.hcrc && s.pending > beg) {\n strm.adler = crc32_1(strm.adler, s.pending_buf, s.pending - beg, beg);\n }\n //---//\n }\n s.status = HCRC_STATE;\n }\n if (s.status === HCRC_STATE) {\n if (s.gzhead.hcrc) {\n if (s.pending + 2 > s.pending_buf_size) {\n flush_pending(strm);\n if (s.pending !== 0) {\n s.last_flush = -1;\n return Z_OK$3;\n }\n }\n put_byte(s, strm.adler & 0xff);\n put_byte(s, (strm.adler >> 8) & 0xff);\n strm.adler = 0; //crc32(0L, Z_NULL, 0);\n }\n s.status = BUSY_STATE;\n\n /* Compression must start with an empty pending buffer */\n flush_pending(strm);\n if (s.pending !== 0) {\n s.last_flush = -1;\n return Z_OK$3;\n }\n }\n//#endif\n\n /* Start a new block or continue the current one.\n */\n if (strm.avail_in !== 0 || s.lookahead !== 0 ||\n (flush !== Z_NO_FLUSH$2 && s.status !== FINISH_STATE)) {\n let bstate = s.level === 0 ? deflate_stored(s, flush) :\n s.strategy === Z_HUFFMAN_ONLY ? deflate_huff(s, flush) :\n s.strategy === Z_RLE ? deflate_rle(s, flush) :\n configuration_table[s.level].func(s, flush);\n\n if (bstate === BS_FINISH_STARTED || bstate === BS_FINISH_DONE) {\n s.status = FINISH_STATE;\n }\n if (bstate === BS_NEED_MORE || bstate === BS_FINISH_STARTED) {\n if (strm.avail_out === 0) {\n s.last_flush = -1;\n /* avoid BUF_ERROR next call, see above */\n }\n return Z_OK$3;\n /* If flush != Z_NO_FLUSH && avail_out == 0, the next call\n * of deflate should use the same flush parameter to make sure\n * that the flush is complete. So we don't have to output an\n * empty block here, this will be done at next call. This also\n * ensures that for a very small output buffer, we emit at most\n * one empty block.\n */\n }\n if (bstate === BS_BLOCK_DONE) {\n if (flush === Z_PARTIAL_FLUSH) {\n _tr_align(s);\n }\n else if (flush !== Z_BLOCK$1) { /* FULL_FLUSH or SYNC_FLUSH */\n\n _tr_stored_block(s, 0, 0, false);\n /* For a full flush, this empty block will be recognized\n * as a special marker by inflate_sync().\n */\n if (flush === Z_FULL_FLUSH$1) {\n /*** CLEAR_HASH(s); ***/ /* forget history */\n zero(s.head); // Fill with NIL (= 0);\n\n if (s.lookahead === 0) {\n s.strstart = 0;\n s.block_start = 0;\n s.insert = 0;\n }\n }\n }\n flush_pending(strm);\n if (strm.avail_out === 0) {\n s.last_flush = -1; /* avoid BUF_ERROR at next call, see above */\n return Z_OK$3;\n }\n }\n }\n\n if (flush !== Z_FINISH$3) { return Z_OK$3; }\n if (s.wrap <= 0) { return Z_STREAM_END$3; }\n\n /* Write the trailer */\n if (s.wrap === 2) {\n put_byte(s, strm.adler & 0xff);\n put_byte(s, (strm.adler >> 8) & 0xff);\n put_byte(s, (strm.adler >> 16) & 0xff);\n put_byte(s, (strm.adler >> 24) & 0xff);\n put_byte(s, strm.total_in & 0xff);\n put_byte(s, (strm.total_in >> 8) & 0xff);\n put_byte(s, (strm.total_in >> 16) & 0xff);\n put_byte(s, (strm.total_in >> 24) & 0xff);\n }\n else\n {\n putShortMSB(s, strm.adler >>> 16);\n putShortMSB(s, strm.adler & 0xffff);\n }\n\n flush_pending(strm);\n /* If avail_out is zero, the application will call deflate again\n * to flush the rest.\n */\n if (s.wrap > 0) { s.wrap = -s.wrap; }\n /* write the trailer only once! */\n return s.pending !== 0 ? Z_OK$3 : Z_STREAM_END$3;\n};\n\n\nconst deflateEnd = (strm) => {\n\n if (deflateStateCheck(strm)) {\n return Z_STREAM_ERROR$2;\n }\n\n const status = strm.state.status;\n\n strm.state = null;\n\n return status === BUSY_STATE ? err(strm, Z_DATA_ERROR$2) : Z_OK$3;\n};\n\n\n/* =========================================================================\n * Initializes the compression dictionary from the given byte\n * sequence without producing any compressed output.\n */\nconst deflateSetDictionary = (strm, dictionary) => {\n\n let dictLength = dictionary.length;\n\n if (deflateStateCheck(strm)) {\n return Z_STREAM_ERROR$2;\n }\n\n const s = strm.state;\n const wrap = s.wrap;\n\n if (wrap === 2 || (wrap === 1 && s.status !== INIT_STATE) || s.lookahead) {\n return Z_STREAM_ERROR$2;\n }\n\n /* when using zlib wrappers, compute Adler-32 for provided dictionary */\n if (wrap === 1) {\n /* adler32(strm->adler, dictionary, dictLength); */\n strm.adler = adler32_1(strm.adler, dictionary, dictLength, 0);\n }\n\n s.wrap = 0; /* avoid computing Adler-32 in read_buf */\n\n /* if dictionary would fill window, just replace the history */\n if (dictLength >= s.w_size) {\n if (wrap === 0) { /* already empty otherwise */\n /*** CLEAR_HASH(s); ***/\n zero(s.head); // Fill with NIL (= 0);\n s.strstart = 0;\n s.block_start = 0;\n s.insert = 0;\n }\n /* use the tail */\n // dictionary = dictionary.slice(dictLength - s.w_size);\n let tmpDict = new Uint8Array(s.w_size);\n tmpDict.set(dictionary.subarray(dictLength - s.w_size, dictLength), 0);\n dictionary = tmpDict;\n dictLength = s.w_size;\n }\n /* insert dictionary into window and hash */\n const avail = strm.avail_in;\n const next = strm.next_in;\n const input = strm.input;\n strm.avail_in = dictLength;\n strm.next_in = 0;\n strm.input = dictionary;\n fill_window(s);\n while (s.lookahead >= MIN_MATCH) {\n let str = s.strstart;\n let n = s.lookahead - (MIN_MATCH - 1);\n do {\n /* UPDATE_HASH(s, s->ins_h, s->window[str + MIN_MATCH-1]); */\n s.ins_h = HASH(s, s.ins_h, s.window[str + MIN_MATCH - 1]);\n\n s.prev[str & s.w_mask] = s.head[s.ins_h];\n\n s.head[s.ins_h] = str;\n str++;\n } while (--n);\n s.strstart = str;\n s.lookahead = MIN_MATCH - 1;\n fill_window(s);\n }\n s.strstart += s.lookahead;\n s.block_start = s.strstart;\n s.insert = s.lookahead;\n s.lookahead = 0;\n s.match_length = s.prev_length = MIN_MATCH - 1;\n s.match_available = 0;\n strm.next_in = next;\n strm.input = input;\n strm.avail_in = avail;\n s.wrap = wrap;\n return Z_OK$3;\n};\n\n\nvar deflateInit_1 = deflateInit;\nvar deflateInit2_1 = deflateInit2;\nvar deflateReset_1 = deflateReset;\nvar deflateResetKeep_1 = deflateResetKeep;\nvar deflateSetHeader_1 = deflateSetHeader;\nvar deflate_2$1 = deflate$2;\nvar deflateEnd_1 = deflateEnd;\nvar deflateSetDictionary_1 = deflateSetDictionary;\nvar deflateInfo = 'pako deflate (from Nodeca project)';\n\n/* Not implemented\nmodule.exports.deflateBound = deflateBound;\nmodule.exports.deflateCopy = deflateCopy;\nmodule.exports.deflateGetDictionary = deflateGetDictionary;\nmodule.exports.deflateParams = deflateParams;\nmodule.exports.deflatePending = deflatePending;\nmodule.exports.deflatePrime = deflatePrime;\nmodule.exports.deflateTune = deflateTune;\n*/\n\nvar deflate_1$2 = {\n\tdeflateInit: deflateInit_1,\n\tdeflateInit2: deflateInit2_1,\n\tdeflateReset: deflateReset_1,\n\tdeflateResetKeep: deflateResetKeep_1,\n\tdeflateSetHeader: deflateSetHeader_1,\n\tdeflate: deflate_2$1,\n\tdeflateEnd: deflateEnd_1,\n\tdeflateSetDictionary: deflateSetDictionary_1,\n\tdeflateInfo: deflateInfo\n};\n\nconst _has = (obj, key) => {\n return Object.prototype.hasOwnProperty.call(obj, key);\n};\n\nvar assign = function (obj /*from1, from2, from3, ...*/) {\n const sources = Array.prototype.slice.call(arguments, 1);\n while (sources.length) {\n const source = sources.shift();\n if (!source) { continue; }\n\n if (typeof source !== 'object') {\n throw new TypeError(source + 'must be non-object');\n }\n\n for (const p in source) {\n if (_has(source, p)) {\n obj[p] = source[p];\n }\n }\n }\n\n return obj;\n};\n\n\n// Join array of chunks to single array.\nvar flattenChunks = (chunks) => {\n // calculate data length\n let len = 0;\n\n for (let i = 0, l = chunks.length; i < l; i++) {\n len += chunks[i].length;\n }\n\n // join chunks\n const result = new Uint8Array(len);\n\n for (let i = 0, pos = 0, l = chunks.length; i < l; i++) {\n let chunk = chunks[i];\n result.set(chunk, pos);\n pos += chunk.length;\n }\n\n return result;\n};\n\nvar common = {\n\tassign: assign,\n\tflattenChunks: flattenChunks\n};\n\n// String encode/decode helpers\n\n\n// Quick check if we can use fast array to bin string conversion\n//\n// - apply(Array) can fail on Android 2.2\n// - apply(Uint8Array) can fail on iOS 5.1 Safari\n//\nlet STR_APPLY_UIA_OK = true;\n\ntry { String.fromCharCode.apply(null, new Uint8Array(1)); } catch (__) { STR_APPLY_UIA_OK = false; }\n\n\n// Table with utf8 lengths (calculated by first byte of sequence)\n// Note, that 5 & 6-byte values and some 4-byte values can not be represented in JS,\n// because max possible codepoint is 0x10ffff\nconst _utf8len = new Uint8Array(256);\nfor (let q = 0; q < 256; q++) {\n _utf8len[q] = (q >= 252 ? 6 : q >= 248 ? 5 : q >= 240 ? 4 : q >= 224 ? 3 : q >= 192 ? 2 : 1);\n}\n_utf8len[254] = _utf8len[254] = 1; // Invalid sequence start\n\n\n// convert string to array (typed, when possible)\nvar string2buf = (str) => {\n if (typeof TextEncoder === 'function' && TextEncoder.prototype.encode) {\n return new TextEncoder().encode(str);\n }\n\n let buf, c, c2, m_pos, i, str_len = str.length, buf_len = 0;\n\n // count binary size\n for (m_pos = 0; m_pos < str_len; m_pos++) {\n c = str.charCodeAt(m_pos);\n if ((c & 0xfc00) === 0xd800 && (m_pos + 1 < str_len)) {\n c2 = str.charCodeAt(m_pos + 1);\n if ((c2 & 0xfc00) === 0xdc00) {\n c = 0x10000 + ((c - 0xd800) << 10) + (c2 - 0xdc00);\n m_pos++;\n }\n }\n buf_len += c < 0x80 ? 1 : c < 0x800 ? 2 : c < 0x10000 ? 3 : 4;\n }\n\n // allocate buffer\n buf = new Uint8Array(buf_len);\n\n // convert\n for (i = 0, m_pos = 0; i < buf_len; m_pos++) {\n c = str.charCodeAt(m_pos);\n if ((c & 0xfc00) === 0xd800 && (m_pos + 1 < str_len)) {\n c2 = str.charCodeAt(m_pos + 1);\n if ((c2 & 0xfc00) === 0xdc00) {\n c = 0x10000 + ((c - 0xd800) << 10) + (c2 - 0xdc00);\n m_pos++;\n }\n }\n if (c < 0x80) {\n /* one byte */\n buf[i++] = c;\n } else if (c < 0x800) {\n /* two bytes */\n buf[i++] = 0xC0 | (c >>> 6);\n buf[i++] = 0x80 | (c & 0x3f);\n } else if (c < 0x10000) {\n /* three bytes */\n buf[i++] = 0xE0 | (c >>> 12);\n buf[i++] = 0x80 | (c >>> 6 & 0x3f);\n buf[i++] = 0x80 | (c & 0x3f);\n } else {\n /* four bytes */\n buf[i++] = 0xf0 | (c >>> 18);\n buf[i++] = 0x80 | (c >>> 12 & 0x3f);\n buf[i++] = 0x80 | (c >>> 6 & 0x3f);\n buf[i++] = 0x80 | (c & 0x3f);\n }\n }\n\n return buf;\n};\n\n// Helper\nconst buf2binstring = (buf, len) => {\n // On Chrome, the arguments in a function call that are allowed is `65534`.\n // If the length of the buffer is smaller than that, we can use this optimization,\n // otherwise we will take a slower path.\n if (len < 65534) {\n if (buf.subarray && STR_APPLY_UIA_OK) {\n return String.fromCharCode.apply(null, buf.length === len ? buf : buf.subarray(0, len));\n }\n }\n\n let result = '';\n for (let i = 0; i < len; i++) {\n result += String.fromCharCode(buf[i]);\n }\n return result;\n};\n\n\n// convert array to string\nvar buf2string = (buf, max) => {\n const len = max || buf.length;\n\n if (typeof TextDecoder === 'function' && TextDecoder.prototype.decode) {\n return new TextDecoder().decode(buf.subarray(0, max));\n }\n\n let i, out;\n\n // Reserve max possible length (2 words per char)\n // NB: by unknown reasons, Array is significantly faster for\n // String.fromCharCode.apply than Uint16Array.\n const utf16buf = new Array(len * 2);\n\n for (out = 0, i = 0; i < len;) {\n let c = buf[i++];\n // quick process ascii\n if (c < 0x80) { utf16buf[out++] = c; continue; }\n\n let c_len = _utf8len[c];\n // skip 5 & 6 byte codes\n if (c_len > 4) { utf16buf[out++] = 0xfffd; i += c_len - 1; continue; }\n\n // apply mask on first byte\n c &= c_len === 2 ? 0x1f : c_len === 3 ? 0x0f : 0x07;\n // join the rest\n while (c_len > 1 && i < len) {\n c = (c << 6) | (buf[i++] & 0x3f);\n c_len--;\n }\n\n // terminated by end of string?\n if (c_len > 1) { utf16buf[out++] = 0xfffd; continue; }\n\n if (c < 0x10000) {\n utf16buf[out++] = c;\n } else {\n c -= 0x10000;\n utf16buf[out++] = 0xd800 | ((c >> 10) & 0x3ff);\n utf16buf[out++] = 0xdc00 | (c & 0x3ff);\n }\n }\n\n return buf2binstring(utf16buf, out);\n};\n\n\n// Calculate max possible position in utf8 buffer,\n// that will not break sequence. If that's not possible\n// - (very small limits) return max size as is.\n//\n// buf[] - utf8 bytes array\n// max - length limit (mandatory);\nvar utf8border = (buf, max) => {\n\n max = max || buf.length;\n if (max > buf.length) { max = buf.length; }\n\n // go back from last position, until start of sequence found\n let pos = max - 1;\n while (pos >= 0 && (buf[pos] & 0xC0) === 0x80) { pos--; }\n\n // Very small and broken sequence,\n // return max, because we should return something anyway.\n if (pos < 0) { return max; }\n\n // If we came to start of buffer - that means buffer is too small,\n // return max too.\n if (pos === 0) { return max; }\n\n return (pos + _utf8len[buf[pos]] > max) ? pos : max;\n};\n\nvar strings = {\n\tstring2buf: string2buf,\n\tbuf2string: buf2string,\n\tutf8border: utf8border\n};\n\n// (C) 1995-2013 Jean-loup Gailly and Mark Adler\n// (C) 2014-2017 Vitaly Puzrin and Andrey Tupitsin\n//\n// This software is provided 'as-is', without any express or implied\n// warranty. In no event will the authors be held liable for any damages\n// arising from the use of this software.\n//\n// Permission is granted to anyone to use this software for any purpose,\n// including commercial applications, and to alter it and redistribute it\n// freely, subject to the following restrictions:\n//\n// 1. The origin of this software must not be misrepresented; you must not\n// claim that you wrote the original software. If you use this software\n// in a product, an acknowledgment in the product documentation would be\n// appreciated but is not required.\n// 2. Altered source versions must be plainly marked as such, and must not be\n// misrepresented as being the original software.\n// 3. This notice may not be removed or altered from any source distribution.\n\nfunction ZStream() {\n /* next input byte */\n this.input = null; // JS specific, because we have no pointers\n this.next_in = 0;\n /* number of bytes available at input */\n this.avail_in = 0;\n /* total number of input bytes read so far */\n this.total_in = 0;\n /* next output byte should be put there */\n this.output = null; // JS specific, because we have no pointers\n this.next_out = 0;\n /* remaining free space at output */\n this.avail_out = 0;\n /* total number of bytes output so far */\n this.total_out = 0;\n /* last error message, NULL if no error */\n this.msg = ''/*Z_NULL*/;\n /* not visible by applications */\n this.state = null;\n /* best guess about the data type: binary or text */\n this.data_type = 2/*Z_UNKNOWN*/;\n /* adler32 value of the uncompressed data */\n this.adler = 0;\n}\n\nvar zstream = ZStream;\n\nconst toString$1 = Object.prototype.toString;\n\n/* Public constants ==========================================================*/\n/* ===========================================================================*/\n\nconst {\n Z_NO_FLUSH: Z_NO_FLUSH$1, Z_SYNC_FLUSH, Z_FULL_FLUSH, Z_FINISH: Z_FINISH$2,\n Z_OK: Z_OK$2, Z_STREAM_END: Z_STREAM_END$2,\n Z_DEFAULT_COMPRESSION,\n Z_DEFAULT_STRATEGY,\n Z_DEFLATED: Z_DEFLATED$1\n} = constants$2;\n\n/* ===========================================================================*/\n\n\n/**\n * class Deflate\n *\n * Generic JS-style wrapper for zlib calls. If you don't need\n * streaming behaviour - use more simple functions: [[deflate]],\n * [[deflateRaw]] and [[gzip]].\n **/\n\n/* internal\n * Deflate.chunks -> Array\n *\n * Chunks of output data, if [[Deflate#onData]] not overridden.\n **/\n\n/**\n * Deflate.result -> Uint8Array\n *\n * Compressed result, generated by default [[Deflate#onData]]\n * and [[Deflate#onEnd]] handlers. Filled after you push last chunk\n * (call [[Deflate#push]] with `Z_FINISH` / `true` param).\n **/\n\n/**\n * Deflate.err -> Number\n *\n * Error code after deflate finished. 0 (Z_OK) on success.\n * You will not need it in real life, because deflate errors\n * are possible only on wrong options or bad `onData` / `onEnd`\n * custom handlers.\n **/\n\n/**\n * Deflate.msg -> String\n *\n * Error message, if [[Deflate.err]] != 0\n **/\n\n\n/**\n * new Deflate(options)\n * - options (Object): zlib deflate options.\n *\n * Creates new deflator instance with specified params. Throws exception\n * on bad params. Supported options:\n *\n * - `level`\n * - `windowBits`\n * - `memLevel`\n * - `strategy`\n * - `dictionary`\n *\n * [http://zlib.net/manual.html#Advanced](http://zlib.net/manual.html#Advanced)\n * for more information on these.\n *\n * Additional options, for internal needs:\n *\n * - `chunkSize` - size of generated data chunks (16K by default)\n * - `raw` (Boolean) - do raw deflate\n * - `gzip` (Boolean) - create gzip wrapper\n * - `header` (Object) - custom header for gzip\n * - `text` (Boolean) - true if compressed data believed to be text\n * - `time` (Number) - modification time, unix timestamp\n * - `os` (Number) - operation system code\n * - `extra` (Array) - array of bytes with extra data (max 65536)\n * - `name` (String) - file name (binary string)\n * - `comment` (String) - comment (binary string)\n * - `hcrc` (Boolean) - true if header crc should be added\n *\n * ##### Example:\n *\n * ```javascript\n * const pako = require('pako')\n * , chunk1 = new Uint8Array([1,2,3,4,5,6,7,8,9])\n * , chunk2 = new Uint8Array([10,11,12,13,14,15,16,17,18,19]);\n *\n * const deflate = new pako.Deflate({ level: 3});\n *\n * deflate.push(chunk1, false);\n * deflate.push(chunk2, true); // true -> last chunk\n *\n * if (deflate.err) { throw new Error(deflate.err); }\n *\n * console.log(deflate.result);\n * ```\n **/\nfunction Deflate$1(options) {\n this.options = common.assign({\n level: Z_DEFAULT_COMPRESSION,\n method: Z_DEFLATED$1,\n chunkSize: 16384,\n windowBits: 15,\n memLevel: 8,\n strategy: Z_DEFAULT_STRATEGY\n }, options || {});\n\n let opt = this.options;\n\n if (opt.raw && (opt.windowBits > 0)) {\n opt.windowBits = -opt.windowBits;\n }\n\n else if (opt.gzip && (opt.windowBits > 0) && (opt.windowBits < 16)) {\n opt.windowBits += 16;\n }\n\n this.err = 0; // error code, if happens (0 = Z_OK)\n this.msg = ''; // error message\n this.ended = false; // used to avoid multiple onEnd() calls\n this.chunks = []; // chunks of compressed data\n\n this.strm = new zstream();\n this.strm.avail_out = 0;\n\n let status = deflate_1$2.deflateInit2(\n this.strm,\n opt.level,\n opt.method,\n opt.windowBits,\n opt.memLevel,\n opt.strategy\n );\n\n if (status !== Z_OK$2) {\n throw new Error(messages[status]);\n }\n\n if (opt.header) {\n deflate_1$2.deflateSetHeader(this.strm, opt.header);\n }\n\n if (opt.dictionary) {\n let dict;\n // Convert data if needed\n if (typeof opt.dictionary === 'string') {\n // If we need to compress text, change encoding to utf8.\n dict = strings.string2buf(opt.dictionary);\n } else if (toString$1.call(opt.dictionary) === '[object ArrayBuffer]') {\n dict = new Uint8Array(opt.dictionary);\n } else {\n dict = opt.dictionary;\n }\n\n status = deflate_1$2.deflateSetDictionary(this.strm, dict);\n\n if (status !== Z_OK$2) {\n throw new Error(messages[status]);\n }\n\n this._dict_set = true;\n }\n}\n\n/**\n * Deflate#push(data[, flush_mode]) -> Boolean\n * - data (Uint8Array|ArrayBuffer|String): input data. Strings will be\n * converted to utf8 byte sequence.\n * - flush_mode (Number|Boolean): 0..6 for corresponding Z_NO_FLUSH..Z_TREE modes.\n * See constants. Skipped or `false` means Z_NO_FLUSH, `true` means Z_FINISH.\n *\n * Sends input data to deflate pipe, generating [[Deflate#onData]] calls with\n * new compressed chunks. Returns `true` on success. The last data block must\n * have `flush_mode` Z_FINISH (or `true`). That will flush internal pending\n * buffers and call [[Deflate#onEnd]].\n *\n * On fail call [[Deflate#onEnd]] with error code and return false.\n *\n * ##### Example\n *\n * ```javascript\n * push(chunk, false); // push one of data chunks\n * ...\n * push(chunk, true); // push last chunk\n * ```\n **/\nDeflate$1.prototype.push = function (data, flush_mode) {\n const strm = this.strm;\n const chunkSize = this.options.chunkSize;\n let status, _flush_mode;\n\n if (this.ended) { return false; }\n\n if (flush_mode === ~~flush_mode) _flush_mode = flush_mode;\n else _flush_mode = flush_mode === true ? Z_FINISH$2 : Z_NO_FLUSH$1;\n\n // Convert data if needed\n if (typeof data === 'string') {\n // If we need to compress text, change encoding to utf8.\n strm.input = strings.string2buf(data);\n } else if (toString$1.call(data) === '[object ArrayBuffer]') {\n strm.input = new Uint8Array(data);\n } else {\n strm.input = data;\n }\n\n strm.next_in = 0;\n strm.avail_in = strm.input.length;\n\n for (;;) {\n if (strm.avail_out === 0) {\n strm.output = new Uint8Array(chunkSize);\n strm.next_out = 0;\n strm.avail_out = chunkSize;\n }\n\n // Make sure avail_out > 6 to avoid repeating markers\n if ((_flush_mode === Z_SYNC_FLUSH || _flush_mode === Z_FULL_FLUSH) && strm.avail_out <= 6) {\n this.onData(strm.output.subarray(0, strm.next_out));\n strm.avail_out = 0;\n continue;\n }\n\n status = deflate_1$2.deflate(strm, _flush_mode);\n\n // Ended => flush and finish\n if (status === Z_STREAM_END$2) {\n if (strm.next_out > 0) {\n this.onData(strm.output.subarray(0, strm.next_out));\n }\n status = deflate_1$2.deflateEnd(this.strm);\n this.onEnd(status);\n this.ended = true;\n return status === Z_OK$2;\n }\n\n // Flush if out buffer full\n if (strm.avail_out === 0) {\n this.onData(strm.output);\n continue;\n }\n\n // Flush if requested and has data\n if (_flush_mode > 0 && strm.next_out > 0) {\n this.onData(strm.output.subarray(0, strm.next_out));\n strm.avail_out = 0;\n continue;\n }\n\n if (strm.avail_in === 0) break;\n }\n\n return true;\n};\n\n\n/**\n * Deflate#onData(chunk) -> Void\n * - chunk (Uint8Array): output data.\n *\n * By default, stores data blocks in `chunks[]` property and glue\n * those in `onEnd`. Override this handler, if you need another behaviour.\n **/\nDeflate$1.prototype.onData = function (chunk) {\n this.chunks.push(chunk);\n};\n\n\n/**\n * Deflate#onEnd(status) -> Void\n * - status (Number): deflate status. 0 (Z_OK) on success,\n * other if not.\n *\n * Called once after you tell deflate that the input stream is\n * complete (Z_FINISH). By default - join collected chunks,\n * free memory and fill `results` / `err` properties.\n **/\nDeflate$1.prototype.onEnd = function (status) {\n // On success - join\n if (status === Z_OK$2) {\n this.result = common.flattenChunks(this.chunks);\n }\n this.chunks = [];\n this.err = status;\n this.msg = this.strm.msg;\n};\n\n\n/**\n * deflate(data[, options]) -> Uint8Array\n * - data (Uint8Array|ArrayBuffer|String): input data to compress.\n * - options (Object): zlib deflate options.\n *\n * Compress `data` with deflate algorithm and `options`.\n *\n * Supported options are:\n *\n * - level\n * - windowBits\n * - memLevel\n * - strategy\n * - dictionary\n *\n * [http://zlib.net/manual.html#Advanced](http://zlib.net/manual.html#Advanced)\n * for more information on these.\n *\n * Sugar (options):\n *\n * - `raw` (Boolean) - say that we work with raw stream, if you don't wish to specify\n * negative windowBits implicitly.\n *\n * ##### Example:\n *\n * ```javascript\n * const pako = require('pako')\n * const data = new Uint8Array([1,2,3,4,5,6,7,8,9]);\n *\n * console.log(pako.deflate(data));\n * ```\n **/\nfunction deflate$1(input, options) {\n const deflator = new Deflate$1(options);\n\n deflator.push(input, true);\n\n // That will never happens, if you don't cheat with options :)\n if (deflator.err) { throw deflator.msg || messages[deflator.err]; }\n\n return deflator.result;\n}\n\n\n/**\n * deflateRaw(data[, options]) -> Uint8Array\n * - data (Uint8Array|ArrayBuffer|String): input data to compress.\n * - options (Object): zlib deflate options.\n *\n * The same as [[deflate]], but creates raw data, without wrapper\n * (header and adler32 crc).\n **/\nfunction deflateRaw$1(input, options) {\n options = options || {};\n options.raw = true;\n return deflate$1(input, options);\n}\n\n\n/**\n * gzip(data[, options]) -> Uint8Array\n * - data (Uint8Array|ArrayBuffer|String): input data to compress.\n * - options (Object): zlib deflate options.\n *\n * The same as [[deflate]], but create gzip wrapper instead of\n * deflate one.\n **/\nfunction gzip$1(input, options) {\n options = options || {};\n options.gzip = true;\n return deflate$1(input, options);\n}\n\n\nvar Deflate_1$1 = Deflate$1;\nvar deflate_2 = deflate$1;\nvar deflateRaw_1$1 = deflateRaw$1;\nvar gzip_1$1 = gzip$1;\nvar constants$1 = constants$2;\n\nvar deflate_1$1 = {\n\tDeflate: Deflate_1$1,\n\tdeflate: deflate_2,\n\tdeflateRaw: deflateRaw_1$1,\n\tgzip: gzip_1$1,\n\tconstants: constants$1\n};\n\n// (C) 1995-2013 Jean-loup Gailly and Mark Adler\n// (C) 2014-2017 Vitaly Puzrin and Andrey Tupitsin\n//\n// This software is provided 'as-is', without any express or implied\n// warranty. In no event will the authors be held liable for any damages\n// arising from the use of this software.\n//\n// Permission is granted to anyone to use this software for any purpose,\n// including commercial applications, and to alter it and redistribute it\n// freely, subject to the following restrictions:\n//\n// 1. The origin of this software must not be misrepresented; you must not\n// claim that you wrote the original software. If you use this software\n// in a product, an acknowledgment in the product documentation would be\n// appreciated but is not required.\n// 2. Altered source versions must be plainly marked as such, and must not be\n// misrepresented as being the original software.\n// 3. This notice may not be removed or altered from any source distribution.\n\n// See state defs from inflate.js\nconst BAD$1 = 16209; /* got a data error -- remain here until reset */\nconst TYPE$1 = 16191; /* i: waiting for type bits, including last-flag bit */\n\n/*\n Decode literal, length, and distance codes and write out the resulting\n literal and match bytes until either not enough input or output is\n available, an end-of-block is encountered, or a data error is encountered.\n When large enough input and output buffers are supplied to inflate(), for\n example, a 16K input buffer and a 64K output buffer, more than 95% of the\n inflate execution time is spent in this routine.\n\n Entry assumptions:\n\n state.mode === LEN\n strm.avail_in >= 6\n strm.avail_out >= 258\n start >= strm.avail_out\n state.bits < 8\n\n On return, state.mode is one of:\n\n LEN -- ran out of enough output space or enough available input\n TYPE -- reached end of block code, inflate() to interpret next block\n BAD -- error in block data\n\n Notes:\n\n - The maximum input bits used by a length/distance pair is 15 bits for the\n length code, 5 bits for the length extra, 15 bits for the distance code,\n and 13 bits for the distance extra. This totals 48 bits, or six bytes.\n Therefore if strm.avail_in >= 6, then there is enough input to avoid\n checking for available input while decoding.\n\n - The maximum bytes that a single length/distance pair can output is 258\n bytes, which is the maximum length that can be coded. inflate_fast()\n requires strm.avail_out >= 258 for each loop to avoid checking for\n output space.\n */\nvar inffast = function inflate_fast(strm, start) {\n let _in; /* local strm.input */\n let last; /* have enough input while in < last */\n let _out; /* local strm.output */\n let beg; /* inflate()'s initial strm.output */\n let end; /* while out < end, enough space available */\n//#ifdef INFLATE_STRICT\n let dmax; /* maximum distance from zlib header */\n//#endif\n let wsize; /* window size or zero if not using window */\n let whave; /* valid bytes in the window */\n let wnext; /* window write index */\n // Use `s_window` instead `window`, avoid conflict with instrumentation tools\n let s_window; /* allocated sliding window, if wsize != 0 */\n let hold; /* local strm.hold */\n let bits; /* local strm.bits */\n let lcode; /* local strm.lencode */\n let dcode; /* local strm.distcode */\n let lmask; /* mask for first level of length codes */\n let dmask; /* mask for first level of distance codes */\n let here; /* retrieved table entry */\n let op; /* code bits, operation, extra bits, or */\n /* window position, window bytes to copy */\n let len; /* match length, unused bytes */\n let dist; /* match distance */\n let from; /* where to copy match from */\n let from_source;\n\n\n let input, output; // JS specific, because we have no pointers\n\n /* copy state to local variables */\n const state = strm.state;\n //here = state.here;\n _in = strm.next_in;\n input = strm.input;\n last = _in + (strm.avail_in - 5);\n _out = strm.next_out;\n output = strm.output;\n beg = _out - (start - strm.avail_out);\n end = _out + (strm.avail_out - 257);\n//#ifdef INFLATE_STRICT\n dmax = state.dmax;\n//#endif\n wsize = state.wsize;\n whave = state.whave;\n wnext = state.wnext;\n s_window = state.window;\n hold = state.hold;\n bits = state.bits;\n lcode = state.lencode;\n dcode = state.distcode;\n lmask = (1 << state.lenbits) - 1;\n dmask = (1 << state.distbits) - 1;\n\n\n /* decode literals and length/distances until end-of-block or not enough\n input data or output space */\n\n top:\n do {\n if (bits < 15) {\n hold += input[_in++] << bits;\n bits += 8;\n hold += input[_in++] << bits;\n bits += 8;\n }\n\n here = lcode[hold & lmask];\n\n dolen:\n for (;;) { // Goto emulation\n op = here >>> 24/*here.bits*/;\n hold >>>= op;\n bits -= op;\n op = (here >>> 16) & 0xff/*here.op*/;\n if (op === 0) { /* literal */\n //Tracevv((stderr, here.val >= 0x20 && here.val < 0x7f ?\n // \"inflate: literal '%c'\\n\" :\n // \"inflate: literal 0x%02x\\n\", here.val));\n output[_out++] = here & 0xffff/*here.val*/;\n }\n else if (op & 16) { /* length base */\n len = here & 0xffff/*here.val*/;\n op &= 15; /* number of extra bits */\n if (op) {\n if (bits < op) {\n hold += input[_in++] << bits;\n bits += 8;\n }\n len += hold & ((1 << op) - 1);\n hold >>>= op;\n bits -= op;\n }\n //Tracevv((stderr, \"inflate: length %u\\n\", len));\n if (bits < 15) {\n hold += input[_in++] << bits;\n bits += 8;\n hold += input[_in++] << bits;\n bits += 8;\n }\n here = dcode[hold & dmask];\n\n dodist:\n for (;;) { // goto emulation\n op = here >>> 24/*here.bits*/;\n hold >>>= op;\n bits -= op;\n op = (here >>> 16) & 0xff/*here.op*/;\n\n if (op & 16) { /* distance base */\n dist = here & 0xffff/*here.val*/;\n op &= 15; /* number of extra bits */\n if (bits < op) {\n hold += input[_in++] << bits;\n bits += 8;\n if (bits < op) {\n hold += input[_in++] << bits;\n bits += 8;\n }\n }\n dist += hold & ((1 << op) - 1);\n//#ifdef INFLATE_STRICT\n if (dist > dmax) {\n strm.msg = 'invalid distance too far back';\n state.mode = BAD$1;\n break top;\n }\n//#endif\n hold >>>= op;\n bits -= op;\n //Tracevv((stderr, \"inflate: distance %u\\n\", dist));\n op = _out - beg; /* max distance in output */\n if (dist > op) { /* see if copy from window */\n op = dist - op; /* distance back in window */\n if (op > whave) {\n if (state.sane) {\n strm.msg = 'invalid distance too far back';\n state.mode = BAD$1;\n break top;\n }\n\n// (!) This block is disabled in zlib defaults,\n// don't enable it for binary compatibility\n//#ifdef INFLATE_ALLOW_INVALID_DISTANCE_TOOFAR_ARRR\n// if (len <= op - whave) {\n// do {\n// output[_out++] = 0;\n// } while (--len);\n// continue top;\n// }\n// len -= op - whave;\n// do {\n// output[_out++] = 0;\n// } while (--op > whave);\n// if (op === 0) {\n// from = _out - dist;\n// do {\n// output[_out++] = output[from++];\n// } while (--len);\n// continue top;\n// }\n//#endif\n }\n from = 0; // window index\n from_source = s_window;\n if (wnext === 0) { /* very common case */\n from += wsize - op;\n if (op < len) { /* some from window */\n len -= op;\n do {\n output[_out++] = s_window[from++];\n } while (--op);\n from = _out - dist; /* rest from output */\n from_source = output;\n }\n }\n else if (wnext < op) { /* wrap around window */\n from += wsize + wnext - op;\n op -= wnext;\n if (op < len) { /* some from end of window */\n len -= op;\n do {\n output[_out++] = s_window[from++];\n } while (--op);\n from = 0;\n if (wnext < len) { /* some from start of window */\n op = wnext;\n len -= op;\n do {\n output[_out++] = s_window[from++];\n } while (--op);\n from = _out - dist; /* rest from output */\n from_source = output;\n }\n }\n }\n else { /* contiguous in window */\n from += wnext - op;\n if (op < len) { /* some from window */\n len -= op;\n do {\n output[_out++] = s_window[from++];\n } while (--op);\n from = _out - dist; /* rest from output */\n from_source = output;\n }\n }\n while (len > 2) {\n output[_out++] = from_source[from++];\n output[_out++] = from_source[from++];\n output[_out++] = from_source[from++];\n len -= 3;\n }\n if (len) {\n output[_out++] = from_source[from++];\n if (len > 1) {\n output[_out++] = from_source[from++];\n }\n }\n }\n else {\n from = _out - dist; /* copy direct from output */\n do { /* minimum length is three */\n output[_out++] = output[from++];\n output[_out++] = output[from++];\n output[_out++] = output[from++];\n len -= 3;\n } while (len > 2);\n if (len) {\n output[_out++] = output[from++];\n if (len > 1) {\n output[_out++] = output[from++];\n }\n }\n }\n }\n else if ((op & 64) === 0) { /* 2nd level distance code */\n here = dcode[(here & 0xffff)/*here.val*/ + (hold & ((1 << op) - 1))];\n continue dodist;\n }\n else {\n strm.msg = 'invalid distance code';\n state.mode = BAD$1;\n break top;\n }\n\n break; // need to emulate goto via \"continue\"\n }\n }\n else if ((op & 64) === 0) { /* 2nd level length code */\n here = lcode[(here & 0xffff)/*here.val*/ + (hold & ((1 << op) - 1))];\n continue dolen;\n }\n else if (op & 32) { /* end-of-block */\n //Tracevv((stderr, \"inflate: end of block\\n\"));\n state.mode = TYPE$1;\n break top;\n }\n else {\n strm.msg = 'invalid literal/length code';\n state.mode = BAD$1;\n break top;\n }\n\n break; // need to emulate goto via \"continue\"\n }\n } while (_in < last && _out < end);\n\n /* return unused bytes (on entry, bits < 8, so in won't go too far back) */\n len = bits >> 3;\n _in -= len;\n bits -= len << 3;\n hold &= (1 << bits) - 1;\n\n /* update state and return */\n strm.next_in = _in;\n strm.next_out = _out;\n strm.avail_in = (_in < last ? 5 + (last - _in) : 5 - (_in - last));\n strm.avail_out = (_out < end ? 257 + (end - _out) : 257 - (_out - end));\n state.hold = hold;\n state.bits = bits;\n return;\n};\n\n// (C) 1995-2013 Jean-loup Gailly and Mark Adler\n// (C) 2014-2017 Vitaly Puzrin and Andrey Tupitsin\n//\n// This software is provided 'as-is', without any express or implied\n// warranty. In no event will the authors be held liable for any damages\n// arising from the use of this software.\n//\n// Permission is granted to anyone to use this software for any purpose,\n// including commercial applications, and to alter it and redistribute it\n// freely, subject to the following restrictions:\n//\n// 1. The origin of this software must not be misrepresented; you must not\n// claim that you wrote the original software. If you use this software\n// in a product, an acknowledgment in the product documentation would be\n// appreciated but is not required.\n// 2. Altered source versions must be plainly marked as such, and must not be\n// misrepresented as being the original software.\n// 3. This notice may not be removed or altered from any source distribution.\n\nconst MAXBITS = 15;\nconst ENOUGH_LENS$1 = 852;\nconst ENOUGH_DISTS$1 = 592;\n//const ENOUGH = (ENOUGH_LENS+ENOUGH_DISTS);\n\nconst CODES$1 = 0;\nconst LENS$1 = 1;\nconst DISTS$1 = 2;\n\nconst lbase = new Uint16Array([ /* Length codes 257..285 base */\n 3, 4, 5, 6, 7, 8, 9, 10, 11, 13, 15, 17, 19, 23, 27, 31,\n 35, 43, 51, 59, 67, 83, 99, 115, 131, 163, 195, 227, 258, 0, 0\n]);\n\nconst lext = new Uint8Array([ /* Length codes 257..285 extra */\n 16, 16, 16, 16, 16, 16, 16, 16, 17, 17, 17, 17, 18, 18, 18, 18,\n 19, 19, 19, 19, 20, 20, 20, 20, 21, 21, 21, 21, 16, 72, 78\n]);\n\nconst dbase = new Uint16Array([ /* Distance codes 0..29 base */\n 1, 2, 3, 4, 5, 7, 9, 13, 17, 25, 33, 49, 65, 97, 129, 193,\n 257, 385, 513, 769, 1025, 1537, 2049, 3073, 4097, 6145,\n 8193, 12289, 16385, 24577, 0, 0\n]);\n\nconst dext = new Uint8Array([ /* Distance codes 0..29 extra */\n 16, 16, 16, 16, 17, 17, 18, 18, 19, 19, 20, 20, 21, 21, 22, 22,\n 23, 23, 24, 24, 25, 25, 26, 26, 27, 27,\n 28, 28, 29, 29, 64, 64\n]);\n\nconst inflate_table = (type, lens, lens_index, codes, table, table_index, work, opts) =>\n{\n const bits = opts.bits;\n //here = opts.here; /* table entry for duplication */\n\n let len = 0; /* a code's length in bits */\n let sym = 0; /* index of code symbols */\n let min = 0, max = 0; /* minimum and maximum code lengths */\n let root = 0; /* number of index bits for root table */\n let curr = 0; /* number of index bits for current table */\n let drop = 0; /* code bits to drop for sub-table */\n let left = 0; /* number of prefix codes available */\n let used = 0; /* code entries in table used */\n let huff = 0; /* Huffman code */\n let incr; /* for incrementing code, index */\n let fill; /* index for replicating entries */\n let low; /* low bits for current root entry */\n let mask; /* mask for low root bits */\n let next; /* next available space in table */\n let base = null; /* base value table to use */\n// let shoextra; /* extra bits table to use */\n let match; /* use base and extra for symbol >= match */\n const count = new Uint16Array(MAXBITS + 1); //[MAXBITS+1]; /* number of codes of each length */\n const offs = new Uint16Array(MAXBITS + 1); //[MAXBITS+1]; /* offsets in table for each length */\n let extra = null;\n\n let here_bits, here_op, here_val;\n\n /*\n Process a set of code lengths to create a canonical Huffman code. The\n code lengths are lens[0..codes-1]. Each length corresponds to the\n symbols 0..codes-1. The Huffman code is generated by first sorting the\n symbols by length from short to long, and retaining the symbol order\n for codes with equal lengths. Then the code starts with all zero bits\n for the first code of the shortest length, and the codes are integer\n increments for the same length, and zeros are appended as the length\n increases. For the deflate format, these bits are stored backwards\n from their more natural integer increment ordering, and so when the\n decoding tables are built in the large loop below, the integer codes\n are incremented backwards.\n\n This routine assumes, but does not check, that all of the entries in\n lens[] are in the range 0..MAXBITS. The caller must assure this.\n 1..MAXBITS is interpreted as that code length. zero means that that\n symbol does not occur in this code.\n\n The codes are sorted by computing a count of codes for each length,\n creating from that a table of starting indices for each length in the\n sorted table, and then entering the symbols in order in the sorted\n table. The sorted table is work[], with that space being provided by\n the caller.\n\n The length counts are used for other purposes as well, i.e. finding\n the minimum and maximum length codes, determining if there are any\n codes at all, checking for a valid set of lengths, and looking ahead\n at length counts to determine sub-table sizes when building the\n decoding tables.\n */\n\n /* accumulate lengths for codes (assumes lens[] all in 0..MAXBITS) */\n for (len = 0; len <= MAXBITS; len++) {\n count[len] = 0;\n }\n for (sym = 0; sym < codes; sym++) {\n count[lens[lens_index + sym]]++;\n }\n\n /* bound code lengths, force root to be within code lengths */\n root = bits;\n for (max = MAXBITS; max >= 1; max--) {\n if (count[max] !== 0) { break; }\n }\n if (root > max) {\n root = max;\n }\n if (max === 0) { /* no symbols to code at all */\n //table.op[opts.table_index] = 64; //here.op = (var char)64; /* invalid code marker */\n //table.bits[opts.table_index] = 1; //here.bits = (var char)1;\n //table.val[opts.table_index++] = 0; //here.val = (var short)0;\n table[table_index++] = (1 << 24) | (64 << 16) | 0;\n\n\n //table.op[opts.table_index] = 64;\n //table.bits[opts.table_index] = 1;\n //table.val[opts.table_index++] = 0;\n table[table_index++] = (1 << 24) | (64 << 16) | 0;\n\n opts.bits = 1;\n return 0; /* no symbols, but wait for decoding to report error */\n }\n for (min = 1; min < max; min++) {\n if (count[min] !== 0) { break; }\n }\n if (root < min) {\n root = min;\n }\n\n /* check for an over-subscribed or incomplete set of lengths */\n left = 1;\n for (len = 1; len <= MAXBITS; len++) {\n left <<= 1;\n left -= count[len];\n if (left < 0) {\n return -1;\n } /* over-subscribed */\n }\n if (left > 0 && (type === CODES$1 || max !== 1)) {\n return -1; /* incomplete set */\n }\n\n /* generate offsets into symbol table for each length for sorting */\n offs[1] = 0;\n for (len = 1; len < MAXBITS; len++) {\n offs[len + 1] = offs[len] + count[len];\n }\n\n /* sort symbols by length, by symbol order within each length */\n for (sym = 0; sym < codes; sym++) {\n if (lens[lens_index + sym] !== 0) {\n work[offs[lens[lens_index + sym]]++] = sym;\n }\n }\n\n /*\n Create and fill in decoding tables. In this loop, the table being\n filled is at next and has curr index bits. The code being used is huff\n with length len. That code is converted to an index by dropping drop\n bits off of the bottom. For codes where len is less than drop + curr,\n those top drop + curr - len bits are incremented through all values to\n fill the table with replicated entries.\n\n root is the number of index bits for the root table. When len exceeds\n root, sub-tables are created pointed to by the root entry with an index\n of the low root bits of huff. This is saved in low to check for when a\n new sub-table should be started. drop is zero when the root table is\n being filled, and drop is root when sub-tables are being filled.\n\n When a new sub-table is needed, it is necessary to look ahead in the\n code lengths to determine what size sub-table is needed. The length\n counts are used for this, and so count[] is decremented as codes are\n entered in the tables.\n\n used keeps track of how many table entries have been allocated from the\n provided *table space. It is checked for LENS and DIST tables against\n the constants ENOUGH_LENS and ENOUGH_DISTS to guard against changes in\n the initial root table size constants. See the comments in inftrees.h\n for more information.\n\n sym increments through all symbols, and the loop terminates when\n all codes of length max, i.e. all codes, have been processed. This\n routine permits incomplete codes, so another loop after this one fills\n in the rest of the decoding tables with invalid code markers.\n */\n\n /* set up for code type */\n // poor man optimization - use if-else instead of switch,\n // to avoid deopts in old v8\n if (type === CODES$1) {\n base = extra = work; /* dummy value--not used */\n match = 20;\n\n } else if (type === LENS$1) {\n base = lbase;\n extra = lext;\n match = 257;\n\n } else { /* DISTS */\n base = dbase;\n extra = dext;\n match = 0;\n }\n\n /* initialize opts for loop */\n huff = 0; /* starting code */\n sym = 0; /* starting code symbol */\n len = min; /* starting code length */\n next = table_index; /* current table to fill in */\n curr = root; /* current table index bits */\n drop = 0; /* current bits to drop from code for index */\n low = -1; /* trigger new sub-table when len > root */\n used = 1 << root; /* use root table entries */\n mask = used - 1; /* mask for comparing low */\n\n /* check available table space */\n if ((type === LENS$1 && used > ENOUGH_LENS$1) ||\n (type === DISTS$1 && used > ENOUGH_DISTS$1)) {\n return 1;\n }\n\n /* process all codes and make table entries */\n for (;;) {\n /* create table entry */\n here_bits = len - drop;\n if (work[sym] + 1 < match) {\n here_op = 0;\n here_val = work[sym];\n }\n else if (work[sym] >= match) {\n here_op = extra[work[sym] - match];\n here_val = base[work[sym] - match];\n }\n else {\n here_op = 32 + 64; /* end of block */\n here_val = 0;\n }\n\n /* replicate for those indices with low len bits equal to huff */\n incr = 1 << (len - drop);\n fill = 1 << curr;\n min = fill; /* save offset to next table */\n do {\n fill -= incr;\n table[next + (huff >> drop) + fill] = (here_bits << 24) | (here_op << 16) | here_val |0;\n } while (fill !== 0);\n\n /* backwards increment the len-bit code huff */\n incr = 1 << (len - 1);\n while (huff & incr) {\n incr >>= 1;\n }\n if (incr !== 0) {\n huff &= incr - 1;\n huff += incr;\n } else {\n huff = 0;\n }\n\n /* go to next symbol, update count, len */\n sym++;\n if (--count[len] === 0) {\n if (len === max) { break; }\n len = lens[lens_index + work[sym]];\n }\n\n /* create new sub-table if needed */\n if (len > root && (huff & mask) !== low) {\n /* if first time, transition to sub-tables */\n if (drop === 0) {\n drop = root;\n }\n\n /* increment past last table */\n next += min; /* here min is 1 << curr */\n\n /* determine length of next table */\n curr = len - drop;\n left = 1 << curr;\n while (curr + drop < max) {\n left -= count[curr + drop];\n if (left <= 0) { break; }\n curr++;\n left <<= 1;\n }\n\n /* check for enough space */\n used += 1 << curr;\n if ((type === LENS$1 && used > ENOUGH_LENS$1) ||\n (type === DISTS$1 && used > ENOUGH_DISTS$1)) {\n return 1;\n }\n\n /* point entry in root table to sub-table */\n low = huff & mask;\n /*table.op[low] = curr;\n table.bits[low] = root;\n table.val[low] = next - opts.table_index;*/\n table[low] = (root << 24) | (curr << 16) | (next - table_index) |0;\n }\n }\n\n /* fill in remaining table entry if code is incomplete (guaranteed to have\n at most one remaining entry, since if the code is incomplete, the\n maximum code length that was allowed to get this far is one bit) */\n if (huff !== 0) {\n //table.op[next + huff] = 64; /* invalid code marker */\n //table.bits[next + huff] = len - drop;\n //table.val[next + huff] = 0;\n table[next + huff] = ((len - drop) << 24) | (64 << 16) |0;\n }\n\n /* set return parameters */\n //opts.table_index += used;\n opts.bits = root;\n return 0;\n};\n\n\nvar inftrees = inflate_table;\n\n// (C) 1995-2013 Jean-loup Gailly and Mark Adler\n// (C) 2014-2017 Vitaly Puzrin and Andrey Tupitsin\n//\n// This software is provided 'as-is', without any express or implied\n// warranty. In no event will the authors be held liable for any damages\n// arising from the use of this software.\n//\n// Permission is granted to anyone to use this software for any purpose,\n// including commercial applications, and to alter it and redistribute it\n// freely, subject to the following restrictions:\n//\n// 1. The origin of this software must not be misrepresented; you must not\n// claim that you wrote the original software. If you use this software\n// in a product, an acknowledgment in the product documentation would be\n// appreciated but is not required.\n// 2. Altered source versions must be plainly marked as such, and must not be\n// misrepresented as being the original software.\n// 3. This notice may not be removed or altered from any source distribution.\n\n\n\n\n\n\nconst CODES = 0;\nconst LENS = 1;\nconst DISTS = 2;\n\n/* Public constants ==========================================================*/\n/* ===========================================================================*/\n\nconst {\n Z_FINISH: Z_FINISH$1, Z_BLOCK, Z_TREES,\n Z_OK: Z_OK$1, Z_STREAM_END: Z_STREAM_END$1, Z_NEED_DICT: Z_NEED_DICT$1, Z_STREAM_ERROR: Z_STREAM_ERROR$1, Z_DATA_ERROR: Z_DATA_ERROR$1, Z_MEM_ERROR: Z_MEM_ERROR$1, Z_BUF_ERROR,\n Z_DEFLATED\n} = constants$2;\n\n\n/* STATES ====================================================================*/\n/* ===========================================================================*/\n\n\nconst HEAD = 16180; /* i: waiting for magic header */\nconst FLAGS = 16181; /* i: waiting for method and flags (gzip) */\nconst TIME = 16182; /* i: waiting for modification time (gzip) */\nconst OS = 16183; /* i: waiting for extra flags and operating system (gzip) */\nconst EXLEN = 16184; /* i: waiting for extra length (gzip) */\nconst EXTRA = 16185; /* i: waiting for extra bytes (gzip) */\nconst NAME = 16186; /* i: waiting for end of file name (gzip) */\nconst COMMENT = 16187; /* i: waiting for end of comment (gzip) */\nconst HCRC = 16188; /* i: waiting for header crc (gzip) */\nconst DICTID = 16189; /* i: waiting for dictionary check value */\nconst DICT = 16190; /* waiting for inflateSetDictionary() call */\nconst TYPE = 16191; /* i: waiting for type bits, including last-flag bit */\nconst TYPEDO = 16192; /* i: same, but skip check to exit inflate on new block */\nconst STORED = 16193; /* i: waiting for stored size (length and complement) */\nconst COPY_ = 16194; /* i/o: same as COPY below, but only first time in */\nconst COPY = 16195; /* i/o: waiting for input or output to copy stored block */\nconst TABLE = 16196; /* i: waiting for dynamic block table lengths */\nconst LENLENS = 16197; /* i: waiting for code length code lengths */\nconst CODELENS = 16198; /* i: waiting for length/lit and distance code lengths */\nconst LEN_ = 16199; /* i: same as LEN below, but only first time in */\nconst LEN = 16200; /* i: waiting for length/lit/eob code */\nconst LENEXT = 16201; /* i: waiting for length extra bits */\nconst DIST = 16202; /* i: waiting for distance code */\nconst DISTEXT = 16203; /* i: waiting for distance extra bits */\nconst MATCH = 16204; /* o: waiting for output space to copy string */\nconst LIT = 16205; /* o: waiting for output space to write literal */\nconst CHECK = 16206; /* i: waiting for 32-bit check value */\nconst LENGTH = 16207; /* i: waiting for 32-bit length (gzip) */\nconst DONE = 16208; /* finished check, done -- remain here until reset */\nconst BAD = 16209; /* got a data error -- remain here until reset */\nconst MEM = 16210; /* got an inflate() memory error -- remain here until reset */\nconst SYNC = 16211; /* looking for synchronization bytes to restart inflate() */\n\n/* ===========================================================================*/\n\n\n\nconst ENOUGH_LENS = 852;\nconst ENOUGH_DISTS = 592;\n//const ENOUGH = (ENOUGH_LENS+ENOUGH_DISTS);\n\nconst MAX_WBITS = 15;\n/* 32K LZ77 window */\nconst DEF_WBITS = MAX_WBITS;\n\n\nconst zswap32 = (q) => {\n\n return (((q >>> 24) & 0xff) +\n ((q >>> 8) & 0xff00) +\n ((q & 0xff00) << 8) +\n ((q & 0xff) << 24));\n};\n\n\nfunction InflateState() {\n this.strm = null; /* pointer back to this zlib stream */\n this.mode = 0; /* current inflate mode */\n this.last = false; /* true if processing last block */\n this.wrap = 0; /* bit 0 true for zlib, bit 1 true for gzip,\n bit 2 true to validate check value */\n this.havedict = false; /* true if dictionary provided */\n this.flags = 0; /* gzip header method and flags (0 if zlib), or\n -1 if raw or no header yet */\n this.dmax = 0; /* zlib header max distance (INFLATE_STRICT) */\n this.check = 0; /* protected copy of check value */\n this.total = 0; /* protected copy of output count */\n // TODO: may be {}\n this.head = null; /* where to save gzip header information */\n\n /* sliding window */\n this.wbits = 0; /* log base 2 of requested window size */\n this.wsize = 0; /* window size or zero if not using window */\n this.whave = 0; /* valid bytes in the window */\n this.wnext = 0; /* window write index */\n this.window = null; /* allocated sliding window, if needed */\n\n /* bit accumulator */\n this.hold = 0; /* input bit accumulator */\n this.bits = 0; /* number of bits in \"in\" */\n\n /* for string and stored block copying */\n this.length = 0; /* literal or length of data to copy */\n this.offset = 0; /* distance back to copy string from */\n\n /* for table and code decoding */\n this.extra = 0; /* extra bits needed */\n\n /* fixed and dynamic code tables */\n this.lencode = null; /* starting table for length/literal codes */\n this.distcode = null; /* starting table for distance codes */\n this.lenbits = 0; /* index bits for lencode */\n this.distbits = 0; /* index bits for distcode */\n\n /* dynamic table building */\n this.ncode = 0; /* number of code length code lengths */\n this.nlen = 0; /* number of length code lengths */\n this.ndist = 0; /* number of distance code lengths */\n this.have = 0; /* number of code lengths in lens[] */\n this.next = null; /* next available space in codes[] */\n\n this.lens = new Uint16Array(320); /* temporary storage for code lengths */\n this.work = new Uint16Array(288); /* work area for code table building */\n\n /*\n because we don't have pointers in js, we use lencode and distcode directly\n as buffers so we don't need codes\n */\n //this.codes = new Int32Array(ENOUGH); /* space for code tables */\n this.lendyn = null; /* dynamic table for length/literal codes (JS specific) */\n this.distdyn = null; /* dynamic table for distance codes (JS specific) */\n this.sane = 0; /* if false, allow invalid distance too far */\n this.back = 0; /* bits back of last unprocessed length/lit */\n this.was = 0; /* initial length of match */\n}\n\n\nconst inflateStateCheck = (strm) => {\n\n if (!strm) {\n return 1;\n }\n const state = strm.state;\n if (!state || state.strm !== strm ||\n state.mode < HEAD || state.mode > SYNC) {\n return 1;\n }\n return 0;\n};\n\n\nconst inflateResetKeep = (strm) => {\n\n if (inflateStateCheck(strm)) { return Z_STREAM_ERROR$1; }\n const state = strm.state;\n strm.total_in = strm.total_out = state.total = 0;\n strm.msg = ''; /*Z_NULL*/\n if (state.wrap) { /* to support ill-conceived Java test suite */\n strm.adler = state.wrap & 1;\n }\n state.mode = HEAD;\n state.last = 0;\n state.havedict = 0;\n state.flags = -1;\n state.dmax = 32768;\n state.head = null/*Z_NULL*/;\n state.hold = 0;\n state.bits = 0;\n //state.lencode = state.distcode = state.next = state.codes;\n state.lencode = state.lendyn = new Int32Array(ENOUGH_LENS);\n state.distcode = state.distdyn = new Int32Array(ENOUGH_DISTS);\n\n state.sane = 1;\n state.back = -1;\n //Tracev((stderr, \"inflate: reset\\n\"));\n return Z_OK$1;\n};\n\n\nconst inflateReset = (strm) => {\n\n if (inflateStateCheck(strm)) { return Z_STREAM_ERROR$1; }\n const state = strm.state;\n state.wsize = 0;\n state.whave = 0;\n state.wnext = 0;\n return inflateResetKeep(strm);\n\n};\n\n\nconst inflateReset2 = (strm, windowBits) => {\n let wrap;\n\n /* get the state */\n if (inflateStateCheck(strm)) { return Z_STREAM_ERROR$1; }\n const state = strm.state;\n\n /* extract wrap request from windowBits parameter */\n if (windowBits < 0) {\n wrap = 0;\n windowBits = -windowBits;\n }\n else {\n wrap = (windowBits >> 4) + 5;\n if (windowBits < 48) {\n windowBits &= 15;\n }\n }\n\n /* set number of window bits, free window if different */\n if (windowBits && (windowBits < 8 || windowBits > 15)) {\n return Z_STREAM_ERROR$1;\n }\n if (state.window !== null && state.wbits !== windowBits) {\n state.window = null;\n }\n\n /* update state and reset the rest of it */\n state.wrap = wrap;\n state.wbits = windowBits;\n return inflateReset(strm);\n};\n\n\nconst inflateInit2 = (strm, windowBits) => {\n\n if (!strm) { return Z_STREAM_ERROR$1; }\n //strm.msg = Z_NULL; /* in case we return an error */\n\n const state = new InflateState();\n\n //if (state === Z_NULL) return Z_MEM_ERROR;\n //Tracev((stderr, \"inflate: allocated\\n\"));\n strm.state = state;\n state.strm = strm;\n state.window = null/*Z_NULL*/;\n state.mode = HEAD; /* to pass state test in inflateReset2() */\n const ret = inflateReset2(strm, windowBits);\n if (ret !== Z_OK$1) {\n strm.state = null/*Z_NULL*/;\n }\n return ret;\n};\n\n\nconst inflateInit = (strm) => {\n\n return inflateInit2(strm, DEF_WBITS);\n};\n\n\n/*\n Return state with length and distance decoding tables and index sizes set to\n fixed code decoding. Normally this returns fixed tables from inffixed.h.\n If BUILDFIXED is defined, then instead this routine builds the tables the\n first time it's called, and returns those tables the first time and\n thereafter. This reduces the size of the code by about 2K bytes, in\n exchange for a little execution time. However, BUILDFIXED should not be\n used for threaded applications, since the rewriting of the tables and virgin\n may not be thread-safe.\n */\nlet virgin = true;\n\nlet lenfix, distfix; // We have no pointers in JS, so keep tables separate\n\n\nconst fixedtables = (state) => {\n\n /* build fixed huffman tables if first call (may not be thread safe) */\n if (virgin) {\n lenfix = new Int32Array(512);\n distfix = new Int32Array(32);\n\n /* literal/length table */\n let sym = 0;\n while (sym < 144) { state.lens[sym++] = 8; }\n while (sym < 256) { state.lens[sym++] = 9; }\n while (sym < 280) { state.lens[sym++] = 7; }\n while (sym < 288) { state.lens[sym++] = 8; }\n\n inftrees(LENS, state.lens, 0, 288, lenfix, 0, state.work, { bits: 9 });\n\n /* distance table */\n sym = 0;\n while (sym < 32) { state.lens[sym++] = 5; }\n\n inftrees(DISTS, state.lens, 0, 32, distfix, 0, state.work, { bits: 5 });\n\n /* do this just once */\n virgin = false;\n }\n\n state.lencode = lenfix;\n state.lenbits = 9;\n state.distcode = distfix;\n state.distbits = 5;\n};\n\n\n/*\n Update the window with the last wsize (normally 32K) bytes written before\n returning. If window does not exist yet, create it. This is only called\n when a window is already in use, or when output has been written during this\n inflate call, but the end of the deflate stream has not been reached yet.\n It is also called to create a window for dictionary data when a dictionary\n is loaded.\n\n Providing output buffers larger than 32K to inflate() should provide a speed\n advantage, since only the last 32K of output is copied to the sliding window\n upon return from inflate(), and since all distances after the first 32K of\n output will fall in the output data, making match copies simpler and faster.\n The advantage may be dependent on the size of the processor's data caches.\n */\nconst updatewindow = (strm, src, end, copy) => {\n\n let dist;\n const state = strm.state;\n\n /* if it hasn't been done already, allocate space for the window */\n if (state.window === null) {\n state.wsize = 1 << state.wbits;\n state.wnext = 0;\n state.whave = 0;\n\n state.window = new Uint8Array(state.wsize);\n }\n\n /* copy state->wsize or less output bytes into the circular window */\n if (copy >= state.wsize) {\n state.window.set(src.subarray(end - state.wsize, end), 0);\n state.wnext = 0;\n state.whave = state.wsize;\n }\n else {\n dist = state.wsize - state.wnext;\n if (dist > copy) {\n dist = copy;\n }\n //zmemcpy(state->window + state->wnext, end - copy, dist);\n state.window.set(src.subarray(end - copy, end - copy + dist), state.wnext);\n copy -= dist;\n if (copy) {\n //zmemcpy(state->window, end - copy, copy);\n state.window.set(src.subarray(end - copy, end), 0);\n state.wnext = copy;\n state.whave = state.wsize;\n }\n else {\n state.wnext += dist;\n if (state.wnext === state.wsize) { state.wnext = 0; }\n if (state.whave < state.wsize) { state.whave += dist; }\n }\n }\n return 0;\n};\n\n\nconst inflate$2 = (strm, flush) => {\n\n let state;\n let input, output; // input/output buffers\n let next; /* next input INDEX */\n let put; /* next output INDEX */\n let have, left; /* available input and output */\n let hold; /* bit buffer */\n let bits; /* bits in bit buffer */\n let _in, _out; /* save starting available input and output */\n let copy; /* number of stored or match bytes to copy */\n let from; /* where to copy match bytes from */\n let from_source;\n let here = 0; /* current decoding table entry */\n let here_bits, here_op, here_val; // paked \"here\" denormalized (JS specific)\n //let last; /* parent table entry */\n let last_bits, last_op, last_val; // paked \"last\" denormalized (JS specific)\n let len; /* length to copy for repeats, bits to drop */\n let ret; /* return code */\n const hbuf = new Uint8Array(4); /* buffer for gzip header crc calculation */\n let opts;\n\n let n; // temporary variable for NEED_BITS\n\n const order = /* permutation of code lengths */\n new Uint8Array([ 16, 17, 18, 0, 8, 7, 9, 6, 10, 5, 11, 4, 12, 3, 13, 2, 14, 1, 15 ]);\n\n\n if (inflateStateCheck(strm) || !strm.output ||\n (!strm.input && strm.avail_in !== 0)) {\n return Z_STREAM_ERROR$1;\n }\n\n state = strm.state;\n if (state.mode === TYPE) { state.mode = TYPEDO; } /* skip check */\n\n\n //--- LOAD() ---\n put = strm.next_out;\n output = strm.output;\n left = strm.avail_out;\n next = strm.next_in;\n input = strm.input;\n have = strm.avail_in;\n hold = state.hold;\n bits = state.bits;\n //---\n\n _in = have;\n _out = left;\n ret = Z_OK$1;\n\n inf_leave: // goto emulation\n for (;;) {\n switch (state.mode) {\n case HEAD:\n if (state.wrap === 0) {\n state.mode = TYPEDO;\n break;\n }\n //=== NEEDBITS(16);\n while (bits < 16) {\n if (have === 0) { break inf_leave; }\n have--;\n hold += input[next++] << bits;\n bits += 8;\n }\n //===//\n if ((state.wrap & 2) && hold === 0x8b1f) { /* gzip header */\n if (state.wbits === 0) {\n state.wbits = 15;\n }\n state.check = 0/*crc32(0L, Z_NULL, 0)*/;\n //=== CRC2(state.check, hold);\n hbuf[0] = hold & 0xff;\n hbuf[1] = (hold >>> 8) & 0xff;\n state.check = crc32_1(state.check, hbuf, 2, 0);\n //===//\n\n //=== INITBITS();\n hold = 0;\n bits = 0;\n //===//\n state.mode = FLAGS;\n break;\n }\n if (state.head) {\n state.head.done = false;\n }\n if (!(state.wrap & 1) || /* check if zlib header allowed */\n (((hold & 0xff)/*BITS(8)*/ << 8) + (hold >> 8)) % 31) {\n strm.msg = 'incorrect header check';\n state.mode = BAD;\n break;\n }\n if ((hold & 0x0f)/*BITS(4)*/ !== Z_DEFLATED) {\n strm.msg = 'unknown compression method';\n state.mode = BAD;\n break;\n }\n //--- DROPBITS(4) ---//\n hold >>>= 4;\n bits -= 4;\n //---//\n len = (hold & 0x0f)/*BITS(4)*/ + 8;\n if (state.wbits === 0) {\n state.wbits = len;\n }\n if (len > 15 || len > state.wbits) {\n strm.msg = 'invalid window size';\n state.mode = BAD;\n break;\n }\n\n // !!! pako patch. Force use `options.windowBits` if passed.\n // Required to always use max window size by default.\n state.dmax = 1 << state.wbits;\n //state.dmax = 1 << len;\n\n state.flags = 0; /* indicate zlib header */\n //Tracev((stderr, \"inflate: zlib header ok\\n\"));\n strm.adler = state.check = 1/*adler32(0L, Z_NULL, 0)*/;\n state.mode = hold & 0x200 ? DICTID : TYPE;\n //=== INITBITS();\n hold = 0;\n bits = 0;\n //===//\n break;\n case FLAGS:\n //=== NEEDBITS(16); */\n while (bits < 16) {\n if (have === 0) { break inf_leave; }\n have--;\n hold += input[next++] << bits;\n bits += 8;\n }\n //===//\n state.flags = hold;\n if ((state.flags & 0xff) !== Z_DEFLATED) {\n strm.msg = 'unknown compression method';\n state.mode = BAD;\n break;\n }\n if (state.flags & 0xe000) {\n strm.msg = 'unknown header flags set';\n state.mode = BAD;\n break;\n }\n if (state.head) {\n state.head.text = ((hold >> 8) & 1);\n }\n if ((state.flags & 0x0200) && (state.wrap & 4)) {\n //=== CRC2(state.check, hold);\n hbuf[0] = hold & 0xff;\n hbuf[1] = (hold >>> 8) & 0xff;\n state.check = crc32_1(state.check, hbuf, 2, 0);\n //===//\n }\n //=== INITBITS();\n hold = 0;\n bits = 0;\n //===//\n state.mode = TIME;\n /* falls through */\n case TIME:\n //=== NEEDBITS(32); */\n while (bits < 32) {\n if (have === 0) { break inf_leave; }\n have--;\n hold += input[next++] << bits;\n bits += 8;\n }\n //===//\n if (state.head) {\n state.head.time = hold;\n }\n if ((state.flags & 0x0200) && (state.wrap & 4)) {\n //=== CRC4(state.check, hold)\n hbuf[0] = hold & 0xff;\n hbuf[1] = (hold >>> 8) & 0xff;\n hbuf[2] = (hold >>> 16) & 0xff;\n hbuf[3] = (hold >>> 24) & 0xff;\n state.check = crc32_1(state.check, hbuf, 4, 0);\n //===\n }\n //=== INITBITS();\n hold = 0;\n bits = 0;\n //===//\n state.mode = OS;\n /* falls through */\n case OS:\n //=== NEEDBITS(16); */\n while (bits < 16) {\n if (have === 0) { break inf_leave; }\n have--;\n hold += input[next++] << bits;\n bits += 8;\n }\n //===//\n if (state.head) {\n state.head.xflags = (hold & 0xff);\n state.head.os = (hold >> 8);\n }\n if ((state.flags & 0x0200) && (state.wrap & 4)) {\n //=== CRC2(state.check, hold);\n hbuf[0] = hold & 0xff;\n hbuf[1] = (hold >>> 8) & 0xff;\n state.check = crc32_1(state.check, hbuf, 2, 0);\n //===//\n }\n //=== INITBITS();\n hold = 0;\n bits = 0;\n //===//\n state.mode = EXLEN;\n /* falls through */\n case EXLEN:\n if (state.flags & 0x0400) {\n //=== NEEDBITS(16); */\n while (bits < 16) {\n if (have === 0) { break inf_leave; }\n have--;\n hold += input[next++] << bits;\n bits += 8;\n }\n //===//\n state.length = hold;\n if (state.head) {\n state.head.extra_len = hold;\n }\n if ((state.flags & 0x0200) && (state.wrap & 4)) {\n //=== CRC2(state.check, hold);\n hbuf[0] = hold & 0xff;\n hbuf[1] = (hold >>> 8) & 0xff;\n state.check = crc32_1(state.check, hbuf, 2, 0);\n //===//\n }\n //=== INITBITS();\n hold = 0;\n bits = 0;\n //===//\n }\n else if (state.head) {\n state.head.extra = null/*Z_NULL*/;\n }\n state.mode = EXTRA;\n /* falls through */\n case EXTRA:\n if (state.flags & 0x0400) {\n copy = state.length;\n if (copy > have) { copy = have; }\n if (copy) {\n if (state.head) {\n len = state.head.extra_len - state.length;\n if (!state.head.extra) {\n // Use untyped array for more convenient processing later\n state.head.extra = new Uint8Array(state.head.extra_len);\n }\n state.head.extra.set(\n input.subarray(\n next,\n // extra field is limited to 65536 bytes\n // - no need for additional size check\n next + copy\n ),\n /*len + copy > state.head.extra_max - len ? state.head.extra_max : copy,*/\n len\n );\n //zmemcpy(state.head.extra + len, next,\n // len + copy > state.head.extra_max ?\n // state.head.extra_max - len : copy);\n }\n if ((state.flags & 0x0200) && (state.wrap & 4)) {\n state.check = crc32_1(state.check, input, copy, next);\n }\n have -= copy;\n next += copy;\n state.length -= copy;\n }\n if (state.length) { break inf_leave; }\n }\n state.length = 0;\n state.mode = NAME;\n /* falls through */\n case NAME:\n if (state.flags & 0x0800) {\n if (have === 0) { break inf_leave; }\n copy = 0;\n do {\n // TODO: 2 or 1 bytes?\n len = input[next + copy++];\n /* use constant limit because in js we should not preallocate memory */\n if (state.head && len &&\n (state.length < 65536 /*state.head.name_max*/)) {\n state.head.name += String.fromCharCode(len);\n }\n } while (len && copy < have);\n\n if ((state.flags & 0x0200) && (state.wrap & 4)) {\n state.check = crc32_1(state.check, input, copy, next);\n }\n have -= copy;\n next += copy;\n if (len) { break inf_leave; }\n }\n else if (state.head) {\n state.head.name = null;\n }\n state.length = 0;\n state.mode = COMMENT;\n /* falls through */\n case COMMENT:\n if (state.flags & 0x1000) {\n if (have === 0) { break inf_leave; }\n copy = 0;\n do {\n len = input[next + copy++];\n /* use constant limit because in js we should not preallocate memory */\n if (state.head && len &&\n (state.length < 65536 /*state.head.comm_max*/)) {\n state.head.comment += String.fromCharCode(len);\n }\n } while (len && copy < have);\n if ((state.flags & 0x0200) && (state.wrap & 4)) {\n state.check = crc32_1(state.check, input, copy, next);\n }\n have -= copy;\n next += copy;\n if (len) { break inf_leave; }\n }\n else if (state.head) {\n state.head.comment = null;\n }\n state.mode = HCRC;\n /* falls through */\n case HCRC:\n if (state.flags & 0x0200) {\n //=== NEEDBITS(16); */\n while (bits < 16) {\n if (have === 0) { break inf_leave; }\n have--;\n hold += input[next++] << bits;\n bits += 8;\n }\n //===//\n if ((state.wrap & 4) && hold !== (state.check & 0xffff)) {\n strm.msg = 'header crc mismatch';\n state.mode = BAD;\n break;\n }\n //=== INITBITS();\n hold = 0;\n bits = 0;\n //===//\n }\n if (state.head) {\n state.head.hcrc = ((state.flags >> 9) & 1);\n state.head.done = true;\n }\n strm.adler = state.check = 0;\n state.mode = TYPE;\n break;\n case DICTID:\n //=== NEEDBITS(32); */\n while (bits < 32) {\n if (have === 0) { break inf_leave; }\n have--;\n hold += input[next++] << bits;\n bits += 8;\n }\n //===//\n strm.adler = state.check = zswap32(hold);\n //=== INITBITS();\n hold = 0;\n bits = 0;\n //===//\n state.mode = DICT;\n /* falls through */\n case DICT:\n if (state.havedict === 0) {\n //--- RESTORE() ---\n strm.next_out = put;\n strm.avail_out = left;\n strm.next_in = next;\n strm.avail_in = have;\n state.hold = hold;\n state.bits = bits;\n //---\n return Z_NEED_DICT$1;\n }\n strm.adler = state.check = 1/*adler32(0L, Z_NULL, 0)*/;\n state.mode = TYPE;\n /* falls through */\n case TYPE:\n if (flush === Z_BLOCK || flush === Z_TREES) { break inf_leave; }\n /* falls through */\n case TYPEDO:\n if (state.last) {\n //--- BYTEBITS() ---//\n hold >>>= bits & 7;\n bits -= bits & 7;\n //---//\n state.mode = CHECK;\n break;\n }\n //=== NEEDBITS(3); */\n while (bits < 3) {\n if (have === 0) { break inf_leave; }\n have--;\n hold += input[next++] << bits;\n bits += 8;\n }\n //===//\n state.last = (hold & 0x01)/*BITS(1)*/;\n //--- DROPBITS(1) ---//\n hold >>>= 1;\n bits -= 1;\n //---//\n\n switch ((hold & 0x03)/*BITS(2)*/) {\n case 0: /* stored block */\n //Tracev((stderr, \"inflate: stored block%s\\n\",\n // state.last ? \" (last)\" : \"\"));\n state.mode = STORED;\n break;\n case 1: /* fixed block */\n fixedtables(state);\n //Tracev((stderr, \"inflate: fixed codes block%s\\n\",\n // state.last ? \" (last)\" : \"\"));\n state.mode = LEN_; /* decode codes */\n if (flush === Z_TREES) {\n //--- DROPBITS(2) ---//\n hold >>>= 2;\n bits -= 2;\n //---//\n break inf_leave;\n }\n break;\n case 2: /* dynamic block */\n //Tracev((stderr, \"inflate: dynamic codes block%s\\n\",\n // state.last ? \" (last)\" : \"\"));\n state.mode = TABLE;\n break;\n case 3:\n strm.msg = 'invalid block type';\n state.mode = BAD;\n }\n //--- DROPBITS(2) ---//\n hold >>>= 2;\n bits -= 2;\n //---//\n break;\n case STORED:\n //--- BYTEBITS() ---// /* go to byte boundary */\n hold >>>= bits & 7;\n bits -= bits & 7;\n //---//\n //=== NEEDBITS(32); */\n while (bits < 32) {\n if (have === 0) { break inf_leave; }\n have--;\n hold += input[next++] << bits;\n bits += 8;\n }\n //===//\n if ((hold & 0xffff) !== ((hold >>> 16) ^ 0xffff)) {\n strm.msg = 'invalid stored block lengths';\n state.mode = BAD;\n break;\n }\n state.length = hold & 0xffff;\n //Tracev((stderr, \"inflate: stored length %u\\n\",\n // state.length));\n //=== INITBITS();\n hold = 0;\n bits = 0;\n //===//\n state.mode = COPY_;\n if (flush === Z_TREES) { break inf_leave; }\n /* falls through */\n case COPY_:\n state.mode = COPY;\n /* falls through */\n case COPY:\n copy = state.length;\n if (copy) {\n if (copy > have) { copy = have; }\n if (copy > left) { copy = left; }\n if (copy === 0) { break inf_leave; }\n //--- zmemcpy(put, next, copy); ---\n output.set(input.subarray(next, next + copy), put);\n //---//\n have -= copy;\n next += copy;\n left -= copy;\n put += copy;\n state.length -= copy;\n break;\n }\n //Tracev((stderr, \"inflate: stored end\\n\"));\n state.mode = TYPE;\n break;\n case TABLE:\n //=== NEEDBITS(14); */\n while (bits < 14) {\n if (have === 0) { break inf_leave; }\n have--;\n hold += input[next++] << bits;\n bits += 8;\n }\n //===//\n state.nlen = (hold & 0x1f)/*BITS(5)*/ + 257;\n //--- DROPBITS(5) ---//\n hold >>>= 5;\n bits -= 5;\n //---//\n state.ndist = (hold & 0x1f)/*BITS(5)*/ + 1;\n //--- DROPBITS(5) ---//\n hold >>>= 5;\n bits -= 5;\n //---//\n state.ncode = (hold & 0x0f)/*BITS(4)*/ + 4;\n //--- DROPBITS(4) ---//\n hold >>>= 4;\n bits -= 4;\n //---//\n//#ifndef PKZIP_BUG_WORKAROUND\n if (state.nlen > 286 || state.ndist > 30) {\n strm.msg = 'too many length or distance symbols';\n state.mode = BAD;\n break;\n }\n//#endif\n //Tracev((stderr, \"inflate: table sizes ok\\n\"));\n state.have = 0;\n state.mode = LENLENS;\n /* falls through */\n case LENLENS:\n while (state.have < state.ncode) {\n //=== NEEDBITS(3);\n while (bits < 3) {\n if (have === 0) { break inf_leave; }\n have--;\n hold += input[next++] << bits;\n bits += 8;\n }\n //===//\n state.lens[order[state.have++]] = (hold & 0x07);//BITS(3);\n //--- DROPBITS(3) ---//\n hold >>>= 3;\n bits -= 3;\n //---//\n }\n while (state.have < 19) {\n state.lens[order[state.have++]] = 0;\n }\n // We have separate tables & no pointers. 2 commented lines below not needed.\n //state.next = state.codes;\n //state.lencode = state.next;\n // Switch to use dynamic table\n state.lencode = state.lendyn;\n state.lenbits = 7;\n\n opts = { bits: state.lenbits };\n ret = inftrees(CODES, state.lens, 0, 19, state.lencode, 0, state.work, opts);\n state.lenbits = opts.bits;\n\n if (ret) {\n strm.msg = 'invalid code lengths set';\n state.mode = BAD;\n break;\n }\n //Tracev((stderr, \"inflate: code lengths ok\\n\"));\n state.have = 0;\n state.mode = CODELENS;\n /* falls through */\n case CODELENS:\n while (state.have < state.nlen + state.ndist) {\n for (;;) {\n here = state.lencode[hold & ((1 << state.lenbits) - 1)];/*BITS(state.lenbits)*/\n here_bits = here >>> 24;\n here_op = (here >>> 16) & 0xff;\n here_val = here & 0xffff;\n\n if ((here_bits) <= bits) { break; }\n //--- PULLBYTE() ---//\n if (have === 0) { break inf_leave; }\n have--;\n hold += input[next++] << bits;\n bits += 8;\n //---//\n }\n if (here_val < 16) {\n //--- DROPBITS(here.bits) ---//\n hold >>>= here_bits;\n bits -= here_bits;\n //---//\n state.lens[state.have++] = here_val;\n }\n else {\n if (here_val === 16) {\n //=== NEEDBITS(here.bits + 2);\n n = here_bits + 2;\n while (bits < n) {\n if (have === 0) { break inf_leave; }\n have--;\n hold += input[next++] << bits;\n bits += 8;\n }\n //===//\n //--- DROPBITS(here.bits) ---//\n hold >>>= here_bits;\n bits -= here_bits;\n //---//\n if (state.have === 0) {\n strm.msg = 'invalid bit length repeat';\n state.mode = BAD;\n break;\n }\n len = state.lens[state.have - 1];\n copy = 3 + (hold & 0x03);//BITS(2);\n //--- DROPBITS(2) ---//\n hold >>>= 2;\n bits -= 2;\n //---//\n }\n else if (here_val === 17) {\n //=== NEEDBITS(here.bits + 3);\n n = here_bits + 3;\n while (bits < n) {\n if (have === 0) { break inf_leave; }\n have--;\n hold += input[next++] << bits;\n bits += 8;\n }\n //===//\n //--- DROPBITS(here.bits) ---//\n hold >>>= here_bits;\n bits -= here_bits;\n //---//\n len = 0;\n copy = 3 + (hold & 0x07);//BITS(3);\n //--- DROPBITS(3) ---//\n hold >>>= 3;\n bits -= 3;\n //---//\n }\n else {\n //=== NEEDBITS(here.bits + 7);\n n = here_bits + 7;\n while (bits < n) {\n if (have === 0) { break inf_leave; }\n have--;\n hold += input[next++] << bits;\n bits += 8;\n }\n //===//\n //--- DROPBITS(here.bits) ---//\n hold >>>= here_bits;\n bits -= here_bits;\n //---//\n len = 0;\n copy = 11 + (hold & 0x7f);//BITS(7);\n //--- DROPBITS(7) ---//\n hold >>>= 7;\n bits -= 7;\n //---//\n }\n if (state.have + copy > state.nlen + state.ndist) {\n strm.msg = 'invalid bit length repeat';\n state.mode = BAD;\n break;\n }\n while (copy--) {\n state.lens[state.have++] = len;\n }\n }\n }\n\n /* handle error breaks in while */\n if (state.mode === BAD) { break; }\n\n /* check for end-of-block code (better have one) */\n if (state.lens[256] === 0) {\n strm.msg = 'invalid code -- missing end-of-block';\n state.mode = BAD;\n break;\n }\n\n /* build code tables -- note: do not change the lenbits or distbits\n values here (9 and 6) without reading the comments in inftrees.h\n concerning the ENOUGH constants, which depend on those values */\n state.lenbits = 9;\n\n opts = { bits: state.lenbits };\n ret = inftrees(LENS, state.lens, 0, state.nlen, state.lencode, 0, state.work, opts);\n // We have separate tables & no pointers. 2 commented lines below not needed.\n // state.next_index = opts.table_index;\n state.lenbits = opts.bits;\n // state.lencode = state.next;\n\n if (ret) {\n strm.msg = 'invalid literal/lengths set';\n state.mode = BAD;\n break;\n }\n\n state.distbits = 6;\n //state.distcode.copy(state.codes);\n // Switch to use dynamic table\n state.distcode = state.distdyn;\n opts = { bits: state.distbits };\n ret = inftrees(DISTS, state.lens, state.nlen, state.ndist, state.distcode, 0, state.work, opts);\n // We have separate tables & no pointers. 2 commented lines below not needed.\n // state.next_index = opts.table_index;\n state.distbits = opts.bits;\n // state.distcode = state.next;\n\n if (ret) {\n strm.msg = 'invalid distances set';\n state.mode = BAD;\n break;\n }\n //Tracev((stderr, 'inflate: codes ok\\n'));\n state.mode = LEN_;\n if (flush === Z_TREES) { break inf_leave; }\n /* falls through */\n case LEN_:\n state.mode = LEN;\n /* falls through */\n case LEN:\n if (have >= 6 && left >= 258) {\n //--- RESTORE() ---\n strm.next_out = put;\n strm.avail_out = left;\n strm.next_in = next;\n strm.avail_in = have;\n state.hold = hold;\n state.bits = bits;\n //---\n inffast(strm, _out);\n //--- LOAD() ---\n put = strm.next_out;\n output = strm.output;\n left = strm.avail_out;\n next = strm.next_in;\n input = strm.input;\n have = strm.avail_in;\n hold = state.hold;\n bits = state.bits;\n //---\n\n if (state.mode === TYPE) {\n state.back = -1;\n }\n break;\n }\n state.back = 0;\n for (;;) {\n here = state.lencode[hold & ((1 << state.lenbits) - 1)]; /*BITS(state.lenbits)*/\n here_bits = here >>> 24;\n here_op = (here >>> 16) & 0xff;\n here_val = here & 0xffff;\n\n if (here_bits <= bits) { break; }\n //--- PULLBYTE() ---//\n if (have === 0) { break inf_leave; }\n have--;\n hold += input[next++] << bits;\n bits += 8;\n //---//\n }\n if (here_op && (here_op & 0xf0) === 0) {\n last_bits = here_bits;\n last_op = here_op;\n last_val = here_val;\n for (;;) {\n here = state.lencode[last_val +\n ((hold & ((1 << (last_bits + last_op)) - 1))/*BITS(last.bits + last.op)*/ >> last_bits)];\n here_bits = here >>> 24;\n here_op = (here >>> 16) & 0xff;\n here_val = here & 0xffff;\n\n if ((last_bits + here_bits) <= bits) { break; }\n //--- PULLBYTE() ---//\n if (have === 0) { break inf_leave; }\n have--;\n hold += input[next++] << bits;\n bits += 8;\n //---//\n }\n //--- DROPBITS(last.bits) ---//\n hold >>>= last_bits;\n bits -= last_bits;\n //---//\n state.back += last_bits;\n }\n //--- DROPBITS(here.bits) ---//\n hold >>>= here_bits;\n bits -= here_bits;\n //---//\n state.back += here_bits;\n state.length = here_val;\n if (here_op === 0) {\n //Tracevv((stderr, here.val >= 0x20 && here.val < 0x7f ?\n // \"inflate: literal '%c'\\n\" :\n // \"inflate: literal 0x%02x\\n\", here.val));\n state.mode = LIT;\n break;\n }\n if (here_op & 32) {\n //Tracevv((stderr, \"inflate: end of block\\n\"));\n state.back = -1;\n state.mode = TYPE;\n break;\n }\n if (here_op & 64) {\n strm.msg = 'invalid literal/length code';\n state.mode = BAD;\n break;\n }\n state.extra = here_op & 15;\n state.mode = LENEXT;\n /* falls through */\n case LENEXT:\n if (state.extra) {\n //=== NEEDBITS(state.extra);\n n = state.extra;\n while (bits < n) {\n if (have === 0) { break inf_leave; }\n have--;\n hold += input[next++] << bits;\n bits += 8;\n }\n //===//\n state.length += hold & ((1 << state.extra) - 1)/*BITS(state.extra)*/;\n //--- DROPBITS(state.extra) ---//\n hold >>>= state.extra;\n bits -= state.extra;\n //---//\n state.back += state.extra;\n }\n //Tracevv((stderr, \"inflate: length %u\\n\", state.length));\n state.was = state.length;\n state.mode = DIST;\n /* falls through */\n case DIST:\n for (;;) {\n here = state.distcode[hold & ((1 << state.distbits) - 1)];/*BITS(state.distbits)*/\n here_bits = here >>> 24;\n here_op = (here >>> 16) & 0xff;\n here_val = here & 0xffff;\n\n if ((here_bits) <= bits) { break; }\n //--- PULLBYTE() ---//\n if (have === 0) { break inf_leave; }\n have--;\n hold += input[next++] << bits;\n bits += 8;\n //---//\n }\n if ((here_op & 0xf0) === 0) {\n last_bits = here_bits;\n last_op = here_op;\n last_val = here_val;\n for (;;) {\n here = state.distcode[last_val +\n ((hold & ((1 << (last_bits + last_op)) - 1))/*BITS(last.bits + last.op)*/ >> last_bits)];\n here_bits = here >>> 24;\n here_op = (here >>> 16) & 0xff;\n here_val = here & 0xffff;\n\n if ((last_bits + here_bits) <= bits) { break; }\n //--- PULLBYTE() ---//\n if (have === 0) { break inf_leave; }\n have--;\n hold += input[next++] << bits;\n bits += 8;\n //---//\n }\n //--- DROPBITS(last.bits) ---//\n hold >>>= last_bits;\n bits -= last_bits;\n //---//\n state.back += last_bits;\n }\n //--- DROPBITS(here.bits) ---//\n hold >>>= here_bits;\n bits -= here_bits;\n //---//\n state.back += here_bits;\n if (here_op & 64) {\n strm.msg = 'invalid distance code';\n state.mode = BAD;\n break;\n }\n state.offset = here_val;\n state.extra = (here_op) & 15;\n state.mode = DISTEXT;\n /* falls through */\n case DISTEXT:\n if (state.extra) {\n //=== NEEDBITS(state.extra);\n n = state.extra;\n while (bits < n) {\n if (have === 0) { break inf_leave; }\n have--;\n hold += input[next++] << bits;\n bits += 8;\n }\n //===//\n state.offset += hold & ((1 << state.extra) - 1)/*BITS(state.extra)*/;\n //--- DROPBITS(state.extra) ---//\n hold >>>= state.extra;\n bits -= state.extra;\n //---//\n state.back += state.extra;\n }\n//#ifdef INFLATE_STRICT\n if (state.offset > state.dmax) {\n strm.msg = 'invalid distance too far back';\n state.mode = BAD;\n break;\n }\n//#endif\n //Tracevv((stderr, \"inflate: distance %u\\n\", state.offset));\n state.mode = MATCH;\n /* falls through */\n case MATCH:\n if (left === 0) { break inf_leave; }\n copy = _out - left;\n if (state.offset > copy) { /* copy from window */\n copy = state.offset - copy;\n if (copy > state.whave) {\n if (state.sane) {\n strm.msg = 'invalid distance too far back';\n state.mode = BAD;\n break;\n }\n// (!) This block is disabled in zlib defaults,\n// don't enable it for binary compatibility\n//#ifdef INFLATE_ALLOW_INVALID_DISTANCE_TOOFAR_ARRR\n// Trace((stderr, \"inflate.c too far\\n\"));\n// copy -= state.whave;\n// if (copy > state.length) { copy = state.length; }\n// if (copy > left) { copy = left; }\n// left -= copy;\n// state.length -= copy;\n// do {\n// output[put++] = 0;\n// } while (--copy);\n// if (state.length === 0) { state.mode = LEN; }\n// break;\n//#endif\n }\n if (copy > state.wnext) {\n copy -= state.wnext;\n from = state.wsize - copy;\n }\n else {\n from = state.wnext - copy;\n }\n if (copy > state.length) { copy = state.length; }\n from_source = state.window;\n }\n else { /* copy from output */\n from_source = output;\n from = put - state.offset;\n copy = state.length;\n }\n if (copy > left) { copy = left; }\n left -= copy;\n state.length -= copy;\n do {\n output[put++] = from_source[from++];\n } while (--copy);\n if (state.length === 0) { state.mode = LEN; }\n break;\n case LIT:\n if (left === 0) { break inf_leave; }\n output[put++] = state.length;\n left--;\n state.mode = LEN;\n break;\n case CHECK:\n if (state.wrap) {\n //=== NEEDBITS(32);\n while (bits < 32) {\n if (have === 0) { break inf_leave; }\n have--;\n // Use '|' instead of '+' to make sure that result is signed\n hold |= input[next++] << bits;\n bits += 8;\n }\n //===//\n _out -= left;\n strm.total_out += _out;\n state.total += _out;\n if ((state.wrap & 4) && _out) {\n strm.adler = state.check =\n /*UPDATE_CHECK(state.check, put - _out, _out);*/\n (state.flags ? crc32_1(state.check, output, _out, put - _out) : adler32_1(state.check, output, _out, put - _out));\n\n }\n _out = left;\n // NB: crc32 stored as signed 32-bit int, zswap32 returns signed too\n if ((state.wrap & 4) && (state.flags ? hold : zswap32(hold)) !== state.check) {\n strm.msg = 'incorrect data check';\n state.mode = BAD;\n break;\n }\n //=== INITBITS();\n hold = 0;\n bits = 0;\n //===//\n //Tracev((stderr, \"inflate: check matches trailer\\n\"));\n }\n state.mode = LENGTH;\n /* falls through */\n case LENGTH:\n if (state.wrap && state.flags) {\n //=== NEEDBITS(32);\n while (bits < 32) {\n if (have === 0) { break inf_leave; }\n have--;\n hold += input[next++] << bits;\n bits += 8;\n }\n //===//\n if ((state.wrap & 4) && hold !== (state.total & 0xffffffff)) {\n strm.msg = 'incorrect length check';\n state.mode = BAD;\n break;\n }\n //=== INITBITS();\n hold = 0;\n bits = 0;\n //===//\n //Tracev((stderr, \"inflate: length matches trailer\\n\"));\n }\n state.mode = DONE;\n /* falls through */\n case DONE:\n ret = Z_STREAM_END$1;\n break inf_leave;\n case BAD:\n ret = Z_DATA_ERROR$1;\n break inf_leave;\n case MEM:\n return Z_MEM_ERROR$1;\n case SYNC:\n /* falls through */\n default:\n return Z_STREAM_ERROR$1;\n }\n }\n\n // inf_leave <- here is real place for \"goto inf_leave\", emulated via \"break inf_leave\"\n\n /*\n Return from inflate(), updating the total counts and the check value.\n If there was no progress during the inflate() call, return a buffer\n error. Call updatewindow() to create and/or update the window state.\n Note: a memory error from inflate() is non-recoverable.\n */\n\n //--- RESTORE() ---\n strm.next_out = put;\n strm.avail_out = left;\n strm.next_in = next;\n strm.avail_in = have;\n state.hold = hold;\n state.bits = bits;\n //---\n\n if (state.wsize || (_out !== strm.avail_out && state.mode < BAD &&\n (state.mode < CHECK || flush !== Z_FINISH$1))) {\n if (updatewindow(strm, strm.output, strm.next_out, _out - strm.avail_out)) ;\n }\n _in -= strm.avail_in;\n _out -= strm.avail_out;\n strm.total_in += _in;\n strm.total_out += _out;\n state.total += _out;\n if ((state.wrap & 4) && _out) {\n strm.adler = state.check = /*UPDATE_CHECK(state.check, strm.next_out - _out, _out);*/\n (state.flags ? crc32_1(state.check, output, _out, strm.next_out - _out) : adler32_1(state.check, output, _out, strm.next_out - _out));\n }\n strm.data_type = state.bits + (state.last ? 64 : 0) +\n (state.mode === TYPE ? 128 : 0) +\n (state.mode === LEN_ || state.mode === COPY_ ? 256 : 0);\n if (((_in === 0 && _out === 0) || flush === Z_FINISH$1) && ret === Z_OK$1) {\n ret = Z_BUF_ERROR;\n }\n return ret;\n};\n\n\nconst inflateEnd = (strm) => {\n\n if (inflateStateCheck(strm)) {\n return Z_STREAM_ERROR$1;\n }\n\n let state = strm.state;\n if (state.window) {\n state.window = null;\n }\n strm.state = null;\n return Z_OK$1;\n};\n\n\nconst inflateGetHeader = (strm, head) => {\n\n /* check state */\n if (inflateStateCheck(strm)) { return Z_STREAM_ERROR$1; }\n const state = strm.state;\n if ((state.wrap & 2) === 0) { return Z_STREAM_ERROR$1; }\n\n /* save header structure */\n state.head = head;\n head.done = false;\n return Z_OK$1;\n};\n\n\nconst inflateSetDictionary = (strm, dictionary) => {\n const dictLength = dictionary.length;\n\n let state;\n let dictid;\n let ret;\n\n /* check state */\n if (inflateStateCheck(strm)) { return Z_STREAM_ERROR$1; }\n state = strm.state;\n\n if (state.wrap !== 0 && state.mode !== DICT) {\n return Z_STREAM_ERROR$1;\n }\n\n /* check for correct dictionary identifier */\n if (state.mode === DICT) {\n dictid = 1; /* adler32(0, null, 0)*/\n /* dictid = adler32(dictid, dictionary, dictLength); */\n dictid = adler32_1(dictid, dictionary, dictLength, 0);\n if (dictid !== state.check) {\n return Z_DATA_ERROR$1;\n }\n }\n /* copy dictionary to window using updatewindow(), which will amend the\n existing dictionary if appropriate */\n ret = updatewindow(strm, dictionary, dictLength, dictLength);\n if (ret) {\n state.mode = MEM;\n return Z_MEM_ERROR$1;\n }\n state.havedict = 1;\n // Tracev((stderr, \"inflate: dictionary set\\n\"));\n return Z_OK$1;\n};\n\n\nvar inflateReset_1 = inflateReset;\nvar inflateReset2_1 = inflateReset2;\nvar inflateResetKeep_1 = inflateResetKeep;\nvar inflateInit_1 = inflateInit;\nvar inflateInit2_1 = inflateInit2;\nvar inflate_2$1 = inflate$2;\nvar inflateEnd_1 = inflateEnd;\nvar inflateGetHeader_1 = inflateGetHeader;\nvar inflateSetDictionary_1 = inflateSetDictionary;\nvar inflateInfo = 'pako inflate (from Nodeca project)';\n\n/* Not implemented\nmodule.exports.inflateCodesUsed = inflateCodesUsed;\nmodule.exports.inflateCopy = inflateCopy;\nmodule.exports.inflateGetDictionary = inflateGetDictionary;\nmodule.exports.inflateMark = inflateMark;\nmodule.exports.inflatePrime = inflatePrime;\nmodule.exports.inflateSync = inflateSync;\nmodule.exports.inflateSyncPoint = inflateSyncPoint;\nmodule.exports.inflateUndermine = inflateUndermine;\nmodule.exports.inflateValidate = inflateValidate;\n*/\n\nvar inflate_1$2 = {\n\tinflateReset: inflateReset_1,\n\tinflateReset2: inflateReset2_1,\n\tinflateResetKeep: inflateResetKeep_1,\n\tinflateInit: inflateInit_1,\n\tinflateInit2: inflateInit2_1,\n\tinflate: inflate_2$1,\n\tinflateEnd: inflateEnd_1,\n\tinflateGetHeader: inflateGetHeader_1,\n\tinflateSetDictionary: inflateSetDictionary_1,\n\tinflateInfo: inflateInfo\n};\n\n// (C) 1995-2013 Jean-loup Gailly and Mark Adler\n// (C) 2014-2017 Vitaly Puzrin and Andrey Tupitsin\n//\n// This software is provided 'as-is', without any express or implied\n// warranty. In no event will the authors be held liable for any damages\n// arising from the use of this software.\n//\n// Permission is granted to anyone to use this software for any purpose,\n// including commercial applications, and to alter it and redistribute it\n// freely, subject to the following restrictions:\n//\n// 1. The origin of this software must not be misrepresented; you must not\n// claim that you wrote the original software. If you use this software\n// in a product, an acknowledgment in the product documentation would be\n// appreciated but is not required.\n// 2. Altered source versions must be plainly marked as such, and must not be\n// misrepresented as being the original software.\n// 3. This notice may not be removed or altered from any source distribution.\n\nfunction GZheader() {\n /* true if compressed data believed to be text */\n this.text = 0;\n /* modification time */\n this.time = 0;\n /* extra flags (not used when writing a gzip file) */\n this.xflags = 0;\n /* operating system */\n this.os = 0;\n /* pointer to extra field or Z_NULL if none */\n this.extra = null;\n /* extra field length (valid if extra != Z_NULL) */\n this.extra_len = 0; // Actually, we don't need it in JS,\n // but leave for few code modifications\n\n //\n // Setup limits is not necessary because in js we should not preallocate memory\n // for inflate use constant limit in 65536 bytes\n //\n\n /* space at extra (only when reading header) */\n // this.extra_max = 0;\n /* pointer to zero-terminated file name or Z_NULL */\n this.name = '';\n /* space at name (only when reading header) */\n // this.name_max = 0;\n /* pointer to zero-terminated comment or Z_NULL */\n this.comment = '';\n /* space at comment (only when reading header) */\n // this.comm_max = 0;\n /* true if there was or will be a header crc */\n this.hcrc = 0;\n /* true when done reading gzip header (not used when writing a gzip file) */\n this.done = false;\n}\n\nvar gzheader = GZheader;\n\nconst toString = Object.prototype.toString;\n\n/* Public constants ==========================================================*/\n/* ===========================================================================*/\n\nconst {\n Z_NO_FLUSH, Z_FINISH,\n Z_OK, Z_STREAM_END, Z_NEED_DICT, Z_STREAM_ERROR, Z_DATA_ERROR, Z_MEM_ERROR\n} = constants$2;\n\n/* ===========================================================================*/\n\n\n/**\n * class Inflate\n *\n * Generic JS-style wrapper for zlib calls. If you don't need\n * streaming behaviour - use more simple functions: [[inflate]]\n * and [[inflateRaw]].\n **/\n\n/* internal\n * inflate.chunks -> Array\n *\n * Chunks of output data, if [[Inflate#onData]] not overridden.\n **/\n\n/**\n * Inflate.result -> Uint8Array|String\n *\n * Uncompressed result, generated by default [[Inflate#onData]]\n * and [[Inflate#onEnd]] handlers. Filled after you push last chunk\n * (call [[Inflate#push]] with `Z_FINISH` / `true` param).\n **/\n\n/**\n * Inflate.err -> Number\n *\n * Error code after inflate finished. 0 (Z_OK) on success.\n * Should be checked if broken data possible.\n **/\n\n/**\n * Inflate.msg -> String\n *\n * Error message, if [[Inflate.err]] != 0\n **/\n\n\n/**\n * new Inflate(options)\n * - options (Object): zlib inflate options.\n *\n * Creates new inflator instance with specified params. Throws exception\n * on bad params. Supported options:\n *\n * - `windowBits`\n * - `dictionary`\n *\n * [http://zlib.net/manual.html#Advanced](http://zlib.net/manual.html#Advanced)\n * for more information on these.\n *\n * Additional options, for internal needs:\n *\n * - `chunkSize` - size of generated data chunks (16K by default)\n * - `raw` (Boolean) - do raw inflate\n * - `to` (String) - if equal to 'string', then result will be converted\n * from utf8 to utf16 (javascript) string. When string output requested,\n * chunk length can differ from `chunkSize`, depending on content.\n *\n * By default, when no options set, autodetect deflate/gzip data format via\n * wrapper header.\n *\n * ##### Example:\n *\n * ```javascript\n * const pako = require('pako')\n * const chunk1 = new Uint8Array([1,2,3,4,5,6,7,8,9])\n * const chunk2 = new Uint8Array([10,11,12,13,14,15,16,17,18,19]);\n *\n * const inflate = new pako.Inflate({ level: 3});\n *\n * inflate.push(chunk1, false);\n * inflate.push(chunk2, true); // true -> last chunk\n *\n * if (inflate.err) { throw new Error(inflate.err); }\n *\n * console.log(inflate.result);\n * ```\n **/\nfunction Inflate$1(options) {\n this.options = common.assign({\n chunkSize: 1024 * 64,\n windowBits: 15,\n to: ''\n }, options || {});\n\n const opt = this.options;\n\n // Force window size for `raw` data, if not set directly,\n // because we have no header for autodetect.\n if (opt.raw && (opt.windowBits >= 0) && (opt.windowBits < 16)) {\n opt.windowBits = -opt.windowBits;\n if (opt.windowBits === 0) { opt.windowBits = -15; }\n }\n\n // If `windowBits` not defined (and mode not raw) - set autodetect flag for gzip/deflate\n if ((opt.windowBits >= 0) && (opt.windowBits < 16) &&\n !(options && options.windowBits)) {\n opt.windowBits += 32;\n }\n\n // Gzip header has no info about windows size, we can do autodetect only\n // for deflate. So, if window size not set, force it to max when gzip possible\n if ((opt.windowBits > 15) && (opt.windowBits < 48)) {\n // bit 3 (16) -> gzipped data\n // bit 4 (32) -> autodetect gzip/deflate\n if ((opt.windowBits & 15) === 0) {\n opt.windowBits |= 15;\n }\n }\n\n this.err = 0; // error code, if happens (0 = Z_OK)\n this.msg = ''; // error message\n this.ended = false; // used to avoid multiple onEnd() calls\n this.chunks = []; // chunks of compressed data\n\n this.strm = new zstream();\n this.strm.avail_out = 0;\n\n let status = inflate_1$2.inflateInit2(\n this.strm,\n opt.windowBits\n );\n\n if (status !== Z_OK) {\n throw new Error(messages[status]);\n }\n\n this.header = new gzheader();\n\n inflate_1$2.inflateGetHeader(this.strm, this.header);\n\n // Setup dictionary\n if (opt.dictionary) {\n // Convert data if needed\n if (typeof opt.dictionary === 'string') {\n opt.dictionary = strings.string2buf(opt.dictionary);\n } else if (toString.call(opt.dictionary) === '[object ArrayBuffer]') {\n opt.dictionary = new Uint8Array(opt.dictionary);\n }\n if (opt.raw) { //In raw mode we need to set the dictionary early\n status = inflate_1$2.inflateSetDictionary(this.strm, opt.dictionary);\n if (status !== Z_OK) {\n throw new Error(messages[status]);\n }\n }\n }\n}\n\n/**\n * Inflate#push(data[, flush_mode]) -> Boolean\n * - data (Uint8Array|ArrayBuffer): input data\n * - flush_mode (Number|Boolean): 0..6 for corresponding Z_NO_FLUSH..Z_TREE\n * flush modes. See constants. Skipped or `false` means Z_NO_FLUSH,\n * `true` means Z_FINISH.\n *\n * Sends input data to inflate pipe, generating [[Inflate#onData]] calls with\n * new output chunks. Returns `true` on success. If end of stream detected,\n * [[Inflate#onEnd]] will be called.\n *\n * `flush_mode` is not needed for normal operation, because end of stream\n * detected automatically. You may try to use it for advanced things, but\n * this functionality was not tested.\n *\n * On fail call [[Inflate#onEnd]] with error code and return false.\n *\n * ##### Example\n *\n * ```javascript\n * push(chunk, false); // push one of data chunks\n * ...\n * push(chunk, true); // push last chunk\n * ```\n **/\nInflate$1.prototype.push = function (data, flush_mode) {\n const strm = this.strm;\n const chunkSize = this.options.chunkSize;\n const dictionary = this.options.dictionary;\n let status, _flush_mode, last_avail_out;\n\n if (this.ended) return false;\n\n if (flush_mode === ~~flush_mode) _flush_mode = flush_mode;\n else _flush_mode = flush_mode === true ? Z_FINISH : Z_NO_FLUSH;\n\n // Convert data if needed\n if (toString.call(data) === '[object ArrayBuffer]') {\n strm.input = new Uint8Array(data);\n } else {\n strm.input = data;\n }\n\n strm.next_in = 0;\n strm.avail_in = strm.input.length;\n\n for (;;) {\n if (strm.avail_out === 0) {\n strm.output = new Uint8Array(chunkSize);\n strm.next_out = 0;\n strm.avail_out = chunkSize;\n }\n\n status = inflate_1$2.inflate(strm, _flush_mode);\n\n if (status === Z_NEED_DICT && dictionary) {\n status = inflate_1$2.inflateSetDictionary(strm, dictionary);\n\n if (status === Z_OK) {\n status = inflate_1$2.inflate(strm, _flush_mode);\n } else if (status === Z_DATA_ERROR) {\n // Replace code with more verbose\n status = Z_NEED_DICT;\n }\n }\n\n // Skip snyc markers if more data follows and not raw mode\n while (strm.avail_in > 0 &&\n status === Z_STREAM_END &&\n strm.state.wrap > 0 &&\n data[strm.next_in] !== 0)\n {\n inflate_1$2.inflateReset(strm);\n status = inflate_1$2.inflate(strm, _flush_mode);\n }\n\n switch (status) {\n case Z_STREAM_ERROR:\n case Z_DATA_ERROR:\n case Z_NEED_DICT:\n case Z_MEM_ERROR:\n this.onEnd(status);\n this.ended = true;\n return false;\n }\n\n // Remember real `avail_out` value, because we may patch out buffer content\n // to align utf8 strings boundaries.\n last_avail_out = strm.avail_out;\n\n if (strm.next_out) {\n if (strm.avail_out === 0 || status === Z_STREAM_END) {\n\n if (this.options.to === 'string') {\n\n let next_out_utf8 = strings.utf8border(strm.output, strm.next_out);\n\n let tail = strm.next_out - next_out_utf8;\n let utf8str = strings.buf2string(strm.output, next_out_utf8);\n\n // move tail & realign counters\n strm.next_out = tail;\n strm.avail_out = chunkSize - tail;\n if (tail) strm.output.set(strm.output.subarray(next_out_utf8, next_out_utf8 + tail), 0);\n\n this.onData(utf8str);\n\n } else {\n this.onData(strm.output.length === strm.next_out ? strm.output : strm.output.subarray(0, strm.next_out));\n }\n }\n }\n\n // Must repeat iteration if out buffer is full\n if (status === Z_OK && last_avail_out === 0) continue;\n\n // Finalize if end of stream reached.\n if (status === Z_STREAM_END) {\n status = inflate_1$2.inflateEnd(this.strm);\n this.onEnd(status);\n this.ended = true;\n return true;\n }\n\n if (strm.avail_in === 0) break;\n }\n\n return true;\n};\n\n\n/**\n * Inflate#onData(chunk) -> Void\n * - chunk (Uint8Array|String): output data. When string output requested,\n * each chunk will be string.\n *\n * By default, stores data blocks in `chunks[]` property and glue\n * those in `onEnd`. Override this handler, if you need another behaviour.\n **/\nInflate$1.prototype.onData = function (chunk) {\n this.chunks.push(chunk);\n};\n\n\n/**\n * Inflate#onEnd(status) -> Void\n * - status (Number): inflate status. 0 (Z_OK) on success,\n * other if not.\n *\n * Called either after you tell inflate that the input stream is\n * complete (Z_FINISH). By default - join collected chunks,\n * free memory and fill `results` / `err` properties.\n **/\nInflate$1.prototype.onEnd = function (status) {\n // On success - join\n if (status === Z_OK) {\n if (this.options.to === 'string') {\n this.result = this.chunks.join('');\n } else {\n this.result = common.flattenChunks(this.chunks);\n }\n }\n this.chunks = [];\n this.err = status;\n this.msg = this.strm.msg;\n};\n\n\n/**\n * inflate(data[, options]) -> Uint8Array|String\n * - data (Uint8Array|ArrayBuffer): input data to decompress.\n * - options (Object): zlib inflate options.\n *\n * Decompress `data` with inflate/ungzip and `options`. Autodetect\n * format via wrapper header by default. That's why we don't provide\n * separate `ungzip` method.\n *\n * Supported options are:\n *\n * - windowBits\n *\n * [http://zlib.net/manual.html#Advanced](http://zlib.net/manual.html#Advanced)\n * for more information.\n *\n * Sugar (options):\n *\n * - `raw` (Boolean) - say that we work with raw stream, if you don't wish to specify\n * negative windowBits implicitly.\n * - `to` (String) - if equal to 'string', then result will be converted\n * from utf8 to utf16 (javascript) string. When string output requested,\n * chunk length can differ from `chunkSize`, depending on content.\n *\n *\n * ##### Example:\n *\n * ```javascript\n * const pako = require('pako');\n * const input = pako.deflate(new Uint8Array([1,2,3,4,5,6,7,8,9]));\n * let output;\n *\n * try {\n * output = pako.inflate(input);\n * } catch (err) {\n * console.log(err);\n * }\n * ```\n **/\nfunction inflate$1(input, options) {\n const inflator = new Inflate$1(options);\n\n inflator.push(input);\n\n // That will never happens, if you don't cheat with options :)\n if (inflator.err) throw inflator.msg || messages[inflator.err];\n\n return inflator.result;\n}\n\n\n/**\n * inflateRaw(data[, options]) -> Uint8Array|String\n * - data (Uint8Array|ArrayBuffer): input data to decompress.\n * - options (Object): zlib inflate options.\n *\n * The same as [[inflate]], but creates raw data, without wrapper\n * (header and adler32 crc).\n **/\nfunction inflateRaw$1(input, options) {\n options = options || {};\n options.raw = true;\n return inflate$1(input, options);\n}\n\n\n/**\n * ungzip(data[, options]) -> Uint8Array|String\n * - data (Uint8Array|ArrayBuffer): input data to decompress.\n * - options (Object): zlib inflate options.\n *\n * Just shortcut to [[inflate]], because it autodetects format\n * by header.content. Done for convenience.\n **/\n\n\nvar Inflate_1$1 = Inflate$1;\nvar inflate_2 = inflate$1;\nvar inflateRaw_1$1 = inflateRaw$1;\nvar ungzip$1 = inflate$1;\nvar constants = constants$2;\n\nvar inflate_1$1 = {\n\tInflate: Inflate_1$1,\n\tinflate: inflate_2,\n\tinflateRaw: inflateRaw_1$1,\n\tungzip: ungzip$1,\n\tconstants: constants\n};\n\nconst { Deflate, deflate, deflateRaw, gzip } = deflate_1$1;\n\nconst { Inflate, inflate, inflateRaw, ungzip } = inflate_1$1;\n\n\n\nvar Deflate_1 = Deflate;\nvar deflate_1 = deflate;\nvar deflateRaw_1 = deflateRaw;\nvar gzip_1 = gzip;\nvar Inflate_1 = Inflate;\nvar inflate_1 = inflate;\nvar inflateRaw_1 = inflateRaw;\nvar ungzip_1 = ungzip;\nvar constants_1 = constants$2;\n\nvar pako = {\n\tDeflate: Deflate_1,\n\tdeflate: deflate_1,\n\tdeflateRaw: deflateRaw_1,\n\tgzip: gzip_1,\n\tInflate: Inflate_1,\n\tinflate: inflate_1,\n\tinflateRaw: inflateRaw_1,\n\tungzip: ungzip_1,\n\tconstants: constants_1\n};\n\nexport { Deflate_1 as Deflate, Inflate_1 as Inflate, constants_1 as constants, pako as default, deflate_1 as deflate, deflateRaw_1 as deflateRaw, gzip_1 as gzip, inflate_1 as inflate, inflateRaw_1 as inflateRaw, ungzip_1 as ungzip };\n","import React, { useEffect, useState, useCallback } from \"react\";\r\nimport { pageViewStyle } from \"../../pageViewStyle/pageViewStyle\";\r\nimport { FlameIcon } from \"../svgIcons\";\r\nexport const InstrumentSliderNew = ({ title, items, onMarketClick, currentMarketTab, children, renderFlameIcon }) => {\r\n const [activeMarketIndex, setActiveMarketIndex] = useState(items.findIndex((i) => i.title === currentMarketTab));\r\n const [view, setView] = useState(pageViewStyle.getView());\r\n const onViewUpdate = (view) => {\r\n setView(view);\r\n };\r\n useEffect(() => {\r\n pageViewStyle.subscribe(onViewUpdate);\r\n return () => {\r\n pageViewStyle.unsubscribe(onViewUpdate);\r\n };\r\n }, [view]);\r\n const handleMarketClick = useCallback((event) => {\r\n if (view === \"large\") {\r\n event.preventDefault();\r\n const index = parseInt(event.currentTarget.getAttribute(\"data-id\") ?? \"0\");\r\n setActiveMarketIndex(index);\r\n onMarketClick(items[index].market);\r\n }\r\n }, []);\r\n const handleOnTouchStart = useCallback((event) => {\r\n if (event.touches.length > 1) {\r\n const index = parseInt(event.currentTarget.getAttribute(\"data-id\") ?? \"0\");\r\n setActiveMarketIndex(index);\r\n }\r\n if (view !== \"large\" && event.touches.length <= 1) {\r\n const index = parseInt(event.currentTarget.getAttribute(\"data-id\") ?? \"0\");\r\n setActiveMarketIndex(index);\r\n onMarketClick(items[index].market);\r\n }\r\n }, []);\r\n const handleOnTouchMove = useCallback((event) => {\r\n setActiveMarketIndex(-1);\r\n }, []);\r\n return (React.createElement(\"div\", { className: \"instrument-slider--new\" },\r\n title && (React.createElement(\"h2\", { className: \"instrument-slider--new__title\", dangerouslySetInnerHTML: { __html: title } })),\r\n React.createElement(\"div\", { className: \"instrument-slider--new__items\" }, items.map((item, i) => (React.createElement(\"div\", { key: `instrument-slider--new-item-${i}`, className: `instrument-slider--new__item ${activeMarketIndex === i &&\r\n \"instrument-slider--new__highlighted\"}`, \"data-id\": i, onClick: handleMarketClick, onTouchStart: handleOnTouchStart, onTouchMove: handleOnTouchMove },\r\n React.createElement(\"div\", { className: \"instrument-slider--new__item-title\" },\r\n (i === 0 && renderFlameIcon) && React.createElement(\"div\", { className: \"price-feed__headCell-icon\" }, FlameIcon()),\r\n item.title))))),\r\n children));\r\n};\r\n","import React, { useEffect, useState, useCallback, useRef } from \"react\";\r\nimport pako from \"pako\";\r\nimport { Img } from \"../Img\";\r\nimport { InstrumentSliderNew } from \"../InstrumentSliderNew\";\r\nimport { ButtonV2 } from \"../ButtonV2\";\r\nimport { CaretUp, CaretDown } from \"../svgIcons\";\r\nexport const PriceFeedNewSocketComponent = ({ tableInfo, instrumentIcons, marketsInfo, footerText, session, wsUrl, activeMarket, buttonLinkText, buttonLinkUrl, instrumentItems, popularInstrumentToRemove, popularInstrumentToAdd, instrumentsData, culture, hasButtons = false, buttonOpenInNewTab = false }) => {\r\n const [instruments, setInstruments] = useState([]);\r\n const [filteredInstruments, setFilteredInstruments] = useState([]);\r\n const [currentMarketTab, setCurrentMarketTab] = useState(activeMarket);\r\n const prevAskPrices = useRef(new Map());\r\n const prevBidPrices = useRef(new Map());\r\n function getValueByKey(data, key) {\r\n for (const category of data) {\r\n if (category[key]) {\r\n return category[key];\r\n }\r\n }\r\n return [];\r\n }\r\n const Forex = getValueByKey(instrumentsData, \"forex\");\r\n const Indices = getValueByKey(instrumentsData, \"indices\");\r\n const Commodities = getValueByKey(instrumentsData, \"commodities\");\r\n const ETFs = getValueByKey(instrumentsData, \"etfs\");\r\n const Futures = getValueByKey(instrumentsData, \"futures\");\r\n const Stocks = getValueByKey(instrumentsData, \"stocks\");\r\n const Crypto = getValueByKey(instrumentsData, \"crypto\");\r\n const Popular = getValueByKey(instrumentsData, \"popular\")?.map(item => item === popularInstrumentToRemove ? popularInstrumentToAdd : item);\r\n const instrumentsMap = {\r\n \"\": [],\r\n forex: Forex,\r\n indices: Indices,\r\n commodities: Commodities,\r\n etfs: ETFs,\r\n futures: Futures,\r\n stocks: Stocks,\r\n crypto: Crypto,\r\n popular: Popular,\r\n };\r\n useEffect(() => {\r\n let websocket;\r\n let interval;\r\n const startWebsocket = () => {\r\n websocket = new WebSocket(`${wsUrl}/price-feed/${session}`);\r\n websocket.binaryType = \"arraybuffer\";\r\n const pingRequest = new TextEncoder().encode(\"ping\");\r\n websocket.onopen = () => {\r\n interval = setInterval(() => {\r\n websocket.send(pingRequest);\r\n }, 1000);\r\n };\r\n websocket.onmessage = (event) => {\r\n const data = event.data;\r\n const message = pako.inflate(data, { to: \"string\" });\r\n if (message) {\r\n updatePriceFeedNewSocketComponent(message);\r\n }\r\n };\r\n };\r\n startWebsocket();\r\n setTimeout(() => {\r\n if (!websocket.OPEN) {\r\n startWebsocket();\r\n }\r\n }, 5000);\r\n return () => {\r\n clearInterval(interval);\r\n websocket.close();\r\n };\r\n }, [currentMarketTab]);\r\n useEffect(() => {\r\n setFilteredInstruments(instruments.filter((item) => item.groupCode === currentMarketTab));\r\n }, [currentMarketTab, instruments]);\r\n const updatePriceFeedNewSocketComponent = (message) => {\r\n const dict = JSON.parse(message);\r\n const instruments = [];\r\n for (const key in dict) {\r\n if (key.includes(\"quote\")) {\r\n const group = key.split(\"_\")[0];\r\n const parsedValues = JSON.parse(dict[key]);\r\n if (instrumentsMap[group.toLowerCase()]?.includes(parsedValues.Code)) {\r\n const dailyChange = calcDailyChange(group, parsedValues.Code, parsedValues.Bid, parsedValues.Ask, dict);\r\n const prevBid = prevBidPrices.current.get(parsedValues.Code) ?? 0;\r\n const prevAsk = prevAskPrices.current.get(parsedValues.Code) ?? 0;\r\n const instrument = {\r\n code: parsedValues.Code,\r\n groupCode: group,\r\n bid: parsedValues.Bid,\r\n bidStyle: bidAskStyle(parsedValues.Bid, prevBid),\r\n bidIcon: bidAskIcon(parsedValues.Bid, prevBid),\r\n ask: parsedValues.Ask,\r\n askStyle: bidAskStyle(parsedValues.Ask, prevAsk),\r\n askIcon: bidAskIcon(parsedValues.Ask, prevAsk),\r\n spread: calcSpread(group, parsedValues.Code, parsedValues.Bid, parsedValues.Ask, dict),\r\n dailyChange: `${dailyChange}%`,\r\n dailyChangeStyle: dailyChangeStyle(+dailyChange),\r\n dailyChangeIcon: dailyChangeIcon(+dailyChange),\r\n };\r\n prevAskPrices.current.set(parsedValues.Code, parsedValues.Ask);\r\n prevBidPrices.current.set(parsedValues.Code, parsedValues.Bid);\r\n instruments.push(instrument);\r\n }\r\n }\r\n }\r\n setInstruments(instruments);\r\n setFilteredInstruments(instruments.filter((item) => item.groupCode === currentMarketTab));\r\n };\r\n const calcSpread = (group, code, bid, ask, dict) => {\r\n const marketItem = JSON.parse(dict[`${group}_marketItem_${code}`]);\r\n let decimalPrecision = 0;\r\n let tickSize = 0;\r\n if (dict[`${group}_marketItemInfo_${code}`]) {\r\n const marketItemInfo = JSON.parse(dict[`${group}_marketItemInfo_${code}`]);\r\n decimalPrecision =\r\n marketItemInfo.DecimalPrecision ?? marketItem.DecimalPrecision;\r\n tickSize = marketItemInfo.TickSize ?? marketItem.TickSize;\r\n }\r\n else {\r\n decimalPrecision = marketItem.DecimalPrecision;\r\n tickSize = marketItem.TickSize;\r\n }\r\n let decimal = tickSize >= 1.0 ? 0 : decimalPrecision;\r\n decimal = decimal > 2 ? decimal - 1 : decimal;\r\n const spread = ((ask - bid) * Math.pow(10, decimal)).toFixed(1);\r\n return spread;\r\n };\r\n const calcDailyChange = (group, code, bid, ask, dict) => {\r\n const now = new Date();\r\n const day = now.getUTCDate() - 1;\r\n if (dict[`${group}_prevDayClosePrice_${code}_${day}`]) {\r\n const parsedValues = JSON.parse(dict[`${group}_prevDayClosePrice_${code}_${day}`]);\r\n const prevClose = parsedValues.PrevClose ?? 0;\r\n const averageCurrentPrice = (ask + bid) / 2;\r\n const dailyValue = averageCurrentPrice - prevClose;\r\n const dailyPercent = ((dailyValue / prevClose) * 100).toFixed(2);\r\n return `${dailyPercent}`;\r\n }\r\n return \"N/A\";\r\n };\r\n const bidAskStyle = (currentPrice, previousPrice) => {\r\n if (currentPrice >= previousPrice) {\r\n return \"price-feed__positive\";\r\n }\r\n else {\r\n return \"price-feed__negative\";\r\n }\r\n };\r\n const dailyChangeStyle = (value) => {\r\n if (value >= 0) {\r\n return \"price-feed__positive\";\r\n }\r\n else {\r\n return \"price-feed__negative\";\r\n }\r\n };\r\n const bidAskIcon = (currentPrice, previousPrice) => {\r\n if (currentPrice >= previousPrice) {\r\n return CaretUp();\r\n }\r\n else {\r\n return CaretDown();\r\n }\r\n };\r\n const dailyChangeIcon = (value) => {\r\n if (value >= 0) {\r\n return CaretUp();\r\n }\r\n else {\r\n return CaretDown();\r\n }\r\n };\r\n const handleMarketClick = useCallback((market) => {\r\n setCurrentMarketTab(market);\r\n }, []);\r\n return (React.createElement(\"div\", { className: \"price-feed__table\" },\r\n React.createElement(InstrumentSliderNew, { items: marketsInfo, currentMarketTab: activeMarket, onMarketClick: handleMarketClick, renderFlameIcon: true }),\r\n React.createElement(\"div\", { className: \"price-feed__table-data-wrapper\" },\r\n React.createElement(\"table\", { className: \"price-feed__table-data\" },\r\n React.createElement(\"thead\", null,\r\n React.createElement(\"tr\", { className: \"price-feed__header\" },\r\n tableInfo.map((item, i) => (React.createElement(\"th\", { key: `price-feed__headerCell-${i}`, className: \"price-feed__headerCell\" }, item.title))),\r\n hasButtons && React.createElement(\"th\", { className: \"price-feed__headerCell price-feed__buttonCell\" })),\r\n React.createElement(\"tr\", null,\r\n tableInfo.map((_, i) => (React.createElement(\"td\", { key: `price-feed__headerCell-${i}`, className: \"price-feed__headerBorder\" }))),\r\n hasButtons && React.createElement(\"td\", { className: \"price-feed__headerBorder price-feed__buttonCell\" }))),\r\n React.createElement(\"tbody\", { className: \"price-feed__body\" }, filteredInstruments.slice(0, 5).map((item, i) => (React.createElement(\"tr\", { key: `price-feed__row-${i}`, className: `price-feed__row price-feed__row--${i}` },\r\n React.createElement(\"td\", { className: \"price-feed__cellContainer price-feed__cellContainer--instrument\" },\r\n React.createElement(Img, { className: \"div price-feed__instrumentIcon\", src: instrumentIcons.filter((el) => el.title === item.code)[0]?.imageUrl ?? \"\", alt: instrumentIcons.filter((el) => el.title === item.code)[0]?.imageAlt ?? \"\" }),\r\n React.createElement(\"a\", { href: `/${culture}/${instrumentItems[item.code.toLowerCase()] !== undefined ? instrumentItems[item.code.toLowerCase()] : \"contract-specifications\"}` }, item.code)),\r\n React.createElement(\"td\", { className: `price-feed__cellContainer ${item.askStyle}` }, item.ask),\r\n React.createElement(\"td\", { className: \"price-feed__cellContainer\" }, item.spread),\r\n React.createElement(\"td\", { className: `price-feed__cellContainer price-feed__cellContainer--with-icon price-feed__cellTitle ${item.dailyChangeStyle}` },\r\n item.dailyChange,\r\n item.dailyChangeIcon),\r\n hasButtons && React.createElement(\"td\", { className: \"price-feed__cellContainer price-feed__buttonCell\" },\r\n React.createElement(ButtonV2, { design: \"secondary-medium-wbg\", href: buttonLinkUrl, openInNewTab: buttonOpenInNewTab }, buttonLinkText)))))))),\r\n hasButtons && React.createElement(\"div\", { className: \"price-feed__mobile-button-wrapper\" },\r\n React.createElement(ButtonV2, { design: \"secondary-medium-wbg\", href: buttonLinkUrl, openInNewTab: buttonOpenInNewTab }, buttonLinkText)),\r\n footerText && React.createElement(\"div\", { className: \"price-feed__footerText\" }, footerText)));\r\n};\r\n","import React from \"react\";\r\nimport { PriceFeedNewSocketComponent } from \"./PriceFeedNewSocketComponent\";\r\nimport { ContainerFW, Container } from \"../global\";\r\nexport const PriceFeedNew = ({ title, textContent, tableInfo, instrumentIcons, marketsInfo, resources, footerText, session, wsUrl, apiUrl, activeMarket, instrumentParagraph, instrumentLinkText, instrumentLinkUrl, buttonLinkText, buttonLinkUrl, instrumentItems, popularInstrumentToRemove, popularInstrumentToAdd, instrumentsData, culture, hasButtons = false, buttonOpenInNewTab = false, }) => {\r\n return (React.createElement(ContainerFW, null,\r\n React.createElement(\"div\", { className: \"price-feed price-feed-new\" },\r\n React.createElement(Container, null,\r\n React.createElement(\"div\", { className: \"price-feed-new__wrap\" },\r\n React.createElement(\"div\", { className: \"price-feed__wrap--left\" },\r\n React.createElement(\"h2\", null, title),\r\n React.createElement(\"div\", { className: \"price-feed__column\", dangerouslySetInnerHTML: { __html: textContent } })),\r\n React.createElement(PriceFeedNewSocketComponent, { title: title, textContent: textContent, tableInfo: tableInfo, instrumentIcons: instrumentIcons, marketsInfo: marketsInfo, resources: resources, footerText: footerText, session: session, wsUrl: wsUrl, apiUrl: apiUrl, activeMarket: activeMarket, instrumentParagraph: instrumentParagraph, instrumentLinkText: instrumentLinkText, instrumentLinkUrl: instrumentLinkUrl, buttonLinkText: buttonLinkText, buttonLinkUrl: buttonLinkUrl, instrumentItems: instrumentItems, popularInstrumentToRemove: popularInstrumentToRemove, popularInstrumentToAdd: popularInstrumentToAdd, instrumentsData: instrumentsData, culture: culture, hasButtons: hasButtons, buttonOpenInNewTab: buttonOpenInNewTab }))))));\r\n};\r\n","import React from \"react\";\r\nimport { PriceFeedNewSocketComponent } from \"./PriceFeedNewSocketComponent\";\r\nexport const PriceFeedNewWidget = ({ title, textContent, tableInfo, instrumentIcons, marketsInfo, resources, footerText, session, wsUrl, apiUrl, activeMarket, instrumentParagraph, instrumentLinkText, instrumentLinkUrl, buttonLinkText, buttonLinkUrl, instrumentItems, popularInstrumentToRemove, popularInstrumentToAdd, instrumentsData, culture, hasButtons = false, buttonOpenInNewTab = false, }) => (React.createElement(\"div\", { className: \"price-feed price-feed-new\" },\r\n React.createElement(\"div\", { className: \"price-feed-new__wrap\" },\r\n React.createElement(\"div\", { className: \"price-feed__wrap--left\" },\r\n React.createElement(\"h2\", null, title),\r\n React.createElement(\"div\", { className: \"price-feed__column\", dangerouslySetInnerHTML: { __html: textContent } })),\r\n React.createElement(PriceFeedNewSocketComponent, { title: title, textContent: textContent, tableInfo: tableInfo, instrumentIcons: instrumentIcons, marketsInfo: marketsInfo, resources: resources, footerText: footerText, session: session, wsUrl: wsUrl, apiUrl: apiUrl, activeMarket: activeMarket, instrumentParagraph: instrumentParagraph, instrumentLinkText: instrumentLinkText, instrumentLinkUrl: instrumentLinkUrl, buttonLinkText: buttonLinkText, buttonLinkUrl: buttonLinkUrl, instrumentItems: instrumentItems, popularInstrumentToRemove: popularInstrumentToRemove, popularInstrumentToAdd: popularInstrumentToAdd, instrumentsData: instrumentsData, culture: culture, hasButtons: hasButtons, buttonOpenInNewTab: buttonOpenInNewTab }))));\r\n","import * as React from \"react\";\r\nexport const Gap = (props) => {\r\n const divMobileStyle = {\r\n minHeight: props.mobileGap,\r\n maxHeight: props.mobileGap,\r\n };\r\n const divDesktopStyle = {\r\n minHeight: props.desktopGap,\r\n maxHeight: props.desktopGap,\r\n };\r\n return (React.createElement(React.Fragment, null,\r\n React.createElement(\"div\", { className: \"mobile-div\", style: {\r\n ...divMobileStyle,\r\n backgroundColor: `${props.gapColor === \"\" ? \"#f2f4f6\" : props.gapColor}`,\r\n } }),\r\n React.createElement(\"div\", { className: \"desktop-div\", style: {\r\n ...divDesktopStyle,\r\n backgroundColor: `${props.gapColor === \"\" ? \"#f2f4f6\" : props.gapColor}`,\r\n } })));\r\n};\r\n","import React from \"react\";\r\nimport DarkStarSet from \"../../svgIcons/darkStarSet\";\r\nexport const TrustpilotCard = (props) => {\r\n const theMonth = new Date(props.dateValue || \"01\").toLocaleString(props.monthTranslations, { month: \"short\" });\r\n const theDay = new Date(props.dateValue || \"01\").getDate();\r\n const theYear = new Date(props.dateValue || \"2023\").getFullYear();\r\n const fulldate = `${theDay} ${theMonth} ${theYear}`;\r\n return (React.createElement(\"div\", { className: \"trustpilot-card\" },\r\n React.createElement(\"h5\", { className: \"trustpilot-card__title\" }, props.title),\r\n React.createElement(\"div\", { className: \"trustpilot-card__rating\" },\r\n DarkStarSet(),\r\n \" \",\r\n fulldate && React.createElement(\"sub\", { className: \"trustpilot-card__date\" }, fulldate)),\r\n React.createElement(\"div\", { className: \"trustpilot-card__review\", dangerouslySetInnerHTML: {\r\n __html: props.content,\r\n } }),\r\n React.createElement(\"div\", null,\r\n React.createElement(\"sub\", { className: \"trustpilot-card__author\" },\r\n props.author,\r\n \" \\u2022 \",\r\n props.country))));\r\n};\r\n","import React from \"react\";\r\nimport { Img } from \"../../Img\";\r\nexport const TrustPilotEvaluation = ({ excellentLabel, rating, starsImage, trustpilotImage }) => (React.createElement(\"div\", { className: \"trustPilotEvaluation\" },\r\n React.createElement(\"h5\", { className: \"trustPilotEvaluation__excellentLabel\" }, excellentLabel),\r\n React.createElement(Img, { className: \"trustPilotEvaluation__starsImage\", src: starsImage, alt: \"starsImage\" }),\r\n React.createElement(\"p\", { className: \"trustPilotEvaluation__rating\" }, rating),\r\n React.createElement(Img, { className: \"trustPilotEvaluation__trustpilotImage\", src: trustpilotImage, alt: \"trustpilotImage\" })));\r\n","import React from \"react\";\r\nimport { Swiper, SwiperSlide } from \"swiper/react\";\r\nimport { Container, ContainerFW } from \"../global\";\r\nimport { TrustpilotCard } from \"./TrustpilotCard\";\r\nimport { viewSizes } from \"../../pageViewStyle\";\r\nimport { ImgV2 } from \"../ImgV2\";\r\nimport { TrustPilotEvaluation } from \"./TrustPilotEvalutation/TrustPilotEvaluation\";\r\nexport const TrustpilotSlider = (props) => (React.createElement(\"div\", { className: \"trustpilot-slider-wrapper\" },\r\n React.createElement(ContainerFW, { backgroundColor: \"#fff\" },\r\n React.createElement(\"div\", { className: \"trustpilot-slider\" },\r\n React.createElement(Container, { className: \"g-container--tablet-margins\" },\r\n React.createElement(\"p\", { className: \"sliderTitle h4-semi-bold color-dark-default\" }, props.title),\r\n React.createElement(Swiper, { slidesPerView: \"auto\", breakpoints: {\r\n 375: {\r\n slidesPerView: 1.3,\r\n spaceBetween: 30\r\n },\r\n [viewSizes.smallMaxWidth]: {\r\n slidesPerView: 3\r\n }\r\n } }, props.cards.map((card, i) => React.createElement(SwiperSlide, { key: `trustpilot-slide-${i}` }, React.createElement(TrustpilotCard, { ...card }))))))),\r\n props.excellentLabel && React.createElement(TrustPilotEvaluation, { excellentLabel: props.excellentLabel, rating: props.rating, starsImage: props.starsImage, trustpilotImage: props.trustpilotImage }),\r\n props.bottomText && React.createElement(\"div\", { className: \"reviews-global-traders-box\" },\r\n React.createElement(ImgV2, { src: props.bottomTextIcon, alt: props.bottomText, className: \"account-types-v2__titleIcon\" }),\r\n props.bottomText)));\r\n","import * as React from \"react\";\r\nimport { Container, ContainerFW } from \"../global\";\r\nimport { Heading } from \"../Heading\";\r\nexport const FreeText = (props) => {\r\n const cssClass = `free-text${props.isWarningText ? \" free-text--warning\" : \"\"}${props.className ? ` ${props.className}` : \"\"}`;\r\n return (React.createElement(\"div\", { className: cssClass, style: { backgroundColor: props.backgroundColor ? props.backgroundColor : \"#fff\" } },\r\n React.createElement(ContainerFW, null,\r\n React.createElement(Container, { className: props.mainWidth === \"1400px\" ? \"g-container--new\" : \"\" },\r\n props.heading && React.createElement(Heading, { design: \"h2-regular\", style: { \"--title-alignment\": props.titleAlignment } }, props.heading),\r\n React.createElement(\"div\", { className: \"free-text__content\", dangerouslySetInnerHTML: { __html: props.content } })))));\r\n};\r\n","import React from \"react\";\r\nexport const ExternalLink = () => (React.createElement(\"svg\", { width: \"24\", height: \"24\", viewBox: \"0 0 24 24\", fill: \"none\", xmlns: \"http://www.w3.org/2000/svg\" },\r\n React.createElement(\"path\", { d: \"M20 3C20.5523 3 21 3.44772 21 4V10C21 10.5523 20.5523 11 20 11C19.4477 11 19 10.5523 19 10L18.9999 6.413L11.9142 13.4999C11.5237 13.8905 10.8905 13.8905 10.4999 13.5C10.1094 13.1095 10.1094 12.4763 10.4999 12.0858L17.5849 5H14C13.4477 5 13 4.55228 13 4C13 3.44772 13.4477 3 14 3H20Z\", fill: \"#0E1D31\" }),\r\n React.createElement(\"path\", { d: \"M9 6C9.55228 6 10 6.44772 10 7C10 7.55228 9.55228 8 9 8H5V19H16V15C16 14.4477 16.4477 14 17 14C17.5523 14 18 14.4477 18 15V20C18 20.5523 17.5523 21 17 21H4C3.44772 21 3 20.5523 3 20V7C3 6.44772 3.44772 6 4 6H9Z\", fill: \"#0E1D31\" })));\r\n","import React, { useCallback, useState } from \"react\";\r\nimport { Img } from \"../../Img\";\r\nexport const ImageToggle = ({ toggleImages: { mainImageUrl, mainImageAlt, toggledImageUrl, toggledImageAlt, }, imgContainerCssClass }) => {\r\n const [isImageToggled, setIsImageToggled] = useState(undefined);\r\n const handleShowMainImage = useCallback(() => {\r\n setIsImageToggled(false);\r\n }, []);\r\n const handleShowToggledImage = useCallback(() => {\r\n setIsImageToggled(true);\r\n }, []);\r\n return (React.createElement(\"div\", { className: `image-toggle image-toggle__main-image ${isImageToggled ? \"image-toggle--toggled\" : \"\"} ${isImageToggled !== undefined ? \"image-toggle--activate-animations\" : \"\"}` },\r\n React.createElement(\"div\", { className: `image-toggle__image-container ${imgContainerCssClass}` },\r\n React.createElement(\"div\", { className: \"image-toggle__main-image\" },\r\n React.createElement(Img, { src: mainImageUrl, alt: mainImageAlt })),\r\n React.createElement(\"div\", { className: \"image-toggle__toggled-image\" },\r\n React.createElement(Img, { src: toggledImageUrl, alt: toggledImageAlt }))),\r\n React.createElement(\"div\", { className: `image-toggle__control ${isImageToggled ? \" image-toggle__control--toggled\" : \"\"}` },\r\n React.createElement(\"div\", { className: \"image-toggle__control-option image-toggle__control-option--main\", onClick: handleShowMainImage }),\r\n React.createElement(\"div\", { className: \"image-toggle__control-option image-toggle__control-option--toggled\", onClick: handleShowToggledImage }))));\r\n};\r\n","import React from \"react\";\r\nimport { Container, ContainerFW } from \"../global\";\r\nimport { Img } from \"../Img\";\r\nimport { ExternalLink } from \"../svgIcons/externalLink\";\r\nimport { Heading } from \"../Heading\";\r\nimport { ImageToggle } from \"./ImageToggle\";\r\nexport const AccessThinkPortalTodayImgToggle = (props) => (React.createElement(\"div\", { className: \"access-think-portal-today access-think-portal-today-img-toggle\" },\r\n React.createElement(ContainerFW, null,\r\n React.createElement(Container, null,\r\n React.createElement(\"div\", { className: \"access-think-portal-today-img-toggle__inner\" },\r\n React.createElement(\"div\", { className: \"access-think-portal-today-img-toggle__options-container\" },\r\n React.createElement(Heading, { design: \"h2-regular\" }, props.title),\r\n React.createElement(\"p\", null, props.description),\r\n React.createElement(\"div\", { className: \"access-think-portal-today-img-toggle__options\" },\r\n React.createElement(\"div\", { className: \"access-think-portal-today-img-toggle__option access-think-portal-today-img-toggle__option-mobile-app access-think-portal-today-img-toggle--desktop-view\" },\r\n React.createElement(\"div\", { className: \"access-think-portal-today-img-toggle__option-info\" },\r\n React.createElement(Heading, { design: \"h4-semi-bold\" },\r\n React.createElement(Img, { src: props.mobileSVGIcon, alt: props.mobileSVGIconAlt }),\r\n props.buttonMobileTitle),\r\n React.createElement(\"p\", null, props.buttonMobileText)),\r\n React.createElement(\"div\", { className: \"access-think-portal-today-img-toggle__option-links\" },\r\n React.createElement(Img, { src: props.mobileQRCode, alt: props.mobileQRCodeAlt, className: \"access-think-portal-today-img-toggle__qr-code\" }))),\r\n React.createElement(\"div\", { className: \"access-think-portal-today-img-toggle__option access-think-portal-today-img-toggle__option-mobile-app access-think-portal-today-img-toggle--mobile-view\" },\r\n React.createElement(\"div\", { className: \"access-think-portal-today-img-toggle__option-info\" },\r\n React.createElement(Heading, { design: \"h4-semi-bold\" },\r\n React.createElement(Img, { src: props.mobileSVGIcon, alt: props.mobileSVGIconAlt }),\r\n props.buttonMobileTitle)),\r\n React.createElement(\"div\", { className: \"access-think-portal-today-img-toggle__option-links\" },\r\n React.createElement(\"a\", { target: \"_blank\", rel: \"noopener noreferrer\", href: props.googlePlayUrl },\r\n React.createElement(Img, { src: props.googlePlayImageUrl, alt: props.googlePlayImageAlt })),\r\n React.createElement(\"a\", { target: \"_blank\", rel: \"noopener noreferrer\", href: props.appStoreUrl },\r\n React.createElement(Img, { src: props.appStoreImageUrl, alt: props.appStoreImageAlt })))),\r\n React.createElement(\"div\", { className: \"access-think-portal-today-img-toggle__option access-think-portal-today-img-toggle__option-web access-think-portal-today-img-toggle--desktop-view\" },\r\n React.createElement(\"div\", { className: \"access-think-portal-today-img-toggle__option-info\" },\r\n React.createElement(\"a\", { target: \"_blank\", rel: \"noopener noreferrer\", href: props.buttonWebLink },\r\n React.createElement(Heading, { design: \"h4-semi-bold\" },\r\n React.createElement(Img, { src: props.browserSVGIcon, alt: props.browserSVGIconAlt }),\r\n props.buttonWebText))),\r\n React.createElement(\"a\", { target: \"_blank\", rel: \"noopener noreferrer\", href: props.buttonWebLink }, ExternalLink())),\r\n React.createElement(\"div\", { className: \"access-think-portal-today-img-toggle__option access-think-portal-today-img-toggle__option-web access-think-portal-today-img-toggle--mobile-view\" },\r\n React.createElement(\"div\", { className: \"access-think-portal-today-img-toggle__option-info\" },\r\n React.createElement(Heading, { design: \"h4-semi-bold\" },\r\n React.createElement(Img, { src: props.browserSVGIcon, alt: props.browserSVGIconAlt }),\r\n props.buttonWebText)),\r\n React.createElement(\"div\", { className: \"access-think-portal-today-img-toggle__option-links\" },\r\n props.buttonWebMobileDescription,\r\n \" \",\r\n ExternalLink())),\r\n props.buttonDesktopText && React.createElement(\"div\", { className: \"access-think-portal-today-img-toggle__option access-think-portal-today-img-toggle__option-desktop-app\" },\r\n React.createElement(\"div\", { className: \"access-think-portal-today-img-toggle__option-info\" },\r\n React.createElement(Heading, { design: \"h4-semi-bold\" },\r\n React.createElement(Img, { src: props.desktopSVGIcon, alt: props.desktopSVGIconAlt }),\r\n props.buttonDesktopText)),\r\n React.createElement(\"div\", { className: \"access-think-portal-today-img-toggle__option-links\" },\r\n React.createElement(\"a\", { rel: \"noopener\", href: props.buttonDesktopWindowsLink }, props.buttonDesktopWindowsText),\r\n React.createElement(\"a\", { rel: \"noopener\", href: props.buttonDesktopMacLink }, props.buttonDesktopMacText))))),\r\n React.createElement(\"div\", { className: \"access-think-portal-today-img-toggle__img-block\" },\r\n React.createElement(ImageToggle, { toggleImages: {\r\n mainImageUrl: props.mainImageUrl,\r\n mainImageAlt: props.mainImageAlt,\r\n toggledImageUrl: props.toggledImageUrl,\r\n toggledImageAlt: props.toggledImageAlt\r\n }, imgContainerCssClass: \"access-think-portal-today-img-toggle__img-container\" })))))));\r\n","import React from \"react\";\r\nimport { Container, ContainerFW } from \"../../global\";\r\nimport { ButtonV2 } from \"../../ButtonV2\";\r\nimport { ImgV2 } from \"../../ImgV2/ImgV2\";\r\nimport { getColors } from \"../../../utils\";\r\nimport { Heading } from \"../../Heading\";\r\nexport const TradeWithThinkTrader = ({ imageUrlDesktop, imageUrlMobile, informationItems, imageAlt, title, subTitle, buttonLabel, buttonHref, designStyles, cardBackgroundColor, componentMode }) => {\r\n const { bgColor } = getColors(designStyles?.backgroundColor);\r\n const textColorClassName = componentMode === \"dark\" ? \"dark-mode-text-color\" : \"light-mode-text-color\";\r\n return (React.createElement(ContainerFW, { backgroundColor: bgColor },\r\n React.createElement(Container, { className: \"g-container--tablet-margins-landing-pages\" },\r\n React.createElement(\"div\", { style: { backgroundColor: cardBackgroundColor ? cardBackgroundColor : \"#EFFCEE\" }, className: `trade-with-think-trader ${textColorClassName}` },\r\n React.createElement(\"div\", { className: \"trade-with-think-trader__main-container\" },\r\n React.createElement(\"div\", { className: \"trade-with-think-trader__text-content-container\" },\r\n React.createElement(\"div\", null,\r\n React.createElement(Heading, { design: designStyles?.titleDesign }, title),\r\n React.createElement(Heading, { design: \"h5-lp\" }, subTitle)),\r\n React.createElement(\"div\", { className: \"trade-with-think-trader__cards-container\" }, informationItems.map((item, i) => (React.createElement(\"div\", { key: i, className: \"trade-with-think-trader__card\" },\r\n React.createElement(\"img\", { src: item.iconUrl, alt: item.iconAlt }),\r\n React.createElement(\"div\", { className: `main-error-container__help-pages-link ${textColorClassName}`, dangerouslySetInnerHTML: {\r\n __html: item.cardHtml,\r\n } }))))),\r\n React.createElement(\"div\", { className: \"trade-with-think-trader__button-container\" },\r\n React.createElement(ButtonV2, { href: buttonHref, design: designStyles?.buttonDesign }, buttonLabel))),\r\n React.createElement(\"div\", { className: \"trade-with-think-trader__img-container centered-container\" },\r\n React.createElement(ImgV2, { smallUrl: imageUrlMobile, largeUrl: imageUrlDesktop, alt: imageAlt })))))));\r\n};\r\n","import React from \"react\";\r\nexport const webIcon = (React.createElement(\"svg\", { xmlns: \"http://www.w3.org/2000/svg\", width: \"16\", height: \"16\", viewBox: \"0 0 16 16\", fill: \"none\" },\r\n React.createElement(\"path\", { d: \"M1.33325 12.6667V3.33333C1.33325 2.59695 1.93021 2 2.66659 2H13.3333C14.0697 2 14.6666 2.59695 14.6666 3.33333V12.6667C14.6666 13.4031 14.0697 14 13.3333 14H2.66659C1.93021 14 1.33325 13.4031 1.33325 12.6667Z\", stroke: \"#1A2737\", strokeWidth: \"1.5\", strokeLinecap: \"round\", strokeLinejoin: \"round\" }),\r\n React.createElement(\"path\", { d: \"M1.33398 6H14.6673\", stroke: \"#1A2737\", strokeWidth: \"1.5\", strokeLinecap: \"round\", strokeLinejoin: \"round\" }),\r\n React.createElement(\"path\", { d: \"M3.33398 4.00741L3.34065 4\", stroke: \"#1A2737\", strokeWidth: \"1.5\", strokeLinecap: \"round\", strokeLinejoin: \"round\" }),\r\n React.createElement(\"path\", { d: \"M5.33398 4.00741L5.34065 4\", stroke: \"#1A2737\", strokeWidth: \"1.5\", strokeLinecap: \"round\", strokeLinejoin: \"round\" }),\r\n React.createElement(\"path\", { d: \"M7.33398 4.00741L7.34065 4\", stroke: \"#1A2737\", strokeWidth: \"1.5\", strokeLinecap: \"round\", strokeLinejoin: \"round\" })));\r\n","import React from \"react\";\r\nexport const mobileIcon = (React.createElement(\"svg\", { xmlns: \"http://www.w3.org/2000/svg\", width: \"16\", height: \"16\", viewBox: \"0 0 16 16\", fill: \"none\" },\r\n React.createElement(\"path\", { d: \"M8 11.6724L8.00583 11.666\", stroke: \"#1A2737\", strokeWidth: \"1.5\", strokeLinecap: \"round\", strokeLinejoin: \"round\" }),\r\n React.createElement(\"path\", { d: \"M4 13.55V2.45C4 2.20147 4.2149 2 4.48 2H11.52C11.7851 2 12 2.20147 12 2.45V13.55C12 13.7985 11.7851 14 11.52 14H4.48C4.2149 14 4 13.7985 4 13.55Z\", stroke: \"#1A2737\", strokeWidth: \"1.5\", strokeLinecap: \"round\", strokeLinejoin: \"round\" })));\r\n","import React, { useCallback } from \"react\";\r\nimport { ContainerFW, Container } from \"../global\";\r\nimport { getColors } from \"../../utils\";\r\nimport { Heading } from \"../Heading\";\r\nimport { webIcon } from \"../svgIcons/webIcon\";\r\nimport { mobileIcon } from \"../svgIcons/mobileIcon\";\r\nexport const CardsGridWithFullWidthCenteredImagesAndTags = ({ title, cards, designStyles, columns }) => {\r\n const { bgColor, textColor } = getColors(designStyles?.backgroundColor);\r\n const renderCard = useCallback((card, i) => (React.createElement(\"div\", { key: i, className: `${columns === \"4\" ? \"cards-grid-with-full-width-centered-images-and-tags__card col-4-card\" : \"cards-grid-with-full-width-centered-images-and-tags__card col-3-card\"}` },\r\n React.createElement(\"div\", { className: \"cards-grid-with-full-width-centered-images-and-tags__top-end mb-20\" },\r\n React.createElement(\"div\", { className: \"cards-grid-with-full-width-centered-images-and-tags__image-container\", style: { backgroundColor: card.cardBackgroundColor } },\r\n card.tags && React.createElement(\"div\", { className: \"cards-grid-with-full-width-centered-images-and-tags__tags-strip\" },\r\n React.createElement(\"span\", { className: \"cards-grid-with-full-width-centered-images-and-tags__text-befor-tags\" }, card.textBeforeTags),\r\n card.tags.split(\"|\")?.map((tag, i) => (React.createElement(\"div\", { key: i, className: \"cards-grid-with-full-width-centered-images-and-tags__tag centered-container\" },\r\n tag === \"Web\" ? webIcon : mobileIcon,\r\n tag)))),\r\n React.createElement(\"div\", { className: \"cards-grid-with-full-width-centered-images-and-tags__image-container__imageWrapper\" },\r\n React.createElement(\"img\", { className: \"cards-grid-with-full-width-centered-images-and-tags__image-container__imageWrapper__image\", src: card.imageUrl, alt: card.imageAlt })))),\r\n React.createElement(\"div\", { className: \"cards-grid-with-full-width-centered-images-and-tags__bottom-end\" },\r\n React.createElement(\"div\", { className: \"cards-grid-with-full-width-centered-images-and-tags__generic-title-description\" },\r\n React.createElement(\"h5\", { className: \"h5-lp mb-12\" }, card.title),\r\n React.createElement(\"p\", { className: \"copy-lp\" }, card.description))))), [columns]);\r\n return (React.createElement(ContainerFW, { backgroundColor: bgColor },\r\n React.createElement(Container, { className: \"g-container--tablet-margins-landing-pages\" },\r\n React.createElement(\"div\", { style: { color: textColor }, className: \"cards-grid-with-full-width-centered-images-and-tags\" },\r\n React.createElement(\"div\", { className: \"cards-grid-with-full-width-centered-images-and-tags__title-container mb-40\" },\r\n React.createElement(Heading, { design: designStyles?.titleDesign }, title)),\r\n React.createElement(\"div\", { className: `${columns === \"4\" ? \"cards-grid-with-full-width-centered-images-and-tags__cards-container col-4\" : \"cards-grid-with-full-width-centered-images-and-tags__cards-container col-3\"}` }, cards.map((card, i) => (renderCard(card, i))))))));\r\n};\r\n","import React, { useState, useRef, useCallback, useEffect, useLayoutEffect } from 'react';\n\n// ../web/dist/index.js\nvar N3 = Object.defineProperty;\nvar V3 = (f, n, r) => n in f ? N3(f, n, { enumerable: true, configurable: true, writable: true, value: r }) : f[n] = r;\nvar m = (f, n, r) => V3(f, typeof n != \"symbol\" ? n + \"\" : n, r);\nvar e2 = class {\n requestAnimationFrame(n) {\n return requestAnimationFrame(n);\n }\n cancelAnimationFrame(n) {\n cancelAnimationFrame(n);\n }\n};\nvar t2 = class {\n constructor() {\n m(this, \"_lastHandleId\", 0);\n m(this, \"_lastImmediate\", null);\n }\n requestAnimationFrame(n) {\n return this._lastHandleId >= Number.MAX_SAFE_INTEGER && (this._lastHandleId = 0), this._lastHandleId += 1, this._lastImmediate = setImmediate(() => {\n n(Date.now());\n }), this._lastHandleId;\n }\n cancelAnimationFrame(n) {\n this._lastImmediate && clearImmediate(this._lastImmediate);\n }\n};\nvar x1 = class {\n constructor() {\n m(this, \"_strategy\");\n this._strategy = typeof requestAnimationFrame == \"function\" ? new e2() : new t2();\n }\n requestAnimationFrame(n) {\n return this._strategy.requestAnimationFrame(n);\n }\n cancelAnimationFrame(n) {\n this._strategy.cancelAnimationFrame(n);\n }\n};\nvar I = typeof window < \"u\" && typeof window.document < \"u\";\nvar T1 = new Uint8Array([80, 75, 3, 4]);\nvar Y2 = [\"v\", \"ip\", \"op\", \"layers\", \"fr\", \"w\", \"h\"];\nvar n2 = \"0.33.0\";\nvar r2 = \"@lottiefiles/dotlottie-web\";\nvar J2 = 0.75;\nvar Y3 = (() => {\n var f = typeof document < \"u\" ? document.currentScript?.src : void 0;\n return function(n = {}) {\n var r = n, c, y, R = new Promise((e, t) => {\n c = e, y = t;\n }), H = Object.assign({}, r), $ = \"./this.program\", z = \"\";\n typeof document < \"u\" && document.currentScript && (z = document.currentScript.src), f && (z = f), z.startsWith(\"blob:\") ? z = \"\" : z = z.substr(0, z.replace(/[?#].*/, \"\").lastIndexOf(\"/\") + 1);\n var t1 = r.print || console.log.bind(console), n1 = r.printErr || console.error.bind(console);\n Object.assign(r, H), H = null, r.thisProgram && ($ = r.thisProgram);\n var s1;\n r.wasmBinary && (s1 = r.wasmBinary);\n var y1, c2 = false, q, E, r1, d1, x, L, h2, p2;\n function v2() {\n var e = y1.buffer;\n r.HEAP8 = q = new Int8Array(e), r.HEAP16 = r1 = new Int16Array(e), r.HEAPU8 = E = new Uint8Array(e), r.HEAPU16 = d1 = new Uint16Array(e), r.HEAP32 = x = new Int32Array(e), r.HEAPU32 = L = new Uint32Array(e), r.HEAPF32 = h2 = new Float32Array(e), r.HEAPF64 = p2 = new Float64Array(e);\n }\n var f2 = [], m2 = [], _2 = [];\n function n3() {\n var e = r.preRun.shift();\n f2.unshift(e);\n }\n var K = 0, u1 = null;\n function w1(e) {\n throw r.onAbort?.(e), e = \"Aborted(\" + e + \")\", n1(e), c2 = true, e = new WebAssembly.RuntimeError(e + \". Build with -sASSERTIONS for more info.\"), y(e), e;\n }\n var g2 = (e) => e.startsWith(\"data:application/octet-stream;base64,\"), i1;\n if (i1 = \"DotLottiePlayer.wasm\", !g2(i1)) {\n var y2 = i1;\n i1 = r.locateFile ? r.locateFile(y2, z) : z + y2;\n }\n function w2(e) {\n if (e == i1 && s1)\n return new Uint8Array(s1);\n throw \"both async and sync fetching of the wasm failed\";\n }\n function r3(e) {\n return s1 || typeof fetch != \"function\" ? Promise.resolve().then(() => w2(e)) : fetch(e, { credentials: \"same-origin\" }).then((t) => {\n if (!t.ok)\n throw `failed to load wasm binary file at '${e}'`;\n return t.arrayBuffer();\n }).catch(() => w2(e));\n }\n function b2(e, t, i) {\n return r3(e).then((a) => WebAssembly.instantiate(a, t)).then(i, (a) => {\n n1(`failed to asynchronously prepare wasm: ${a}`), w1(a);\n });\n }\n function i3(e, t) {\n var i = i1;\n return s1 || typeof WebAssembly.instantiateStreaming != \"function\" || g2(i) || typeof fetch != \"function\" ? b2(i, e, t) : fetch(i, { credentials: \"same-origin\" }).then((a) => WebAssembly.instantiateStreaming(a, e).then(t, function(o) {\n return n1(`wasm streaming compile failed: ${o}`), n1(\"falling back to ArrayBuffer instantiation\"), b2(i, e, t);\n }));\n }\n var R1 = (e) => {\n for (; 0 < e.length; )\n e.shift()(r);\n }, M2 = typeof TextDecoder < \"u\" ? new TextDecoder(\"utf8\") : void 0, X = (e, t, i) => {\n var a = t + i;\n for (i = t; e[i] && !(i >= a); )\n ++i;\n if (16 < i - t && e.buffer && M2)\n return M2.decode(e.subarray(t, i));\n for (a = \"\"; t < i; ) {\n var o = e[t++];\n if (o & 128) {\n var s = e[t++] & 63;\n if ((o & 224) == 192)\n a += String.fromCharCode((o & 31) << 6 | s);\n else {\n var l = e[t++] & 63;\n o = (o & 240) == 224 ? (o & 15) << 12 | s << 6 | l : (o & 7) << 18 | s << 12 | l << 6 | e[t++] & 63, 65536 > o ? a += String.fromCharCode(o) : (o -= 65536, a += String.fromCharCode(55296 | o >> 10, 56320 | o & 1023));\n }\n } else\n a += String.fromCharCode(o);\n }\n return a;\n };\n class a3 {\n constructor(t) {\n this.ya = t - 24;\n }\n }\n var C22 = 0, L2 = (e) => {\n for (var t = 0, i = 0; i < e.length; ++i) {\n var a = e.charCodeAt(i);\n 127 >= a ? t++ : 2047 >= a ? t += 2 : 55296 <= a && 57343 >= a ? (t += 4, ++i) : t += 3;\n }\n return t;\n }, E2 = (e, t, i, a) => {\n if (0 < a) {\n a = i + a - 1;\n for (var o = 0; o < e.length; ++o) {\n var s = e.charCodeAt(o);\n if (55296 <= s && 57343 >= s) {\n var l = e.charCodeAt(++o);\n s = 65536 + ((s & 1023) << 10) | l & 1023;\n }\n if (127 >= s) {\n if (i >= a)\n break;\n t[i++] = s;\n } else {\n if (2047 >= s) {\n if (i + 1 >= a)\n break;\n t[i++] = 192 | s >> 6;\n } else {\n if (65535 >= s) {\n if (i + 2 >= a)\n break;\n t[i++] = 224 | s >> 12;\n } else {\n if (i + 3 >= a)\n break;\n t[i++] = 240 | s >> 18, t[i++] = 128 | s >> 12 & 63;\n }\n t[i++] = 128 | s >> 6 & 63;\n }\n t[i++] = 128 | s & 63;\n }\n }\n t[i] = 0;\n }\n }, b1 = {}, O1 = (e) => {\n for (; e.length; ) {\n var t = e.pop();\n e.pop()(t);\n }\n };\n function l1(e) {\n return this.fromWireType(L[e >> 2]);\n }\n var a1 = {}, Z = {}, M1 = {}, c1, J = (e, t, i) => {\n function a(u) {\n if (u = i(u), u.length !== e.length)\n throw new c1(\"Mismatched type converter count\");\n for (var p = 0; p < e.length; ++p)\n W(e[p], u[p]);\n }\n e.forEach(function(u) {\n M1[u] = t;\n });\n var o = Array(t.length), s = [], l = 0;\n t.forEach((u, p) => {\n Z.hasOwnProperty(u) ? o[p] = Z[u] : (s.push(u), a1.hasOwnProperty(u) || (a1[u] = []), a1[u].push(() => {\n o[p] = Z[u], ++l, l === s.length && a(o);\n }));\n }), s.length === 0 && a(o);\n }, P2, F = (e) => {\n for (var t = \"\"; E[e]; )\n t += P2[E[e++]];\n return t;\n }, w;\n function s3(e, t, i = {}) {\n var a = t.name;\n if (!e)\n throw new w(`type \"${a}\" must have a positive integer typeid pointer`);\n if (Z.hasOwnProperty(e)) {\n if (i.ib)\n return;\n throw new w(`Cannot register type '${a}' twice`);\n }\n Z[e] = t, delete M1[e], a1.hasOwnProperty(e) && (t = a1[e], delete a1[e], t.forEach((o) => o()));\n }\n function W(e, t, i = {}) {\n if (!(\"argPackAdvance\" in t))\n throw new TypeError(\"registerType registeredInstance requires argPackAdvance\");\n return s3(e, t, i);\n }\n var $1 = (e) => {\n throw new w(e.ma.za.xa.name + \" instance already deleted\");\n }, z1 = false, S2 = () => {\n }, I2 = (e, t, i) => t === i ? e : i.Ca === void 0 ? null : (e = I2(e, t, i.Ca), e === null ? null : i.ab(e)), F2 = {}, h1 = [], W1 = () => {\n for (; h1.length; ) {\n var e = h1.pop();\n e.ma.Ka = false, e.delete();\n }\n }, p1, v1 = {}, d3 = (e, t) => {\n if (t === void 0)\n throw new w(\"ptr should not be undefined\");\n for (; e.Ca; )\n t = e.Na(t), e = e.Ca;\n return v1[t];\n }, C1 = (e, t) => {\n if (!t.za || !t.ya)\n throw new c1(\"makeClassHandle requires ptr and ptrType\");\n if (!!t.Da != !!t.Aa)\n throw new c1(\"Both smartPtrType and smartPtr must be specified\");\n return t.count = { value: 1 }, f1(Object.create(e, { ma: { value: t, writable: true } }));\n }, f1 = (e) => typeof FinalizationRegistry > \"u\" ? (f1 = (t) => t, e) : (z1 = new FinalizationRegistry((t) => {\n t = t.ma, --t.count.value, t.count.value === 0 && (t.Aa ? t.Da.Fa(t.Aa) : t.za.xa.Fa(t.ya));\n }), f1 = (t) => {\n var i = t.ma;\n return i.Aa && z1.register(t, { ma: i }, t), t;\n }, S2 = (t) => {\n z1.unregister(t);\n }, f1(e));\n function L1() {\n }\n var m1 = (e, t) => Object.defineProperty(t, \"name\", { value: e }), x2 = (e, t, i) => {\n if (e[t].Ba === void 0) {\n var a = e[t];\n e[t] = function(...o) {\n if (!e[t].Ba.hasOwnProperty(o.length))\n throw new w(`Function '${i}' called with an invalid number of arguments (${o.length}) - expects one of (${e[t].Ba})!`);\n return e[t].Ba[o.length].apply(this, o);\n }, e[t].Ba = [], e[t].Ba[a.Oa] = a;\n }\n }, U1 = (e, t, i) => {\n if (r.hasOwnProperty(e)) {\n if (i === void 0 || r[e].Ba !== void 0 && r[e].Ba[i] !== void 0)\n throw new w(`Cannot register public name '${e}' twice`);\n if (x2(r, e, e), r.hasOwnProperty(i))\n throw new w(`Cannot register multiple overloads of a function with the same number of arguments (${i})!`);\n r[e].Ba[i] = t;\n } else\n r[e] = t, i !== void 0 && (r[e].vb = i);\n }, u3 = (e) => {\n if (e === void 0)\n return \"_unknown\";\n e = e.replace(/[^a-zA-Z0-9_]/g, \"$\");\n var t = e.charCodeAt(0);\n return 48 <= t && 57 >= t ? `_${e}` : e;\n };\n function l3(e, t, i, a, o, s, l, u) {\n this.name = e, this.constructor = t, this.La = i, this.Fa = a, this.Ca = o, this.cb = s, this.Na = l, this.ab = u, this.kb = [];\n }\n var B1 = (e, t, i) => {\n for (; t !== i; ) {\n if (!t.Na)\n throw new w(`Expected null or instance of ${i.name}, got an instance of ${t.name}`);\n e = t.Na(e), t = t.Ca;\n }\n return e;\n };\n function c3(e, t) {\n if (t === null) {\n if (this.Ta)\n throw new w(`null is not a valid ${this.name}`);\n return 0;\n }\n if (!t.ma)\n throw new w(`Cannot pass \"${G1(t)}\" as a ${this.name}`);\n if (!t.ma.ya)\n throw new w(`Cannot pass deleted object as a pointer of type ${this.name}`);\n return B1(t.ma.ya, t.ma.za.xa, this.xa);\n }\n function h3(e, t) {\n if (t === null) {\n if (this.Ta)\n throw new w(`null is not a valid ${this.name}`);\n if (this.Qa) {\n var i = this.Ua();\n return e !== null && e.push(this.Fa, i), i;\n }\n return 0;\n }\n if (!t || !t.ma)\n throw new w(`Cannot pass \"${G1(t)}\" as a ${this.name}`);\n if (!t.ma.ya)\n throw new w(`Cannot pass deleted object as a pointer of type ${this.name}`);\n if (!this.Pa && t.ma.za.Pa)\n throw new w(`Cannot convert argument of type ${t.ma.Da ? t.ma.Da.name : t.ma.za.name} to parameter type ${this.name}`);\n if (i = B1(t.ma.ya, t.ma.za.xa, this.xa), this.Qa) {\n if (t.ma.Aa === void 0)\n throw new w(\"Passing raw pointer to smart pointer is illegal\");\n switch (this.pb) {\n case 0:\n if (t.ma.Da === this)\n i = t.ma.Aa;\n else\n throw new w(`Cannot convert argument of type ${t.ma.Da ? t.ma.Da.name : t.ma.za.name} to parameter type ${this.name}`);\n break;\n case 1:\n i = t.ma.Aa;\n break;\n case 2:\n if (t.ma.Da === this)\n i = t.ma.Aa;\n else {\n var a = t.clone();\n i = this.lb(i, P1(() => a.delete())), e !== null && e.push(this.Fa, i);\n }\n break;\n default:\n throw new w(\"Unsupporting sharing policy\");\n }\n }\n return i;\n }\n function p3(e, t) {\n if (t === null) {\n if (this.Ta)\n throw new w(`null is not a valid ${this.name}`);\n return 0;\n }\n if (!t.ma)\n throw new w(`Cannot pass \"${G1(t)}\" as a ${this.name}`);\n if (!t.ma.ya)\n throw new w(`Cannot pass deleted object as a pointer of type ${this.name}`);\n if (t.ma.za.Pa)\n throw new w(`Cannot convert argument of type ${t.ma.za.name} to parameter type ${this.name}`);\n return B1(t.ma.ya, t.ma.za.xa, this.xa);\n }\n function _1(e, t, i, a, o, s, l, u, p, h, v) {\n this.name = e, this.xa = t, this.Ta = i, this.Pa = a, this.Qa = o, this.jb = s, this.pb = l, this.Za = u, this.Ua = p, this.lb = h, this.Fa = v, o || t.Ca !== void 0 ? this.toWireType = h3 : (this.toWireType = a ? c3 : p3, this.Ea = null);\n }\n var T2 = (e, t, i) => {\n if (!r.hasOwnProperty(e))\n throw new c1(\"Replacing nonexistent public symbol\");\n r[e].Ba !== void 0 && i !== void 0 ? r[e].Ba[i] = t : (r[e] = t, r[e].Oa = i);\n }, O, v3 = (e, t, i = []) => (e.includes(\"j\") ? (e = e.replace(/p/g, \"i\"), t = (0, r[\"dynCall_\" + e])(t, ...i)) : t = O.get(t)(...i), t), f3 = (e, t) => (...i) => v3(e, t, i), T = (e, t) => {\n e = F(e);\n var i = e.includes(\"j\") ? f3(e, t) : O.get(t);\n if (typeof i != \"function\")\n throw new w(`unknown function pointer with signature ${e}: ${t}`);\n return i;\n }, A2, k2 = (e) => {\n e = j2(e);\n var t = F(e);\n return Y(e), t;\n }, E1 = (e, t) => {\n function i(s) {\n o[s] || Z[s] || (M1[s] ? M1[s].forEach(i) : (a.push(s), o[s] = true));\n }\n var a = [], o = {};\n throw t.forEach(i), new A2(`${e}: ` + a.map(k2).join([\", \"]));\n }, j1 = (e, t) => {\n for (var i = [], a = 0; a < e; a++)\n i.push(L[t + 4 * a >> 2]);\n return i;\n };\n function m3(e) {\n for (var t = 1; t < e.length; ++t)\n if (e[t] !== null && e[t].Ea === void 0)\n return true;\n return false;\n }\n function H1(e, t, i, a, o) {\n var s = t.length;\n if (2 > s)\n throw new w(\"argTypes array size mismatch! Must at least get return value and 'this' types!\");\n var l = t[1] !== null && i !== null, u = m3(t), p = t[0].name !== \"void\", h = s - 2, v = Array(h), b = [], M = [];\n return m1(e, function(...d) {\n if (d.length !== h)\n throw new w(`function ${e} called with ${d.length} arguments, expected ${h}`);\n if (M.length = 0, b.length = l ? 2 : 1, b[0] = o, l) {\n var _ = t[1].toWireType(M, this);\n b[1] = _;\n }\n for (var g = 0; g < h; ++g)\n v[g] = t[g + 2].toWireType(M, d[g]), b.push(v[g]);\n if (d = a(...b), u)\n O1(M);\n else\n for (g = l ? 1 : 2; g < t.length; g++) {\n var S = g === 1 ? _ : v[g - 2];\n t[g].Ea !== null && t[g].Ea(S);\n }\n return _ = p ? t[0].fromWireType(d) : void 0, _;\n });\n }\n var D2 = (e) => {\n e = e.trim();\n let t = e.indexOf(\"(\");\n return t !== -1 ? e.substr(0, t) : e;\n }, N1 = [], V = [], V1 = (e) => {\n 9 < e && --V[e + 1] === 0 && (V[e] = void 0, N1.push(e));\n }, Y1 = (e) => {\n if (!e)\n throw new w(\"Cannot use deleted val. handle = \" + e);\n return V[e];\n }, P1 = (e) => {\n switch (e) {\n case void 0:\n return 2;\n case null:\n return 4;\n case true:\n return 6;\n case false:\n return 8;\n default:\n let t = N1.pop() || V.length;\n return V[t] = e, V[t + 1] = 1, t;\n }\n }, R2 = { name: \"emscripten::val\", fromWireType: (e) => {\n var t = Y1(e);\n return V1(e), t;\n }, toWireType: (e, t) => P1(t), argPackAdvance: 8, readValueFromPointer: l1, Ea: null }, _3 = (e, t, i) => {\n switch (t) {\n case 1:\n return i ? function(a) {\n return this.fromWireType(q[a]);\n } : function(a) {\n return this.fromWireType(E[a]);\n };\n case 2:\n return i ? function(a) {\n return this.fromWireType(r1[a >> 1]);\n } : function(a) {\n return this.fromWireType(d1[a >> 1]);\n };\n case 4:\n return i ? function(a) {\n return this.fromWireType(x[a >> 2]);\n } : function(a) {\n return this.fromWireType(L[a >> 2]);\n };\n default:\n throw new TypeError(`invalid integer width (${t}): ${e}`);\n }\n }, J1 = (e, t) => {\n var i = Z[e];\n if (i === void 0)\n throw e = `${t} has unknown type ${k2(e)}`, new w(e);\n return i;\n }, G1 = (e) => {\n if (e === null)\n return \"null\";\n var t = typeof e;\n return t === \"object\" || t === \"array\" || t === \"function\" ? e.toString() : \"\" + e;\n }, g3 = (e, t) => {\n switch (t) {\n case 4:\n return function(i) {\n return this.fromWireType(h2[i >> 2]);\n };\n case 8:\n return function(i) {\n return this.fromWireType(p2[i >> 3]);\n };\n default:\n throw new TypeError(`invalid float width (${t}): ${e}`);\n }\n }, y3 = (e, t, i) => {\n switch (t) {\n case 1:\n return i ? (a) => q[a] : (a) => E[a];\n case 2:\n return i ? (a) => r1[a >> 1] : (a) => d1[a >> 1];\n case 4:\n return i ? (a) => x[a >> 2] : (a) => L[a >> 2];\n default:\n throw new TypeError(`invalid integer width (${t}): ${e}`);\n }\n }, O2 = typeof TextDecoder < \"u\" ? new TextDecoder(\"utf-16le\") : void 0, w3 = (e, t) => {\n for (var i = e >> 1, a = i + t / 2; !(i >= a) && d1[i]; )\n ++i;\n if (i <<= 1, 32 < i - e && O2)\n return O2.decode(E.subarray(e, i));\n for (i = \"\", a = 0; !(a >= t / 2); ++a) {\n var o = r1[e + 2 * a >> 1];\n if (o == 0)\n break;\n i += String.fromCharCode(o);\n }\n return i;\n }, b3 = (e, t, i) => {\n if (i ?? (i = 2147483647), 2 > i)\n return 0;\n i -= 2;\n var a = t;\n i = i < 2 * e.length ? i / 2 : e.length;\n for (var o = 0; o < i; ++o)\n r1[t >> 1] = e.charCodeAt(o), t += 2;\n return r1[t >> 1] = 0, t - a;\n }, M3 = (e) => 2 * e.length, C3 = (e, t) => {\n for (var i = 0, a = \"\"; !(i >= t / 4); ) {\n var o = x[e + 4 * i >> 2];\n if (o == 0)\n break;\n ++i, 65536 <= o ? (o -= 65536, a += String.fromCharCode(55296 | o >> 10, 56320 | o & 1023)) : a += String.fromCharCode(o);\n }\n return a;\n }, L3 = (e, t, i) => {\n if (i ?? (i = 2147483647), 4 > i)\n return 0;\n var a = t;\n i = a + i - 4;\n for (var o = 0; o < e.length; ++o) {\n var s = e.charCodeAt(o);\n if (55296 <= s && 57343 >= s) {\n var l = e.charCodeAt(++o);\n s = 65536 + ((s & 1023) << 10) | l & 1023;\n }\n if (x[t >> 2] = s, t += 4, t + 4 > i)\n break;\n }\n return x[t >> 2] = 0, t - a;\n }, E3 = (e) => {\n for (var t = 0, i = 0; i < e.length; ++i) {\n var a = e.charCodeAt(i);\n 55296 <= a && 57343 >= a && ++i, t += 4;\n }\n return t;\n }, q1 = [], P3 = (e) => {\n var t = q1.length;\n return q1.push(e), t;\n }, S3 = (e, t) => {\n for (var i = Array(e), a = 0; a < e; ++a)\n i[a] = J1(L[t + 4 * a >> 2], \"parameter \" + a);\n return i;\n }, I3 = Reflect.construct, K1 = {}, $2 = () => {\n if (!X1) {\n var e = { USER: \"web_user\", LOGNAME: \"web_user\", PATH: \"/\", PWD: \"/\", HOME: \"/home/web_user\", LANG: (typeof navigator == \"object\" && navigator.languages && navigator.languages[0] || \"C\").replace(\"-\", \"_\") + \".UTF-8\", _: $ || \"./this.program\" }, t;\n for (t in K1)\n K1[t] === void 0 ? delete e[t] : e[t] = K1[t];\n var i = [];\n for (t in e)\n i.push(`${t}=${e[t]}`);\n X1 = i;\n }\n return X1;\n }, X1, F3 = [null, [], []], x3 = () => {\n if (typeof crypto == \"object\" && typeof crypto.getRandomValues == \"function\")\n return (e) => crypto.getRandomValues(e);\n w1(\"initRandomDevice\");\n }, z2 = (e) => (z2 = x3())(e), S1 = (e) => e % 4 === 0 && (e % 100 !== 0 || e % 400 === 0), W2 = [31, 29, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31], U2 = [31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31];\n function T3(e) {\n var t = Array(L2(e) + 1);\n return E2(e, t, 0, t.length), t;\n }\n var A3 = (e, t, i, a) => {\n function o(d, _, g) {\n for (d = typeof d == \"number\" ? d.toString() : d || \"\"; d.length < _; )\n d = g[0] + d;\n return d;\n }\n function s(d, _) {\n return o(d, _, \"0\");\n }\n function l(d, _) {\n function g(G) {\n return 0 > G ? -1 : 0 < G ? 1 : 0;\n }\n var S;\n return (S = g(d.getFullYear() - _.getFullYear())) === 0 && (S = g(d.getMonth() - _.getMonth())) === 0 && (S = g(d.getDate() - _.getDate())), S;\n }\n function u(d) {\n switch (d.getDay()) {\n case 0:\n return new Date(d.getFullYear() - 1, 11, 29);\n case 1:\n return d;\n case 2:\n return new Date(d.getFullYear(), 0, 3);\n case 3:\n return new Date(d.getFullYear(), 0, 2);\n case 4:\n return new Date(d.getFullYear(), 0, 1);\n case 5:\n return new Date(d.getFullYear() - 1, 11, 31);\n case 6:\n return new Date(d.getFullYear() - 1, 11, 30);\n }\n }\n function p(d) {\n var _ = d.Ia;\n for (d = new Date(new Date(d.Ja + 1900, 0, 1).getTime()); 0 < _; ) {\n var g = d.getMonth(), S = (S1(d.getFullYear()) ? W2 : U2)[g];\n if (_ > S - d.getDate())\n _ -= S - d.getDate() + 1, d.setDate(1), 11 > g ? d.setMonth(g + 1) : (d.setMonth(0), d.setFullYear(d.getFullYear() + 1));\n else {\n d.setDate(d.getDate() + _);\n break;\n }\n }\n return g = new Date(d.getFullYear() + 1, 0, 4), _ = u(new Date(d.getFullYear(), 0, 4)), g = u(g), 0 >= l(_, d) ? 0 >= l(g, d) ? d.getFullYear() + 1 : d.getFullYear() : d.getFullYear() - 1;\n }\n var h = L[a + 40 >> 2];\n a = { sb: x[a >> 2], rb: x[a + 4 >> 2], Ra: x[a + 8 >> 2], Va: x[a + 12 >> 2], Sa: x[a + 16 >> 2], Ja: x[a + 20 >> 2], Ga: x[a + 24 >> 2], Ia: x[a + 28 >> 2], wb: x[a + 32 >> 2], qb: x[a + 36 >> 2], tb: h && h ? X(E, h) : \"\" }, i = i ? X(E, i) : \"\", h = { \"%c\": \"%a %b %d %H:%M:%S %Y\", \"%D\": \"%m/%d/%y\", \"%F\": \"%Y-%m-%d\", \"%h\": \"%b\", \"%r\": \"%I:%M:%S %p\", \"%R\": \"%H:%M\", \"%T\": \"%H:%M:%S\", \"%x\": \"%m/%d/%y\", \"%X\": \"%H:%M:%S\", \"%Ec\": \"%c\", \"%EC\": \"%C\", \"%Ex\": \"%m/%d/%y\", \"%EX\": \"%H:%M:%S\", \"%Ey\": \"%y\", \"%EY\": \"%Y\", \"%Od\": \"%d\", \"%Oe\": \"%e\", \"%OH\": \"%H\", \"%OI\": \"%I\", \"%Om\": \"%m\", \"%OM\": \"%M\", \"%OS\": \"%S\", \"%Ou\": \"%u\", \"%OU\": \"%U\", \"%OV\": \"%V\", \"%Ow\": \"%w\", \"%OW\": \"%W\", \"%Oy\": \"%y\" };\n for (var v in h)\n i = i.replace(new RegExp(v, \"g\"), h[v]);\n var b = \"Sunday Monday Tuesday Wednesday Thursday Friday Saturday\".split(\" \"), M = \"January February March April May June July August September October November December\".split(\" \");\n h = { \"%a\": (d) => b[d.Ga].substring(0, 3), \"%A\": (d) => b[d.Ga], \"%b\": (d) => M[d.Sa].substring(0, 3), \"%B\": (d) => M[d.Sa], \"%C\": (d) => s((d.Ja + 1900) / 100 | 0, 2), \"%d\": (d) => s(d.Va, 2), \"%e\": (d) => o(d.Va, 2, \" \"), \"%g\": (d) => p(d).toString().substring(2), \"%G\": p, \"%H\": (d) => s(d.Ra, 2), \"%I\": (d) => (d = d.Ra, d == 0 ? d = 12 : 12 < d && (d -= 12), s(d, 2)), \"%j\": (d) => {\n for (var _ = 0, g = 0; g <= d.Sa - 1; _ += (S1(d.Ja + 1900) ? W2 : U2)[g++])\n ;\n return s(d.Va + _, 3);\n }, \"%m\": (d) => s(d.Sa + 1, 2), \"%M\": (d) => s(d.rb, 2), \"%n\": () => `\n`, \"%p\": (d) => 0 <= d.Ra && 12 > d.Ra ? \"AM\" : \"PM\", \"%S\": (d) => s(d.sb, 2), \"%t\": () => \"\t\", \"%u\": (d) => d.Ga || 7, \"%U\": (d) => s(Math.floor((d.Ia + 7 - d.Ga) / 7), 2), \"%V\": (d) => {\n var _ = Math.floor((d.Ia + 7 - (d.Ga + 6) % 7) / 7);\n if (2 >= (d.Ga + 371 - d.Ia - 2) % 7 && _++, _)\n _ == 53 && (g = (d.Ga + 371 - d.Ia) % 7, g == 4 || g == 3 && S1(d.Ja) || (_ = 1));\n else {\n _ = 52;\n var g = (d.Ga + 7 - d.Ia - 1) % 7;\n (g == 4 || g == 5 && S1(d.Ja % 400 - 1)) && _++;\n }\n return s(_, 2);\n }, \"%w\": (d) => d.Ga, \"%W\": (d) => s(Math.floor((d.Ia + 7 - (d.Ga + 6) % 7) / 7), 2), \"%y\": (d) => (d.Ja + 1900).toString().substring(2), \"%Y\": (d) => d.Ja + 1900, \"%z\": (d) => {\n d = d.qb;\n var _ = 0 <= d;\n return d = Math.abs(d) / 60, (_ ? \"+\" : \"-\") + (\"0000\" + (d / 60 * 100 + d % 60)).slice(-4);\n }, \"%Z\": (d) => d.tb, \"%%\": () => \"%\" }, i = i.replace(/%%/g, \"\\0\\0\");\n for (v in h)\n i.includes(v) && (i = i.replace(new RegExp(v, \"g\"), h[v](a)));\n return i = i.replace(/\\0\\0/g, \"%\"), v = T3(i), v.length > t ? 0 : (q.set(v, e), v.length - 1);\n };\n c1 = r.InternalError = class extends Error {\n constructor(e) {\n super(e), this.name = \"InternalError\";\n }\n };\n for (var B2 = Array(256), I1 = 0; 256 > I1; ++I1)\n B2[I1] = String.fromCharCode(I1);\n P2 = B2, w = r.BindingError = class extends Error {\n constructor(e) {\n super(e), this.name = \"BindingError\";\n }\n }, Object.assign(L1.prototype, { isAliasOf: function(e) {\n if (!(this instanceof L1 && e instanceof L1))\n return false;\n var t = this.ma.za.xa, i = this.ma.ya;\n e.ma = e.ma;\n var a = e.ma.za.xa;\n for (e = e.ma.ya; t.Ca; )\n i = t.Na(i), t = t.Ca;\n for (; a.Ca; )\n e = a.Na(e), a = a.Ca;\n return t === a && i === e;\n }, clone: function() {\n if (this.ma.ya || $1(this), this.ma.Ma)\n return this.ma.count.value += 1, this;\n var e = f1, t = Object, i = t.create, a = Object.getPrototypeOf(this), o = this.ma;\n return e = e(i.call(t, a, { ma: { value: { count: o.count, Ka: o.Ka, Ma: o.Ma, ya: o.ya, za: o.za, Aa: o.Aa, Da: o.Da } } })), e.ma.count.value += 1, e.ma.Ka = false, e;\n }, delete() {\n if (this.ma.ya || $1(this), this.ma.Ka && !this.ma.Ma)\n throw new w(\"Object already scheduled for deletion\");\n S2(this);\n var e = this.ma;\n --e.count.value, e.count.value === 0 && (e.Aa ? e.Da.Fa(e.Aa) : e.za.xa.Fa(e.ya)), this.ma.Ma || (this.ma.Aa = void 0, this.ma.ya = void 0);\n }, isDeleted: function() {\n return !this.ma.ya;\n }, deleteLater: function() {\n if (this.ma.ya || $1(this), this.ma.Ka && !this.ma.Ma)\n throw new w(\"Object already scheduled for deletion\");\n return h1.push(this), h1.length === 1 && p1 && p1(W1), this.ma.Ka = true, this;\n } }), r.getInheritedInstanceCount = () => Object.keys(v1).length, r.getLiveInheritedInstances = () => {\n var e = [], t;\n for (t in v1)\n v1.hasOwnProperty(t) && e.push(v1[t]);\n return e;\n }, r.flushPendingDeletes = W1, r.setDelayFunction = (e) => {\n p1 = e, h1.length && p1 && p1(W1);\n }, Object.assign(_1.prototype, { eb(e) {\n return this.Za && (e = this.Za(e)), e;\n }, Xa(e) {\n this.Fa?.(e);\n }, argPackAdvance: 8, readValueFromPointer: l1, fromWireType: function(e) {\n function t() {\n return this.Qa ? C1(this.xa.La, { za: this.jb, ya: i, Da: this, Aa: e }) : C1(this.xa.La, { za: this, ya: e });\n }\n var i = this.eb(e);\n if (!i)\n return this.Xa(e), null;\n var a = d3(this.xa, i);\n if (a !== void 0)\n return a.ma.count.value === 0 ? (a.ma.ya = i, a.ma.Aa = e, a.clone()) : (a = a.clone(), this.Xa(e), a);\n if (a = this.xa.cb(i), a = F2[a], !a)\n return t.call(this);\n a = this.Pa ? a.$a : a.pointerType;\n var o = I2(i, this.xa, a.xa);\n return o === null ? t.call(this) : this.Qa ? C1(a.xa.La, { za: a, ya: o, Da: this, Aa: e }) : C1(a.xa.La, { za: a, ya: o });\n } }), A2 = r.UnboundTypeError = ((e, t) => {\n var i = m1(t, function(a) {\n this.name = t, this.message = a, a = Error(a).stack, a !== void 0 && (this.stack = this.toString() + `\n` + a.replace(/^Error(:[^\\n]*)?\\n/, \"\"));\n });\n return i.prototype = Object.create(e.prototype), i.prototype.constructor = i, i.prototype.toString = function() {\n return this.message === void 0 ? this.name : `${this.name}: ${this.message}`;\n }, i;\n })(Error, \"UnboundTypeError\"), V.push(0, 1, void 0, 1, null, 1, true, 1, false, 1), r.count_emval_handles = () => V.length / 2 - 5 - N1.length;\n var k3 = { c: (e, t, i, a) => {\n w1(`Assertion failed: ${e ? X(E, e) : \"\"}, at: ` + [t ? t ? X(E, t) : \"\" : \"unknown filename\", i, a ? a ? X(E, a) : \"\" : \"unknown function\"]);\n }, m: (e, t, i) => {\n var a = new a3(e);\n throw L[a.ya + 16 >> 2] = 0, L[a.ya + 4 >> 2] = t, L[a.ya + 8 >> 2] = i, C22 = e, C22;\n }, B: function() {\n return 0;\n }, P: () => {\n }, M: () => {\n }, R: function() {\n return 0;\n }, N: () => {\n }, A: function() {\n }, O: () => {\n }, v: (e) => {\n var t = b1[e];\n delete b1[e];\n var i = t.Ua, a = t.Fa, o = t.Ya, s = o.map((l) => l.hb).concat(o.map((l) => l.nb));\n J([e], s, (l) => {\n var u = {};\n return o.forEach((p, h) => {\n var v = l[h], b = p.fb, M = p.gb, d = l[h + o.length], _ = p.mb, g = p.ob;\n u[p.bb] = { read: (S) => v.fromWireType(b(M, S)), write: (S, G) => {\n var D = [];\n _(g, S, d.toWireType(D, G)), O1(D);\n } };\n }), [{ name: t.name, fromWireType: (p) => {\n var h = {}, v;\n for (v in u)\n h[v] = u[v].read(p);\n return a(p), h;\n }, toWireType: (p, h) => {\n for (var v in u)\n if (!(v in h))\n throw new TypeError(`Missing field: \"${v}\"`);\n var b = i();\n for (v in u)\n u[v].write(b, h[v]);\n return p !== null && p.push(a, b), b;\n }, argPackAdvance: 8, readValueFromPointer: l1, Ea: a }];\n });\n }, I: () => {\n }, Y: (e, t, i, a) => {\n t = F(t), W(e, { name: t, fromWireType: function(o) {\n return !!o;\n }, toWireType: function(o, s) {\n return s ? i : a;\n }, argPackAdvance: 8, readValueFromPointer: function(o) {\n return this.fromWireType(E[o]);\n }, Ea: null });\n }, r: (e, t, i, a, o, s, l, u, p, h, v, b, M) => {\n v = F(v), s = T(o, s), u && (u = T(l, u)), h && (h = T(p, h)), M = T(b, M);\n var d = u3(v);\n U1(d, function() {\n E1(`Cannot construct ${v} due to unbound types`, [a]);\n }), J([e, t, i], a ? [a] : [], (_) => {\n if (_ = _[0], a)\n var g = _.xa, S = g.La;\n else\n S = L1.prototype;\n _ = m1(v, function(...Q1) {\n if (Object.getPrototypeOf(this) !== G)\n throw new w(\"Use 'new' to construct \" + v);\n if (D.Ha === void 0)\n throw new w(v + \" has no accessible constructor\");\n var V2 = D.Ha[Q1.length];\n if (V2 === void 0)\n throw new w(`Tried to invoke ctor of ${v} with invalid number of parameters (${Q1.length}) - expected (${Object.keys(D.Ha).toString()}) parameters instead!`);\n return V2.apply(this, Q1);\n });\n var G = Object.create(S, { constructor: { value: _ } });\n _.prototype = G;\n var D = new l3(v, _, G, M, g, s, u, h);\n if (D.Ca) {\n var g1;\n (g1 = D.Ca).Wa ?? (g1.Wa = []), D.Ca.Wa.push(D);\n }\n return g = new _1(v, D, true, false, false), g1 = new _1(v + \"*\", D, false, false, false), S = new _1(v + \" const*\", D, false, true, false), F2[e] = { pointerType: g1, $a: S }, T2(d, _), [g, g1, S];\n });\n }, q: (e, t, i, a, o, s) => {\n var l = j1(t, i);\n o = T(a, o), J([], [e], (u) => {\n u = u[0];\n var p = `constructor ${u.name}`;\n if (u.xa.Ha === void 0 && (u.xa.Ha = []), u.xa.Ha[t - 1] !== void 0)\n throw new w(`Cannot register multiple constructors with identical number of parameters (${t - 1}) for class '${u.name}'! Overload resolution is currently only performed using the parameter count, not actual type info!`);\n return u.xa.Ha[t - 1] = () => {\n E1(`Cannot construct ${u.name} due to unbound types`, l);\n }, J([], l, (h) => (h.splice(1, 0, null), u.xa.Ha[t - 1] = H1(p, h, null, o, s), [])), [];\n });\n }, f: (e, t, i, a, o, s, l, u) => {\n var p = j1(i, a);\n t = F(t), t = D2(t), s = T(o, s), J([], [e], (h) => {\n function v() {\n E1(`Cannot call ${b} due to unbound types`, p);\n }\n h = h[0];\n var b = `${h.name}.${t}`;\n t.startsWith(\"@@\") && (t = Symbol[t.substring(2)]), u && h.xa.kb.push(t);\n var M = h.xa.La, d = M[t];\n return d === void 0 || d.Ba === void 0 && d.className !== h.name && d.Oa === i - 2 ? (v.Oa = i - 2, v.className = h.name, M[t] = v) : (x2(M, t, b), M[t].Ba[i - 2] = v), J([], p, (_) => (_ = H1(b, _, h, s, l), M[t].Ba === void 0 ? (_.Oa = i - 2, M[t] = _) : M[t].Ba[i - 2] = _, [])), [];\n });\n }, X: (e) => W(e, R2), x: (e, t, i, a) => {\n function o() {\n }\n t = F(t), o.values = {}, W(e, { name: t, constructor: o, fromWireType: function(s) {\n return this.constructor.values[s];\n }, toWireType: (s, l) => l.value, argPackAdvance: 8, readValueFromPointer: _3(t, i, a), Ea: null }), U1(t, o);\n }, k: (e, t, i) => {\n var a = J1(e, \"enum\");\n t = F(t), e = a.constructor, a = Object.create(a.constructor.prototype, { value: { value: i }, constructor: { value: m1(`${a.name}_${t}`, function() {\n }) } }), e.values[i] = a, e[t] = a;\n }, C: (e, t, i) => {\n t = F(t), W(e, { name: t, fromWireType: (a) => a, toWireType: (a, o) => o, argPackAdvance: 8, readValueFromPointer: g3(t, i), Ea: null });\n }, E: (e, t, i, a, o, s) => {\n var l = j1(t, i);\n e = F(e), e = D2(e), o = T(a, o), U1(e, function() {\n E1(`Cannot call ${e} due to unbound types`, l);\n }, t - 1), J([], l, (u) => (T2(e, H1(e, [u[0], null].concat(u.slice(1)), null, o, s), t - 1), []));\n }, l: (e, t, i, a, o) => {\n if (t = F(t), o === -1 && (o = 4294967295), o = (u) => u, a === 0) {\n var s = 32 - 8 * i;\n o = (u) => u << s >>> s;\n }\n var l = t.includes(\"unsigned\") ? function(u, p) {\n return p >>> 0;\n } : function(u, p) {\n return p;\n };\n W(e, { name: t, fromWireType: o, toWireType: l, argPackAdvance: 8, readValueFromPointer: y3(t, i, a !== 0), Ea: null });\n }, g: (e, t, i) => {\n function a(s) {\n return new o(q.buffer, L[s + 4 >> 2], L[s >> 2]);\n }\n var o = [Int8Array, Uint8Array, Int16Array, Uint16Array, Int32Array, Uint32Array, Float32Array, Float64Array][t];\n i = F(i), W(e, { name: i, fromWireType: a, argPackAdvance: 8, readValueFromPointer: a }, { ib: true });\n }, w: (e) => {\n W(e, R2);\n }, ca: (e, t, i, a, o, s, l, u, p, h, v, b) => {\n i = F(i), s = T(o, s), u = T(l, u), h = T(p, h), b = T(v, b), J([e], [t], (M) => (M = M[0], [new _1(i, M.xa, false, false, true, M, a, s, u, h, b)]));\n }, D: (e, t) => {\n t = F(t);\n var i = t === \"std::string\";\n W(e, { name: t, fromWireType: function(a) {\n var o = L[a >> 2], s = a + 4;\n if (i)\n for (var l = s, u = 0; u <= o; ++u) {\n var p = s + u;\n if (u == o || E[p] == 0) {\n if (l = l ? X(E, l, p - l) : \"\", h === void 0)\n var h = l;\n else\n h += \"\\0\", h += l;\n l = p + 1;\n }\n }\n else {\n for (h = Array(o), u = 0; u < o; ++u)\n h[u] = String.fromCharCode(E[s + u]);\n h = h.join(\"\");\n }\n return Y(a), h;\n }, toWireType: function(a, o) {\n o instanceof ArrayBuffer && (o = new Uint8Array(o));\n var s = typeof o == \"string\";\n if (!(s || o instanceof Uint8Array || o instanceof Uint8ClampedArray || o instanceof Int8Array))\n throw new w(\"Cannot pass non-string to std::string\");\n var l = i && s ? L2(o) : o.length, u = Z1(4 + l + 1), p = u + 4;\n if (L[u >> 2] = l, i && s)\n E2(o, E, p, l + 1);\n else if (s)\n for (s = 0; s < l; ++s) {\n var h = o.charCodeAt(s);\n if (255 < h)\n throw Y(p), new w(\"String has UTF-16 code units that do not fit in 8 bits\");\n E[p + s] = h;\n }\n else\n for (s = 0; s < l; ++s)\n E[p + s] = o[s];\n return a !== null && a.push(Y, u), u;\n }, argPackAdvance: 8, readValueFromPointer: l1, Ea(a) {\n Y(a);\n } });\n }, u: (e, t, i) => {\n if (i = F(i), t === 2)\n var a = w3, o = b3, s = M3, l = (u) => d1[u >> 1];\n else\n t === 4 && (a = C3, o = L3, s = E3, l = (u) => L[u >> 2]);\n W(e, { name: i, fromWireType: (u) => {\n for (var p = L[u >> 2], h, v = u + 4, b = 0; b <= p; ++b) {\n var M = u + 4 + b * t;\n (b == p || l(M) == 0) && (v = a(v, M - v), h === void 0 ? h = v : (h += \"\\0\", h += v), v = M + t);\n }\n return Y(u), h;\n }, toWireType: (u, p) => {\n if (typeof p != \"string\")\n throw new w(`Cannot pass non-string to C++ string type ${i}`);\n var h = s(p), v = Z1(4 + h + t);\n return L[v >> 2] = h / t, o(p, v + 4, h + t), u !== null && u.push(Y, v), v;\n }, argPackAdvance: 8, readValueFromPointer: l1, Ea(u) {\n Y(u);\n } });\n }, s: (e, t, i, a, o, s) => {\n b1[e] = { name: F(t), Ua: T(i, a), Fa: T(o, s), Ya: [] };\n }, j: (e, t, i, a, o, s, l, u, p, h) => {\n b1[e].Ya.push({ bb: F(t), hb: i, fb: T(a, o), gb: s, nb: l, mb: T(u, p), ob: h });\n }, Z: (e, t) => {\n t = F(t), W(e, { ub: true, name: t, argPackAdvance: 0, fromWireType: () => {\n }, toWireType: () => {\n } });\n }, J: () => {\n throw 1 / 0;\n }, aa: (e, t, i, a) => (e = q1[e], t = Y1(t), e(null, t, i, a)), F: V1, $: (e, t, i) => {\n var a = S3(e, t), o = a.shift();\n e--;\n var s = Array(e);\n return t = `methodCaller<(${a.map((l) => l.name).join(\", \")}) => ${o.name}>`, P3(m1(t, (l, u, p, h) => {\n for (var v = 0, b = 0; b < e; ++b)\n s[b] = a[b].readValueFromPointer(h + v), v += a[b].argPackAdvance;\n return u = i === 1 ? I3(u, s) : u.apply(l, s), l = [], u = o.toWireType(l, u), l.length && (L[p >> 2] = P1(l)), u;\n }));\n }, ba: (e) => {\n 9 < e && (V[e + 1] += 1);\n }, _: (e) => {\n var t = Y1(e);\n O1(t), V1(e);\n }, o: (e, t) => (e = J1(e, \"_emval_take_value\"), e = e.readValueFromPointer(t), P1(e)), W: () => {\n w1(\"\");\n }, V: () => performance.now(), L: (e) => {\n var t = E.length;\n if (e >>>= 0, 2147483648 < e)\n return false;\n for (var i = 1; 4 >= i; i *= 2) {\n var a = t * (1 + 0.2 / i);\n a = Math.min(a, e + 100663296);\n var o = Math;\n a = Math.max(e, a);\n e: {\n o = (o.min.call(o, 2147483648, a + (65536 - a % 65536) % 65536) - y1.buffer.byteLength + 65535) / 65536;\n try {\n y1.grow(o), v2();\n var s = 1;\n break e;\n } catch {\n }\n s = void 0;\n }\n if (s)\n return true;\n }\n return false;\n }, S: (e, t) => {\n var i = 0;\n return $2().forEach((a, o) => {\n var s = t + i;\n for (o = L[e + 4 * o >> 2] = s, s = 0; s < a.length; ++s)\n q[o++] = a.charCodeAt(s);\n q[o] = 0, i += a.length + 1;\n }), 0;\n }, T: (e, t) => {\n var i = $2();\n L[e >> 2] = i.length;\n var a = 0;\n return i.forEach((o) => a += o.length + 1), L[t >> 2] = a, 0;\n }, t: () => 52, z: () => 52, H: function() {\n return 70;\n }, Q: (e, t, i, a) => {\n for (var o = 0, s = 0; s < i; s++) {\n var l = L[t >> 2], u = L[t + 4 >> 2];\n t += 8;\n for (var p = 0; p < u; p++) {\n var h = E[l + p], v = F3[e];\n h === 0 || h === 10 ? ((e === 1 ? t1 : n1)(X(v, 0)), v.length = 0) : v.push(h);\n }\n o += u;\n }\n return L[a >> 2] = o, 0;\n }, U: (e, t) => (z2(E.subarray(e, e + t)), 0), i: z3, d: $3, e: O3, p: W3, y: j3, b: D3, a: R3, h: B3, n: U3, G: H3, K: (e, t, i, a) => A3(e, t, i, a) }, P = function() {\n function e(i) {\n return P = i.exports, y1 = P.da, v2(), O = P.ha, m2.unshift(P.ea), K--, r.monitorRunDependencies?.(K), K == 0 && (u1 && (i = u1, u1 = null, i())), P;\n }\n var t = { a: k3 };\n if (K++, r.monitorRunDependencies?.(K), r.instantiateWasm)\n try {\n return r.instantiateWasm(t, e);\n } catch (i) {\n n1(`Module.instantiateWasm callback failed with error: ${i}`), y(i);\n }\n return i3(t, function(i) {\n e(i.instance);\n }).catch(y), {};\n }(), Z1 = (e) => (Z1 = P.fa)(e), j2 = (e) => (j2 = P.ga)(e), Y = (e) => (Y = P.ia)(e), U = (e, t) => (U = P.ja)(e, t), B = (e) => (B = P.ka)(e), j = () => (j = P.la)();\n r.dynCall_iijj = (e, t, i, a, o, s) => (r.dynCall_iijj = P.na)(e, t, i, a, o, s), r.dynCall_vijj = (e, t, i, a, o, s) => (r.dynCall_vijj = P.oa)(e, t, i, a, o, s), r.dynCall_jiii = (e, t, i, a) => (r.dynCall_jiii = P.pa)(e, t, i, a), r.dynCall_jii = (e, t, i) => (r.dynCall_jii = P.qa)(e, t, i);\n var H2 = r.dynCall_viiij = (e, t, i, a, o, s) => (H2 = r.dynCall_viiij = P.ra)(e, t, i, a, o, s);\n r.dynCall_jiji = (e, t, i, a, o) => (r.dynCall_jiji = P.sa)(e, t, i, a, o), r.dynCall_viijii = (e, t, i, a, o, s, l) => (r.dynCall_viijii = P.ta)(e, t, i, a, o, s, l), r.dynCall_iiiiij = (e, t, i, a, o, s, l) => (r.dynCall_iiiiij = P.ua)(e, t, i, a, o, s, l), r.dynCall_iiiiijj = (e, t, i, a, o, s, l, u, p) => (r.dynCall_iiiiijj = P.va)(e, t, i, a, o, s, l, u, p), r.dynCall_iiiiiijj = (e, t, i, a, o, s, l, u, p, h) => (r.dynCall_iiiiiijj = P.wa)(e, t, i, a, o, s, l, u, p, h);\n function D3(e, t) {\n var i = j();\n try {\n O.get(e)(t);\n } catch (a) {\n if (B(i), a !== a + 0)\n throw a;\n U(1, 0);\n }\n }\n function R3(e, t, i) {\n var a = j();\n try {\n O.get(e)(t, i);\n } catch (o) {\n if (B(a), o !== o + 0)\n throw o;\n U(1, 0);\n }\n }\n function O3(e, t, i, a) {\n var o = j();\n try {\n return O.get(e)(t, i, a);\n } catch (s) {\n if (B(o), s !== s + 0)\n throw s;\n U(1, 0);\n }\n }\n function $3(e, t, i) {\n var a = j();\n try {\n return O.get(e)(t, i);\n } catch (o) {\n if (B(a), o !== o + 0)\n throw o;\n U(1, 0);\n }\n }\n function z3(e, t) {\n var i = j();\n try {\n return O.get(e)(t);\n } catch (a) {\n if (B(i), a !== a + 0)\n throw a;\n U(1, 0);\n }\n }\n function W3(e, t, i, a, o, s) {\n var l = j();\n try {\n return O.get(e)(t, i, a, o, s);\n } catch (u) {\n if (B(l), u !== u + 0)\n throw u;\n U(1, 0);\n }\n }\n function U3(e, t, i, a, o) {\n var s = j();\n try {\n O.get(e)(t, i, a, o);\n } catch (l) {\n if (B(s), l !== l + 0)\n throw l;\n U(1, 0);\n }\n }\n function B3(e, t, i, a) {\n var o = j();\n try {\n O.get(e)(t, i, a);\n } catch (s) {\n if (B(o), s !== s + 0)\n throw s;\n U(1, 0);\n }\n }\n function j3(e) {\n var t = j();\n try {\n O.get(e)();\n } catch (i) {\n if (B(t), i !== i + 0)\n throw i;\n U(1, 0);\n }\n }\n function H3(e, t, i, a, o, s) {\n var l = j();\n try {\n H2(e, t, i, a, o, s);\n } catch (u) {\n if (B(l), u !== u + 0)\n throw u;\n U(1, 0);\n }\n }\n var F1;\n u1 = function e() {\n F1 || N22(), F1 || (u1 = e);\n };\n function N22() {\n function e() {\n if (!F1 && (F1 = true, r.calledRun = true, !c2)) {\n if (R1(m2), c(r), r.onRuntimeInitialized && r.onRuntimeInitialized(), r.postRun)\n for (typeof r.postRun == \"function\" && (r.postRun = [r.postRun]); r.postRun.length; ) {\n var t = r.postRun.shift();\n _2.unshift(t);\n }\n R1(_2);\n }\n }\n if (!(0 < K)) {\n if (r.preRun)\n for (typeof r.preRun == \"function\" && (r.preRun = [r.preRun]); r.preRun.length; )\n n3();\n R1(f2), 0 < K || (r.setStatus ? (r.setStatus(\"Running...\"), setTimeout(function() {\n setTimeout(function() {\n r.setStatus(\"\");\n }, 1), e();\n }, 1)) : e());\n }\n }\n if (r.preInit)\n for (typeof r.preInit == \"function\" && (r.preInit = [r.preInit]); 0 < r.preInit.length; )\n r.preInit.pop()();\n return N22(), R;\n };\n})();\nvar G2 = Y3;\nvar Q = class {\n constructor() {\n throw new Error(\"RendererLoader is a static class and cannot be instantiated.\");\n }\n static async _tryLoad(n) {\n return await G2({ locateFile: () => n });\n }\n static async _loadWithBackup() {\n return this._ModulePromise || (this._ModulePromise = this._tryLoad(this._wasmURL).catch(async (n) => {\n let r = `https://unpkg.com/${r2}@${n2}/dist/dotlottie-player.wasm`;\n console.warn(`Primary WASM load failed from ${this._wasmURL}. Error: ${n.message}`), console.warn(`Attempting to load WASM from backup URL: ${r}`);\n try {\n return await this._tryLoad(r);\n } catch (c) {\n throw console.error(`Primary WASM URL failed: ${n.message}`), console.error(`Backup WASM URL failed: ${c.message}`), new Error(\"WASM loading failed from all sources.\");\n }\n })), this._ModulePromise;\n }\n static async load() {\n return this._loadWithBackup();\n }\n static setWasmUrl(n) {\n this._wasmURL = n, this._ModulePromise = null;\n }\n};\nm(Q, \"_ModulePromise\", null), m(Q, \"_wasmURL\", `https://cdn.jsdelivr.net/npm/${r2}@${n2}/dist/dotlottie-player.wasm`);\nvar o1 = class {\n constructor() {\n m(this, \"_eventListeners\", /* @__PURE__ */ new Map());\n }\n addEventListener(n, r) {\n let c = this._eventListeners.get(n);\n c || (c = /* @__PURE__ */ new Set(), this._eventListeners.set(n, c)), c.add(r);\n }\n removeEventListener(n, r) {\n let c = this._eventListeners.get(n);\n c && (r ? (c.delete(r), c.size === 0 && this._eventListeners.delete(n)) : this._eventListeners.delete(n));\n }\n dispatch(n) {\n this._eventListeners.get(n.type)?.forEach((c) => c(n));\n }\n removeAllEventListeners() {\n this._eventListeners.clear();\n }\n};\nvar A = class {\n static _initializeObserver() {\n if (this._observer)\n return;\n let n = (r) => {\n r.forEach((c) => {\n let y = this._observedCanvases.get(c.target);\n y && (c.isIntersecting ? y.unfreeze() : y.freeze());\n });\n };\n this._observer = new IntersectionObserver(n, { threshold: 0 });\n }\n static observe(n, r) {\n this._initializeObserver(), !this._observedCanvases.has(n) && (this._observedCanvases.set(n, r), this._observer?.observe(n));\n }\n static unobserve(n) {\n this._observer?.unobserve(n), this._observedCanvases.delete(n), this._observedCanvases.size === 0 && (this._observer?.disconnect(), this._observer = null);\n }\n};\nm(A, \"_observer\", null), m(A, \"_observedCanvases\", /* @__PURE__ */ new Map());\nvar k = class {\n static _initializeObserver() {\n if (this._observer)\n return;\n let n = (r) => {\n r.forEach((c) => {\n let y = this._observedCanvases.get(c.target);\n if (!y)\n return;\n let [R, H] = y;\n clearTimeout(H);\n let $ = setTimeout(() => {\n R.resize();\n }, 100);\n this._observedCanvases.set(c.target, [R, $]);\n });\n };\n this._observer = new ResizeObserver(n);\n }\n static observe(n, r) {\n this._initializeObserver(), !this._observedCanvases.has(n) && (this._observedCanvases.set(n, [r, 0]), this._observer?.observe(n));\n }\n static unobserve(n) {\n this._observer?.unobserve(n), this._observedCanvases.delete(n), this._observedCanvases.size === 0 && (this._observer?.disconnect(), this._observer = null);\n }\n};\nm(k, \"_observer\", null), m(k, \"_observedCanvases\", /* @__PURE__ */ new Map());\nfunction J3(f) {\n return /^#([\\da-f]{6}|[\\da-f]{8})$/iu.test(f);\n}\nfunction K2(f) {\n if (!J3(f))\n return 0;\n let n = f.replace(\"#\", \"\");\n return n = n.length === 6 ? `${n}ff` : n, parseInt(n, 16);\n}\nfunction i2(f) {\n if (f.byteLength < 4)\n return false;\n let n = new Uint8Array(f.slice(0, T1.byteLength));\n for (let r = 0; r < T1.length; r += 1)\n if (T1[r] !== n[r])\n return false;\n return true;\n}\nfunction q2(f) {\n return Y2.every((n) => Object.prototype.hasOwnProperty.call(f, n));\n}\nfunction a2(f) {\n if (typeof f == \"string\")\n try {\n return q2(JSON.parse(f));\n } catch {\n return false;\n }\n else\n return q2(f);\n}\nfunction e1() {\n return 1 + ((I ? window.devicePixelRatio : 1) - 1) * J2;\n}\nfunction A1(f) {\n let n = f.getBoundingClientRect();\n return n.top >= 0 && n.left >= 0 && n.bottom <= (window.innerHeight || document.documentElement.clientHeight) && n.right <= (window.innerWidth || document.documentElement.clientWidth);\n}\nvar o2 = (f, n) => f === \"reverse\" ? n.Mode.Reverse : f === \"bounce\" ? n.Mode.Bounce : f === \"reverse-bounce\" ? n.Mode.ReverseBounce : n.Mode.Forward;\nvar s2 = (f, n) => f === \"contain\" ? n.Fit.Contain : f === \"cover\" ? n.Fit.Cover : f === \"fill\" ? n.Fit.Fill : f === \"fit-height\" ? n.Fit.FitHeight : f === \"fit-width\" ? n.Fit.FitWidth : n.Fit.None;\nvar d2 = (f, n) => {\n let r = new n.VectorFloat();\n return r.push_back(f[0]), r.push_back(f[1]), r;\n};\nvar u2 = (f, n) => {\n let r = new n.VectorFloat();\n return f.length !== 2 || (r.push_back(f[0]), r.push_back(f[1])), r;\n};\nvar C = class C2 {\n constructor(n) {\n m(this, \"_canvas\");\n m(this, \"_context\", null);\n m(this, \"_eventManager\");\n m(this, \"_animationFrameId\", null);\n m(this, \"_frameManager\");\n m(this, \"_dotLottieCore\", null);\n m(this, \"_renderConfig\", {});\n m(this, \"_isFrozen\", false);\n m(this, \"_backgroundColor\", null);\n m(this, \"_pointerUpMethod\");\n m(this, \"_pointerDownMethod\");\n m(this, \"_pointerMoveMethod\");\n m(this, \"_pointerEnterMethod\");\n m(this, \"_pointerExitMethod\");\n m(this, \"_onCompleteMethod\");\n this._canvas = n.canvas, this._context = this._canvas.getContext(\"2d\"), this._eventManager = new o1(), this._frameManager = new x1(), this._renderConfig = { ...n.renderConfig, devicePixelRatio: n.renderConfig?.devicePixelRatio || e1(), freezeOnOffscreen: n.renderConfig?.freezeOnOffscreen ?? true }, Q.load().then((r) => {\n C2._wasmModule = r, this._dotLottieCore = new r.DotLottiePlayer({ autoplay: n.autoplay ?? false, backgroundColor: 0, loopAnimation: n.loop ?? false, mode: o2(n.mode ?? \"forward\", r), segment: u2(n.segment ?? [], r), speed: n.speed ?? 1, useFrameInterpolation: n.useFrameInterpolation ?? true, marker: n.marker ?? \"\", layout: n.layout ? { align: d2(n.layout.align, r), fit: s2(n.layout.fit, r) } : r.createDefaultLayout() }), this._eventManager.dispatch({ type: \"ready\" }), n.data ? this._loadFromData(n.data) : n.src && this._loadFromSrc(n.src), n.backgroundColor && this.setBackgroundColor(n.backgroundColor);\n }).catch((r) => {\n this._eventManager.dispatch({ type: \"loadError\", error: new Error(`Failed to load wasm module: ${r}`) });\n }), this._pointerUpMethod = this._onPointerUp.bind(this), this._pointerDownMethod = this._onPointerDown.bind(this), this._pointerMoveMethod = this._onPointerMove.bind(this), this._pointerEnterMethod = this._onPointerEnter.bind(this), this._pointerExitMethod = this._onPointerLeave.bind(this), this._onCompleteMethod = this._onComplete.bind(this);\n }\n _dispatchError(n) {\n console.error(n), this._eventManager.dispatch({ type: \"loadError\", error: new Error(n) });\n }\n async _fetchData(n) {\n let r = await fetch(n);\n if (!r.ok)\n throw new Error(`Failed to fetch animation data from URL: ${n}. ${r.status}: ${r.statusText}`);\n let c = await r.arrayBuffer();\n return i2(c) ? c : new TextDecoder().decode(c);\n }\n _loadFromData(n) {\n if (this._dotLottieCore === null)\n return;\n let r = this._canvas.width, c = this._canvas.height, y = false;\n if (typeof n == \"string\") {\n if (!a2(n)) {\n this._dispatchError(\"Invalid Lottie JSON string: The provided string does not conform to the Lottie JSON format.\");\n return;\n }\n y = this._dotLottieCore.loadAnimationData(n, r, c);\n } else if (n instanceof ArrayBuffer) {\n if (!i2(n)) {\n this._dispatchError(\"Invalid dotLottie ArrayBuffer: The provided ArrayBuffer does not conform to the dotLottie format.\");\n return;\n }\n y = this._dotLottieCore.loadDotLottieData(n, r, c);\n } else if (typeof n == \"object\") {\n if (!a2(n)) {\n this._dispatchError(\"Invalid Lottie JSON object: The provided object does not conform to the Lottie JSON format.\");\n return;\n }\n y = this._dotLottieCore.loadAnimationData(JSON.stringify(n), r, c);\n } else {\n this._dispatchError(`Unsupported data type for animation data. Expected: \n - string (Lottie JSON),\n - ArrayBuffer (dotLottie),\n - object (Lottie JSON). \n Received: ${typeof n}`);\n return;\n }\n y ? (this._eventManager.dispatch({ type: \"load\" }), I && this.resize(), this._eventManager.dispatch({ type: \"frame\", currentFrame: this._dotLottieCore.currentFrame() }), this._render(), this._dotLottieCore.config().autoplay && (this._dotLottieCore.play(), this._dotLottieCore.isPlaying() ? (this._eventManager.dispatch({ type: \"play\" }), this._animationFrameId = this._frameManager.requestAnimationFrame(this._draw.bind(this))) : console.error(\"something went wrong, the animation was suppose to autoplay\")), I && this._canvas instanceof HTMLCanvasElement && (this._renderConfig.freezeOnOffscreen && A.observe(this._canvas, this), this._renderConfig.autoResize && k.observe(this._canvas, this))) : this._dispatchError(\"Failed to load animation data\");\n }\n _loadFromSrc(n) {\n this._fetchData(n).then((r) => this._loadFromData(r)).catch((r) => this._dispatchError(`Failed to load animation data from URL: ${n}. ${r}`));\n }\n get activeAnimationId() {\n return this._dotLottieCore?.activeAnimationId();\n }\n get activeThemeId() {\n return this._dotLottieCore?.activeThemeId();\n }\n get layout() {\n let n = this._dotLottieCore?.config().layout;\n if (n)\n return { align: [n.align.get(0), n.align.get(1)], fit: (() => {\n switch (n.fit) {\n case C2._wasmModule?.Fit.Contain:\n return \"contain\";\n case C2._wasmModule?.Fit.Cover:\n return \"cover\";\n case C2._wasmModule?.Fit.Fill:\n return \"fill\";\n case C2._wasmModule?.Fit.FitHeight:\n return \"fit-height\";\n case C2._wasmModule?.Fit.FitWidth:\n return \"fit-width\";\n case C2._wasmModule?.Fit.None:\n return \"none\";\n default:\n return \"contain\";\n }\n })() };\n }\n get marker() {\n return this._dotLottieCore?.config().marker;\n }\n get manifest() {\n try {\n let n = this._dotLottieCore?.manifestString();\n if (this._dotLottieCore === null || !n)\n return null;\n let r = JSON.parse(n);\n return Object.keys(r).length === 0 ? null : r;\n } catch {\n return null;\n }\n }\n get renderConfig() {\n return this._renderConfig;\n }\n get segment() {\n let n = this._dotLottieCore?.config().segment;\n if (n && n.size() === 2)\n return [n.get(0), n.get(1)];\n }\n get loop() {\n return this._dotLottieCore?.config().loopAnimation ?? false;\n }\n get mode() {\n let n = this._dotLottieCore?.config().mode;\n return n === C2._wasmModule?.Mode.Reverse ? \"reverse\" : n === C2._wasmModule?.Mode.Bounce ? \"bounce\" : n === C2._wasmModule?.Mode.ReverseBounce ? \"reverse-bounce\" : \"forward\";\n }\n get isFrozen() {\n return this._isFrozen;\n }\n get backgroundColor() {\n return this._backgroundColor ?? \"\";\n }\n get autoplay() {\n return this._dotLottieCore?.config().autoplay ?? false;\n }\n get useFrameInterpolation() {\n return this._dotLottieCore?.config().useFrameInterpolation ?? false;\n }\n get speed() {\n return this._dotLottieCore?.config().speed ?? 0;\n }\n get isReady() {\n return this._dotLottieCore !== null;\n }\n get isLoaded() {\n return this._dotLottieCore?.isLoaded() ?? false;\n }\n get isPlaying() {\n return this._dotLottieCore?.isPlaying() ?? false;\n }\n get isPaused() {\n return this._dotLottieCore?.isPaused() ?? false;\n }\n get isStopped() {\n return this._dotLottieCore?.isStopped() ?? false;\n }\n get currentFrame() {\n return this._dotLottieCore?.currentFrame() ?? 0;\n }\n get loopCount() {\n return this._dotLottieCore?.loopCount() ?? 0;\n }\n get totalFrames() {\n return this._dotLottieCore?.totalFrames() ?? 0;\n }\n get duration() {\n return this._dotLottieCore?.duration() ?? 0;\n }\n get segmentDuration() {\n return this._dotLottieCore?.segmentDuration() ?? 0;\n }\n get canvas() {\n return this._canvas;\n }\n load(n) {\n this._dotLottieCore === null || C2._wasmModule === null || (this._dotLottieCore.setConfig({ autoplay: n.autoplay ?? false, backgroundColor: 0, loopAnimation: n.loop ?? false, mode: o2(n.mode ?? \"forward\", C2._wasmModule), segment: u2(n.segment ?? [], C2._wasmModule), speed: n.speed ?? 1, useFrameInterpolation: n.useFrameInterpolation ?? true, marker: n.marker ?? \"\", layout: n.layout ? { align: d2(n.layout.align, C2._wasmModule), fit: s2(n.layout.fit, C2._wasmModule) } : C2._wasmModule.createDefaultLayout() }), n.data ? this._loadFromData(n.data) : n.src && this._loadFromSrc(n.src), this.setBackgroundColor(n.backgroundColor ?? \"\"));\n }\n _render() {\n if (this._dotLottieCore === null || this._context === null)\n return false;\n if (this._dotLottieCore.render()) {\n let r = this._dotLottieCore.buffer(), c = new Uint8ClampedArray(r, 0, this._canvas.width * this._canvas.height * 4), y = null;\n return typeof ImageData > \"u\" ? (y = this._context.createImageData(this._canvas.width, this._canvas.height), y.data.set(c)) : y = new ImageData(c, this._canvas.width, this._canvas.height), this._context.putImageData(y, 0, 0), this._eventManager.dispatch({ type: \"render\", currentFrame: this._dotLottieCore.currentFrame() }), true;\n }\n return false;\n }\n _draw() {\n if (this._dotLottieCore === null || this._context === null || !this._dotLottieCore.isPlaying())\n return;\n let n = this._dotLottieCore.requestFrame();\n this._dotLottieCore.setFrame(n) && (this._eventManager.dispatch({ type: \"frame\", currentFrame: this._dotLottieCore.currentFrame() }), this._render() && this._dotLottieCore.isComplete() && (this._dotLottieCore.config().loopAnimation ? this._eventManager.dispatch({ type: \"loop\", loopCount: this._dotLottieCore.loopCount() }) : this._eventManager.dispatch({ type: \"complete\" }))), this._animationFrameId = this._frameManager.requestAnimationFrame(this._draw.bind(this));\n }\n play() {\n if (this._dotLottieCore === null)\n return;\n (this._dotLottieCore.play() || this._dotLottieCore.isPlaying()) && (this._isFrozen = false, this._eventManager.dispatch({ type: \"play\" }), this._animationFrameId = this._frameManager.requestAnimationFrame(this._draw.bind(this))), I && this._canvas instanceof HTMLCanvasElement && this._renderConfig.freezeOnOffscreen && !A1(this._canvas) && this.freeze();\n }\n pause() {\n if (this._dotLottieCore === null)\n return;\n (this._dotLottieCore.pause() || this._dotLottieCore.isPaused()) && this._eventManager.dispatch({ type: \"pause\" });\n }\n stop() {\n if (this._dotLottieCore === null)\n return;\n this._dotLottieCore.stop() && (this._eventManager.dispatch({ type: \"frame\", currentFrame: this._dotLottieCore.currentFrame() }), this._render(), this._eventManager.dispatch({ type: \"stop\" }));\n }\n setFrame(n) {\n if (this._dotLottieCore === null || n < 0 || n > this._dotLottieCore.totalFrames())\n return;\n this._dotLottieCore.seek(n) && (this._eventManager.dispatch({ type: \"frame\", currentFrame: this._dotLottieCore.currentFrame() }), this._render());\n }\n setSpeed(n) {\n this._dotLottieCore !== null && this._dotLottieCore.setConfig({ ...this._dotLottieCore.config(), speed: n });\n }\n setBackgroundColor(n) {\n this._dotLottieCore !== null && (I && this._canvas instanceof HTMLCanvasElement ? this._canvas.style.backgroundColor = n : this._dotLottieCore.setConfig({ ...this._dotLottieCore.config(), backgroundColor: K2(n) }), this._backgroundColor = n);\n }\n setLoop(n) {\n this._dotLottieCore !== null && this._dotLottieCore.setConfig({ ...this._dotLottieCore.config(), loopAnimation: n });\n }\n setUseFrameInterpolation(n) {\n this._dotLottieCore !== null && this._dotLottieCore.setConfig({ ...this._dotLottieCore.config(), useFrameInterpolation: n });\n }\n addEventListener(n, r) {\n this._eventManager.addEventListener(n, r);\n }\n removeEventListener(n, r) {\n this._eventManager.removeEventListener(n, r);\n }\n destroy() {\n I && this._canvas instanceof HTMLCanvasElement && (A.unobserve(this._canvas), k.unobserve(this._canvas)), this._dotLottieCore?.delete(), this._dotLottieCore = null, this._context = null, this._eventManager.dispatch({ type: \"destroy\" }), this._eventManager.removeAllEventListeners(), this._cleanupStateMachineListeners();\n }\n freeze() {\n this._animationFrameId !== null && (this._frameManager.cancelAnimationFrame(this._animationFrameId), this._animationFrameId = null, this._isFrozen = true, this._eventManager.dispatch({ type: \"freeze\" }));\n }\n unfreeze() {\n this._animationFrameId === null && (this._animationFrameId = this._frameManager.requestAnimationFrame(this._draw.bind(this)), this._isFrozen = false, this._eventManager.dispatch({ type: \"unfreeze\" }));\n }\n resize() {\n if (!this._dotLottieCore || !this.isLoaded)\n return;\n if (I && this._canvas instanceof HTMLCanvasElement) {\n let r = this._renderConfig.devicePixelRatio || window.devicePixelRatio || 1, { height: c, width: y } = this._canvas.getBoundingClientRect();\n this._canvas.width = y * r, this._canvas.height = c * r;\n }\n this._dotLottieCore.resize(this._canvas.width, this._canvas.height) && this._render();\n }\n setSegment(n, r) {\n this._dotLottieCore === null || C2._wasmModule === null || this._dotLottieCore.setConfig({ ...this._dotLottieCore.config(), segment: u2([n, r], C2._wasmModule) });\n }\n setMode(n) {\n this._dotLottieCore === null || C2._wasmModule === null || this._dotLottieCore.setConfig({ ...this._dotLottieCore.config(), mode: o2(n, C2._wasmModule) });\n }\n setRenderConfig(n) {\n let { devicePixelRatio: r, freezeOnOffscreen: c, ...y } = n;\n this._renderConfig = { ...this._renderConfig, ...y, devicePixelRatio: r || e1(), freezeOnOffscreen: c ?? true }, I && this._canvas instanceof HTMLCanvasElement && (this._renderConfig.autoResize ? k.observe(this._canvas, this) : k.unobserve(this._canvas), this._renderConfig.freezeOnOffscreen ? A.observe(this._canvas, this) : (A.unobserve(this._canvas), this._isFrozen && this.unfreeze()));\n }\n loadAnimation(n) {\n if (this._dotLottieCore === null || this._dotLottieCore.activeAnimationId() === n)\n return;\n this._dotLottieCore.loadAnimation(n, this._canvas.width, this._canvas.height) ? (this._eventManager.dispatch({ type: \"load\" }), this.resize()) : this._eventManager.dispatch({ type: \"loadError\", error: new Error(`Failed to animation :${n}`) });\n }\n setMarker(n) {\n this._dotLottieCore !== null && this._dotLottieCore.setConfig({ ...this._dotLottieCore.config(), marker: n });\n }\n markers() {\n let n = this._dotLottieCore?.markers();\n if (n) {\n let r = [];\n for (let c = 0; c < n.size(); c += 1) {\n let y = n.get(c);\n r.push({ name: y.name, time: y.time, duration: y.duration });\n }\n return r;\n }\n return [];\n }\n loadTheme(n) {\n if (this._dotLottieCore === null)\n return false;\n let r = this._dotLottieCore.loadTheme(n);\n return this._render(), r;\n }\n loadThemeData(n) {\n if (this._dotLottieCore === null)\n return false;\n let r = this._dotLottieCore.loadThemeData(n);\n return this._render(), r;\n }\n setLayout(n) {\n this._dotLottieCore === null || C2._wasmModule === null || this._dotLottieCore.setConfig({ ...this._dotLottieCore.config(), layout: { align: d2(n.align, C2._wasmModule), fit: s2(n.fit, C2._wasmModule) } });\n }\n setViewport(n, r, c, y) {\n return this._dotLottieCore === null ? false : this._dotLottieCore.setViewport(n, r, c, y);\n }\n static setWasmUrl(n) {\n Q.setWasmUrl(n);\n }\n loadStateMachine(n) {\n return this._dotLottieCore?.loadStateMachine(n) ?? false;\n }\n startStateMachine() {\n let n = this._dotLottieCore?.startStateMachine() ?? false;\n return n && this._setupStateMachineListeners(), n;\n }\n stopStateMachine() {\n let n = this._dotLottieCore?.stopStateMachine() ?? false;\n return n && this._cleanupStateMachineListeners(), n;\n }\n _getPointerPosition(n) {\n let r = this._canvas.getBoundingClientRect(), c = this._canvas.width / r.width, y = this._canvas.height / r.height, R = this._renderConfig.devicePixelRatio || window.devicePixelRatio || 1, H = (n.clientX - r.left) * c / R, $ = (n.clientY - r.top) * y / R;\n return { x: H, y: $ };\n }\n _onPointerUp(n) {\n let { x: r, y: c } = this._getPointerPosition(n);\n this.postStateMachineEvent(`OnPointerUp: ${r} ${c}`);\n }\n _onPointerDown(n) {\n let { x: r, y: c } = this._getPointerPosition(n);\n this.postStateMachineEvent(`OnPointerDown: ${r} ${c}`);\n }\n _onPointerMove(n) {\n let { x: r, y: c } = this._getPointerPosition(n);\n this.postStateMachineEvent(`OnPointerMove: ${r} ${c}`);\n }\n _onPointerEnter(n) {\n let { x: r, y: c } = this._getPointerPosition(n);\n this.postStateMachineEvent(`OnPointerEnter: ${r} ${c}`);\n }\n _onPointerLeave(n) {\n let { x: r, y: c } = this._getPointerPosition(n);\n this.postStateMachineEvent(`OnPointerExit: ${r} ${c}`);\n }\n _onComplete() {\n this.postStateMachineEvent(\"OnComplete\");\n }\n postStateMachineEvent(n) {\n let r = this._dotLottieCore?.postEventPayload(n) ?? 1;\n return r === 2 ? this.play() : r === 3 ? this.pause() : r === 4 && this._render(), r;\n }\n getStateMachineListeners() {\n if (!this._dotLottieCore)\n return [];\n let n = this._dotLottieCore.stateMachineFrameworkSetup(), r = [];\n for (let c = 0; c < n.size(); c += 1)\n r.push(n.get(c));\n return r;\n }\n _setupStateMachineListeners() {\n if (I && this._canvas instanceof HTMLCanvasElement && this._dotLottieCore !== null && this.isLoaded) {\n let n = this.getStateMachineListeners();\n n.includes(\"PointerUp\") && this._canvas.addEventListener(\"pointerup\", this._pointerUpMethod), n.includes(\"PointerDown\") && this._canvas.addEventListener(\"pointerdown\", this._pointerDownMethod), n.includes(\"PointerMove\") && this._canvas.addEventListener(\"pointermove\", this._pointerMoveMethod), n.includes(\"PointerEnter\") && this._canvas.addEventListener(\"pointerenter\", this._pointerEnterMethod), n.includes(\"PointerExit\") && this._canvas.addEventListener(\"pointerleave\", this._pointerExitMethod), n.includes(\"Complete\") && this.addEventListener(\"complete\", this._onCompleteMethod);\n }\n }\n _cleanupStateMachineListeners() {\n I && this._canvas instanceof HTMLCanvasElement && (this._canvas.removeEventListener(\"pointerup\", this._pointerUpMethod), this._canvas.removeEventListener(\"pointerdown\", this._pointerDownMethod), this._canvas.removeEventListener(\"pointermove\", this._pointerMoveMethod), this._canvas.removeEventListener(\"pointerenter\", this._pointerEnterMethod), this._canvas.removeEventListener(\"pointerleave\", this._pointerExitMethod), this.removeEventListener(\"complete\", this._onCompleteMethod));\n }\n loadStateMachineData(n) {\n return this._dotLottieCore?.loadStateMachineData(n) ?? false;\n }\n animationSize() {\n let n = this._dotLottieCore?.animationSize().get(0) ?? 0, r = this._dotLottieCore?.animationSize().get(1) ?? 0;\n return { width: n, height: r };\n }\n setStateMachineBooleanContext(n, r) {\n return this._dotLottieCore?.setStateMachineBooleanContext(n, r) ?? false;\n }\n setStateMachineNumericContext(n, r) {\n return this._dotLottieCore?.setStateMachineNumericContext(n, r) ?? false;\n }\n setStateMachineStringContext(n, r) {\n return this._dotLottieCore?.setStateMachineStringContext(n, r) ?? false;\n }\n};\nm(C, \"_wasmModule\", null);\nvar X2 = C;\nvar l2 = class {\n constructor() {\n if (typeof Worker > \"u\")\n throw new Error(\"Worker is not supported in this environment.\");\n let n = new Blob([new Uint8Array([34, 117, 115, 101, 32, 115, 116, 114, 105, 99, 116, 34, 59, 10, 40, 40, 41, 32, 61, 62, 32, 123, 10, 32, 32, 118, 97, 114, 32, 95, 95, 100, 101, 102, 80, 114, 111, 112, 32, 61, 32, 79, 98, 106, 101, 99, 116, 46, 100, 101, 102, 105, 110, 101, 80, 114, 111, 112, 101, 114, 116, 121, 59, 10, 32, 32, 118, 97, 114, 32, 95, 95, 100, 101, 102, 78, 111, 114, 109, 97, 108, 80, 114, 111, 112, 32, 61, 32, 40, 111, 98, 106, 44, 32, 107, 101, 121, 44, 32, 118, 97, 108, 117, 101, 41, 32, 61, 62, 32, 107, 101, 121, 32, 105, 110, 32, 111, 98, 106, 32, 63, 32, 95, 95, 100, 101, 102, 80, 114, 111, 112, 40, 111, 98, 106, 44, 32, 107, 101, 121, 44, 32, 123, 32, 101, 110, 117, 109, 101, 114, 97, 98, 108, 101, 58, 32, 116, 114, 117, 101, 44, 32, 99, 111, 110, 102, 105, 103, 117, 114, 97, 98, 108, 101, 58, 32, 116, 114, 117, 101, 44, 32, 119, 114, 105, 116, 97, 98, 108, 101, 58, 32, 116, 114, 117, 101, 44, 32, 118, 97, 108, 117, 101, 32, 125, 41, 32, 58, 32, 111, 98, 106, 91, 107, 101, 121, 93, 32, 61, 32, 118, 97, 108, 117, 101, 59, 10, 32, 32, 118, 97, 114, 32, 95, 95, 112, 117, 98, 108, 105, 99, 70, 105, 101, 108, 100, 32, 61, 32, 40, 111, 98, 106, 44, 32, 107, 101, 121, 44, 32, 118, 97, 108, 117, 101, 41, 32, 61, 62, 32, 95, 95, 100, 101, 102, 78, 111, 114, 109, 97, 108, 80, 114, 111, 112, 40, 111, 98, 106, 44, 32, 116, 121, 112, 101, 111, 102, 32, 107, 101, 121, 32, 33, 61, 61, 32, 34, 115, 121, 109, 98, 111, 108, 34, 32, 63, 32, 107, 101, 121, 32, 43, 32, 34, 34, 32, 58, 32, 107, 101, 121, 44, 32, 118, 97, 108, 117, 101, 41, 59, 10, 10, 32, 32, 47, 47, 32, 115, 114, 99, 47, 97, 110, 105, 109, 97, 116, 105, 111, 110, 45, 102, 114, 97, 109, 101, 45, 109, 97, 110, 97, 103, 101, 114, 46, 116, 115, 10, 32, 32, 118, 97, 114, 32, 87, 101, 98, 65, 110, 105, 109, 97, 116, 105, 111, 110, 70, 114, 97, 109, 101, 83, 116, 114, 97, 116, 101, 103, 121, 32, 61, 32, 99, 108, 97, 115, 115, 32, 123, 10, 32, 32, 32, 32, 114, 101, 113, 117, 101, 115, 116, 65, 110, 105, 109, 97, 116, 105, 111, 110, 70, 114, 97, 109, 101, 40, 99, 97, 108, 108, 98, 97, 99, 107, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 114, 101, 113, 117, 101, 115, 116, 65, 110, 105, 109, 97, 116, 105, 111, 110, 70, 114, 97, 109, 101, 40, 99, 97, 108, 108, 98, 97, 99, 107, 41, 59, 10, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 99, 97, 110, 99, 101, 108, 65, 110, 105, 109, 97, 116, 105, 111, 110, 70, 114, 97, 109, 101, 40, 105, 100, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 99, 97, 110, 99, 101, 108, 65, 110, 105, 109, 97, 116, 105, 111, 110, 70, 114, 97, 109, 101, 40, 105, 100, 41, 59, 10, 32, 32, 32, 32, 125, 10, 32, 32, 125, 59, 10, 32, 32, 118, 97, 114, 32, 78, 111, 100, 101, 65, 110, 105, 109, 97, 116, 105, 111, 110, 70, 114, 97, 109, 101, 83, 116, 114, 97, 116, 101, 103, 121, 32, 61, 32, 99, 108, 97, 115, 115, 32, 123, 10, 32, 32, 32, 32, 99, 111, 110, 115, 116, 114, 117, 99, 116, 111, 114, 40, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 95, 95, 112, 117, 98, 108, 105, 99, 70, 105, 101, 108, 100, 40, 116, 104, 105, 115, 44, 32, 34, 95, 108, 97, 115, 116, 72, 97, 110, 100, 108, 101, 73, 100, 34, 44, 32, 48, 41, 59, 10, 32, 32, 32, 32, 32, 32, 95, 95, 112, 117, 98, 108, 105, 99, 70, 105, 101, 108, 100, 40, 116, 104, 105, 115, 44, 32, 34, 95, 108, 97, 115, 116, 73, 109, 109, 101, 100, 105, 97, 116, 101, 34, 44, 32, 110, 117, 108, 108, 41, 59, 10, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 114, 101, 113, 117, 101, 115, 116, 65, 110, 105, 109, 97, 116, 105, 111, 110, 70, 114, 97, 109, 101, 40, 99, 97, 108, 108, 98, 97, 99, 107, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 116, 104, 105, 115, 46, 95, 108, 97, 115, 116, 72, 97, 110, 100, 108, 101, 73, 100, 32, 62, 61, 32, 78, 117, 109, 98, 101, 114, 46, 77, 65, 88, 95, 83, 65, 70, 69, 95, 73, 78, 84, 69, 71, 69, 82, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 116, 104, 105, 115, 46, 95, 108, 97, 115, 116, 72, 97, 110, 100, 108, 101, 73, 100, 32, 61, 32, 48, 59, 10, 32, 32, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 32, 32, 116, 104, 105, 115, 46, 95, 108, 97, 115, 116, 72, 97, 110, 100, 108, 101, 73, 100, 32, 43, 61, 32, 49, 59, 10, 32, 32, 32, 32, 32, 32, 116, 104, 105, 115, 46, 95, 108, 97, 115, 116, 73, 109, 109, 101, 100, 105, 97, 116, 101, 32, 61, 32, 115, 101, 116, 73, 109, 109, 101, 100, 105, 97, 116, 101, 40, 40, 41, 32, 61, 62, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 99, 97, 108, 108, 98, 97, 99, 107, 40, 68, 97, 116, 101, 46, 110, 111, 119, 40, 41, 41, 59, 10, 32, 32, 32, 32, 32, 32, 125, 41, 59, 10, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 116, 104, 105, 115, 46, 95, 108, 97, 115, 116, 72, 97, 110, 100, 108, 101, 73, 100, 59, 10, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 99, 97, 110, 99, 101, 108, 65, 110, 105, 109, 97, 116, 105, 111, 110, 70, 114, 97, 109, 101, 40, 95, 105, 100, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 116, 104, 105, 115, 46, 95, 108, 97, 115, 116, 73, 109, 109, 101, 100, 105, 97, 116, 101, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 99, 108, 101, 97, 114, 73, 109, 109, 101, 100, 105, 97, 116, 101, 40, 116, 104, 105, 115, 46, 95, 108, 97, 115, 116, 73, 109, 109, 101, 100, 105, 97, 116, 101, 41, 59, 10, 32, 32, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 125, 10, 32, 32, 125, 59, 10, 32, 32, 118, 97, 114, 32, 65, 110, 105, 109, 97, 116, 105, 111, 110, 70, 114, 97, 109, 101, 77, 97, 110, 97, 103, 101, 114, 32, 61, 32, 99, 108, 97, 115, 115, 32, 123, 10, 32, 32, 32, 32, 99, 111, 110, 115, 116, 114, 117, 99, 116, 111, 114, 40, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 95, 95, 112, 117, 98, 108, 105, 99, 70, 105, 101, 108, 100, 40, 116, 104, 105, 115, 44, 32, 34, 95, 115, 116, 114, 97, 116, 101, 103, 121, 34, 41, 59, 10, 32, 32, 32, 32, 32, 32, 116, 104, 105, 115, 46, 95, 115, 116, 114, 97, 116, 101, 103, 121, 32, 61, 32, 116, 121, 112, 101, 111, 102, 32, 114, 101, 113, 117, 101, 115, 116, 65, 110, 105, 109, 97, 116, 105, 111, 110, 70, 114, 97, 109, 101, 32, 61, 61, 61, 32, 34, 102, 117, 110, 99, 116, 105, 111, 110, 34, 32, 63, 32, 110, 101, 119, 32, 87, 101, 98, 65, 110, 105, 109, 97, 116, 105, 111, 110, 70, 114, 97, 109, 101, 83, 116, 114, 97, 116, 101, 103, 121, 40, 41, 32, 58, 32, 110, 101, 119, 32, 78, 111, 100, 101, 65, 110, 105, 109, 97, 116, 105, 111, 110, 70, 114, 97, 109, 101, 83, 116, 114, 97, 116, 101, 103, 121, 40, 41, 59, 10, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 114, 101, 113, 117, 101, 115, 116, 65, 110, 105, 109, 97, 116, 105, 111, 110, 70, 114, 97, 109, 101, 40, 99, 97, 108, 108, 98, 97, 99, 107, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 116, 104, 105, 115, 46, 95, 115, 116, 114, 97, 116, 101, 103, 121, 46, 114, 101, 113, 117, 101, 115, 116, 65, 110, 105, 109, 97, 116, 105, 111, 110, 70, 114, 97, 109, 101, 40, 99, 97, 108, 108, 98, 97, 99, 107, 41, 59, 10, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 99, 97, 110, 99, 101, 108, 65, 110, 105, 109, 97, 116, 105, 111, 110, 70, 114, 97, 109, 101, 40, 105, 100, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 116, 104, 105, 115, 46, 95, 115, 116, 114, 97, 116, 101, 103, 121, 46, 99, 97, 110, 99, 101, 108, 65, 110, 105, 109, 97, 116, 105, 111, 110, 70, 114, 97, 109, 101, 40, 105, 100, 41, 59, 10, 32, 32, 32, 32, 125, 10, 32, 32, 125, 59, 10, 10, 32, 32, 47, 47, 32, 115, 114, 99, 47, 99, 111, 110, 115, 116, 97, 110, 116, 115, 46, 116, 115, 10, 32, 32, 118, 97, 114, 32, 73, 83, 95, 66, 82, 79, 87, 83, 69, 82, 32, 61, 32, 116, 121, 112, 101, 111, 102, 32, 119, 105, 110, 100, 111, 119, 32, 33, 61, 61, 32, 34, 117, 110, 100, 101, 102, 105, 110, 101, 100, 34, 32, 38, 38, 32, 116, 121, 112, 101, 111, 102, 32, 119, 105, 110, 100, 111, 119, 46, 100, 111, 99, 117, 109, 101, 110, 116, 32, 33, 61, 61, 32, 34, 117, 110, 100, 101, 102, 105, 110, 101, 100, 34, 59, 10, 32, 32, 118, 97, 114, 32, 90, 73, 80, 95, 83, 73, 71, 78, 65, 84, 85, 82, 69, 32, 61, 32, 110, 101, 119, 32, 85, 105, 110, 116, 56, 65, 114, 114, 97, 121, 40, 91, 56, 48, 44, 32, 55, 53, 44, 32, 51, 44, 32, 52, 93, 41, 59, 10, 32, 32, 118, 97, 114, 32, 76, 79, 84, 84, 73, 69, 95, 74, 83, 79, 78, 95, 77, 65, 78, 68, 65, 84, 79, 82, 89, 95, 70, 73, 69, 76, 68, 83, 32, 61, 32, 91, 34, 118, 34, 44, 32, 34, 105, 112, 34, 44, 32, 34, 111, 112, 34, 44, 32, 34, 108, 97, 121, 101, 114, 115, 34, 44, 32, 34, 102, 114, 34, 44, 32, 34, 119, 34, 44, 32, 34, 104, 34, 93, 59, 10, 32, 32, 118, 97, 114, 32, 80, 65, 67, 75, 65, 71, 69, 95, 86, 69, 82, 83, 73, 79, 78, 32, 61, 32, 34, 48, 46, 51, 51, 46, 48, 34, 59, 10, 32, 32, 118, 97, 114, 32, 80, 65, 67, 75, 65, 71, 69, 95, 78, 65, 77, 69, 32, 61, 32, 34, 64, 108, 111, 116, 116, 105, 101, 102, 105, 108, 101, 115, 47, 100, 111, 116, 108, 111, 116, 116, 105, 101, 45, 119, 101, 98, 34, 59, 10, 32, 32, 118, 97, 114, 32, 68, 69, 70, 65, 85, 76, 84, 95, 68, 80, 82, 95, 70, 65, 67, 84, 79, 82, 32, 61, 32, 48, 46, 55, 53, 59, 10, 10, 32, 32, 47, 47, 32, 115, 114, 99, 47, 99, 111, 114, 101, 47, 100, 111, 116, 108, 111, 116, 116, 105, 101, 45, 112, 108, 97, 121, 101, 114, 46, 106, 115, 10, 32, 32, 118, 97, 114, 32, 99, 114, 101, 97, 116, 101, 68, 111, 116, 76, 111, 116, 116, 105, 101, 80, 108, 97, 121, 101, 114, 77, 111, 100, 117, 108, 101, 32, 61, 32, 40, 40, 41, 32, 61, 62, 32, 123, 10, 32, 32, 32, 32, 118, 97, 114, 32, 95, 115, 99, 114, 105, 112, 116, 68, 105, 114, 32, 61, 32, 116, 121, 112, 101, 111, 102, 32, 100, 111, 99, 117, 109, 101, 110, 116, 32, 33, 61, 32, 34, 117, 110, 100, 101, 102, 105, 110, 101, 100, 34, 32, 63, 32, 100, 111, 99, 117, 109, 101, 110, 116, 46, 99, 117, 114, 114, 101, 110, 116, 83, 99, 114, 105, 112, 116, 63, 46, 115, 114, 99, 32, 58, 32, 118, 111, 105, 100, 32, 48, 59, 10, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 102, 117, 110, 99, 116, 105, 111, 110, 40, 109, 111, 100, 117, 108, 101, 65, 114, 103, 32, 61, 32, 123, 125, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 118, 97, 114, 32, 107, 32, 61, 32, 109, 111, 100, 117, 108, 101, 65, 114, 103, 44, 32, 97, 97, 44, 32, 98, 97, 44, 32, 114, 101, 97, 100, 121, 80, 114, 111, 109, 105, 115, 101, 32, 61, 32, 110, 101, 119, 32, 80, 114, 111, 109, 105, 115, 101, 40, 40, 97, 44, 32, 98, 41, 32, 61, 62, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 97, 97, 32, 61, 32, 97, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 98, 97, 32, 61, 32, 98, 59, 10, 32, 32, 32, 32, 32, 32, 125, 41, 44, 32, 99, 97, 32, 61, 32, 79, 98, 106, 101, 99, 116, 46, 97, 115, 115, 105, 103, 110, 40, 123, 125, 44, 32, 107, 41, 44, 32, 100, 97, 32, 61, 32, 34, 46, 47, 116, 104, 105, 115, 46, 112, 114, 111, 103, 114, 97, 109, 34, 44, 32, 116, 32, 61, 32, 34, 34, 59, 10, 32, 32, 32, 32, 32, 32, 34, 117, 110, 100, 101, 102, 105, 110, 101, 100, 34, 32, 33, 61, 32, 116, 121, 112, 101, 111, 102, 32, 100, 111, 99, 117, 109, 101, 110, 116, 32, 38, 38, 32, 100, 111, 99, 117, 109, 101, 110, 116, 46, 99, 117, 114, 114, 101, 110, 116, 83, 99, 114, 105, 112, 116, 32, 38, 38, 32, 40, 116, 32, 61, 32, 100, 111, 99, 117, 109, 101, 110, 116, 46, 99, 117, 114, 114, 101, 110, 116, 83, 99, 114, 105, 112, 116, 46, 115, 114, 99, 41, 59, 10, 32, 32, 32, 32, 32, 32, 95, 115, 99, 114, 105, 112, 116, 68, 105, 114, 32, 38, 38, 32, 40, 116, 32, 61, 32, 95, 115, 99, 114, 105, 112, 116, 68, 105, 114, 41, 59, 10, 32, 32, 32, 32, 32, 32, 116, 46, 115, 116, 97, 114, 116, 115, 87, 105, 116, 104, 40, 34, 98, 108, 111, 98, 58, 34, 41, 32, 63, 32, 116, 32, 61, 32, 34, 34, 32, 58, 32, 116, 32, 61, 32, 116, 46, 115, 117, 98, 115, 116, 114, 40, 48, 44, 32, 116, 46, 114, 101, 112, 108, 97, 99, 101, 40, 47, 91, 63, 35, 93, 46, 42, 47, 44, 32, 34, 34, 41, 46, 108, 97, 115, 116, 73, 110, 100, 101, 120, 79, 102, 40, 34, 47, 34, 41, 32, 43, 32, 49, 41, 59, 10, 32, 32, 32, 32, 32, 32, 118, 97, 114, 32, 101, 97, 32, 61, 32, 107, 46, 112, 114, 105, 110, 116, 32, 124, 124, 32, 99, 111, 110, 115, 111, 108, 101, 46, 108, 111, 103, 46, 98, 105, 110, 100, 40, 99, 111, 110, 115, 111, 108, 101, 41, 44, 32, 119, 32, 61, 32, 107, 46, 112, 114, 105, 110, 116, 69, 114, 114, 32, 124, 124, 32, 99, 111, 110, 115, 111, 108, 101, 46, 101, 114, 114, 111, 114, 46, 98, 105, 110, 100, 40, 99, 111, 110, 115, 111, 108, 101, 41, 59, 10, 32, 32, 32, 32, 32, 32, 79, 98, 106, 101, 99, 116, 46, 97, 115, 115, 105, 103, 110, 40, 107, 44, 32, 99, 97, 41, 59, 10, 32, 32, 32, 32, 32, 32, 99, 97, 32, 61, 32, 110, 117, 108, 108, 59, 10, 32, 32, 32, 32, 32, 32, 107, 46, 116, 104, 105, 115, 80, 114, 111, 103, 114, 97, 109, 32, 38, 38, 32, 40, 100, 97, 32, 61, 32, 107, 46, 116, 104, 105, 115, 80, 114, 111, 103, 114, 97, 109, 41, 59, 10, 32, 32, 32, 32, 32, 32, 118, 97, 114, 32, 120, 59, 10, 32, 32, 32, 32, 32, 32, 107, 46, 119, 97, 115, 109, 66, 105, 110, 97, 114, 121, 32, 38, 38, 32, 40, 120, 32, 61, 32, 107, 46, 119, 97, 115, 109, 66, 105, 110, 97, 114, 121, 41, 59, 10, 32, 32, 32, 32, 32, 32, 118, 97, 114, 32, 102, 97, 44, 32, 104, 97, 32, 61, 32, 102, 97, 108, 115, 101, 44, 32, 121, 44, 32, 65, 44, 32, 66, 44, 32, 67, 44, 32, 69, 44, 32, 70, 44, 32, 106, 97, 44, 32, 107, 97, 59, 10, 32, 32, 32, 32, 32, 32, 102, 117, 110, 99, 116, 105, 111, 110, 32, 108, 97, 40, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 118, 97, 114, 32, 97, 32, 61, 32, 102, 97, 46, 98, 117, 102, 102, 101, 114, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 107, 46, 72, 69, 65, 80, 56, 32, 61, 32, 121, 32, 61, 32, 110, 101, 119, 32, 73, 110, 116, 56, 65, 114, 114, 97, 121, 40, 97, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 107, 46, 72, 69, 65, 80, 49, 54, 32, 61, 32, 66, 32, 61, 32, 110, 101, 119, 32, 73, 110, 116, 49, 54, 65, 114, 114, 97, 121, 40, 97, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 107, 46, 72, 69, 65, 80, 85, 56, 32, 61, 32, 65, 32, 61, 32, 110, 101, 119, 32, 85, 105, 110, 116, 56, 65, 114, 114, 97, 121, 40, 97, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 107, 46, 72, 69, 65, 80, 85, 49, 54, 32, 61, 32, 67, 32, 61, 32, 110, 101, 119, 32, 85, 105, 110, 116, 49, 54, 65, 114, 114, 97, 121, 40, 97, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 107, 46, 72, 69, 65, 80, 51, 50, 32, 61, 32, 69, 32, 61, 32, 110, 101, 119, 32, 73, 110, 116, 51, 50, 65, 114, 114, 97, 121, 40, 97, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 107, 46, 72, 69, 65, 80, 85, 51, 50, 32, 61, 32, 70, 32, 61, 32, 110, 101, 119, 32, 85, 105, 110, 116, 51, 50, 65, 114, 114, 97, 121, 40, 97, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 107, 46, 72, 69, 65, 80, 70, 51, 50, 32, 61, 32, 106, 97, 32, 61, 32, 110, 101, 119, 32, 70, 108, 111, 97, 116, 51, 50, 65, 114, 114, 97, 121, 40, 97, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 107, 46, 72, 69, 65, 80, 70, 54, 52, 32, 61, 32, 107, 97, 32, 61, 32, 110, 101, 119, 32, 70, 108, 111, 97, 116, 54, 52, 65, 114, 114, 97, 121, 40, 97, 41, 59, 10, 32, 32, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 32, 32, 118, 97, 114, 32, 109, 97, 32, 61, 32, 91, 93, 44, 32, 110, 97, 32, 61, 32, 91, 93, 44, 32, 111, 97, 32, 61, 32, 91, 93, 59, 10, 32, 32, 32, 32, 32, 32, 102, 117, 110, 99, 116, 105, 111, 110, 32, 112, 97, 40, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 118, 97, 114, 32, 97, 32, 61, 32, 107, 46, 112, 114, 101, 82, 117, 110, 46, 115, 104, 105, 102, 116, 40, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 109, 97, 46, 117, 110, 115, 104, 105, 102, 116, 40, 97, 41, 59, 10, 32, 32, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 32, 32, 118, 97, 114, 32, 71, 32, 61, 32, 48, 44, 32, 113, 97, 32, 61, 32, 110, 117, 108, 108, 44, 32, 72, 32, 61, 32, 110, 117, 108, 108, 59, 10, 32, 32, 32, 32, 32, 32, 102, 117, 110, 99, 116, 105, 111, 110, 32, 114, 97, 40, 97, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 107, 46, 111, 110, 65, 98, 111, 114, 116, 63, 46, 40, 97, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 97, 32, 61, 32, 34, 65, 98, 111, 114, 116, 101, 100, 40, 34, 32, 43, 32, 97, 32, 43, 32, 34, 41, 34, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 119, 40, 97, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 104, 97, 32, 61, 32, 116, 114, 117, 101, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 97, 32, 61, 32, 110, 101, 119, 32, 87, 101, 98, 65, 115, 115, 101, 109, 98, 108, 121, 46, 82, 117, 110, 116, 105, 109, 101, 69, 114, 114, 111, 114, 40, 97, 32, 43, 32, 34, 46, 32, 66, 117, 105, 108, 100, 32, 119, 105, 116, 104, 32, 45, 115, 65, 83, 83, 69, 82, 84, 73, 79, 78, 83, 32, 102, 111, 114, 32, 109, 111, 114, 101, 32, 105, 110, 102, 111, 46, 34, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 98, 97, 40, 97, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 116, 104, 114, 111, 119, 32, 97, 59, 10, 32, 32, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 32, 32, 118, 97, 114, 32, 115, 97, 32, 61, 32, 40, 97, 41, 32, 61, 62, 32, 97, 46, 115, 116, 97, 114, 116, 115, 87, 105, 116, 104, 40, 34, 100, 97, 116, 97, 58, 97, 112, 112, 108, 105, 99, 97, 116, 105, 111, 110, 47, 111, 99, 116, 101, 116, 45, 115, 116, 114, 101, 97, 109, 59, 98, 97, 115, 101, 54, 52, 44, 34, 41, 44, 32, 73, 59, 10, 32, 32, 32, 32, 32, 32, 73, 32, 61, 32, 34, 68, 111, 116, 76, 111, 116, 116, 105, 101, 80, 108, 97, 121, 101, 114, 46, 119, 97, 115, 109, 34, 59, 10, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 33, 115, 97, 40, 73, 41, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 118, 97, 114, 32, 116, 97, 32, 61, 32, 73, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 73, 32, 61, 32, 107, 46, 108, 111, 99, 97, 116, 101, 70, 105, 108, 101, 32, 63, 32, 107, 46, 108, 111, 99, 97, 116, 101, 70, 105, 108, 101, 40, 116, 97, 44, 32, 116, 41, 32, 58, 32, 116, 32, 43, 32, 116, 97, 59, 10, 32, 32, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 32, 32, 102, 117, 110, 99, 116, 105, 111, 110, 32, 117, 97, 40, 97, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 97, 32, 61, 61, 32, 73, 32, 38, 38, 32, 120, 41, 32, 114, 101, 116, 117, 114, 110, 32, 110, 101, 119, 32, 85, 105, 110, 116, 56, 65, 114, 114, 97, 121, 40, 120, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 116, 104, 114, 111, 119, 32, 34, 98, 111, 116, 104, 32, 97, 115, 121, 110, 99, 32, 97, 110, 100, 32, 115, 121, 110, 99, 32, 102, 101, 116, 99, 104, 105, 110, 103, 32, 111, 102, 32, 116, 104, 101, 32, 119, 97, 115, 109, 32, 102, 97, 105, 108, 101, 100, 34, 59, 10, 32, 32, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 32, 32, 102, 117, 110, 99, 116, 105, 111, 110, 32, 118, 97, 40, 97, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 120, 32, 124, 124, 32, 34, 102, 117, 110, 99, 116, 105, 111, 110, 34, 32, 33, 61, 32, 116, 121, 112, 101, 111, 102, 32, 102, 101, 116, 99, 104, 32, 63, 32, 80, 114, 111, 109, 105, 115, 101, 46, 114, 101, 115, 111, 108, 118, 101, 40, 41, 46, 116, 104, 101, 110, 40, 40, 41, 32, 61, 62, 32, 117, 97, 40, 97, 41, 41, 32, 58, 32, 102, 101, 116, 99, 104, 40, 97, 44, 32, 123, 32, 99, 114, 101, 100, 101, 110, 116, 105, 97, 108, 115, 58, 32, 34, 115, 97, 109, 101, 45, 111, 114, 105, 103, 105, 110, 34, 32, 125, 41, 46, 116, 104, 101, 110, 40, 40, 98, 41, 32, 61, 62, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 33, 98, 46, 111, 107, 41, 32, 116, 104, 114, 111, 119, 32, 96, 102, 97, 105, 108, 101, 100, 32, 116, 111, 32, 108, 111, 97, 100, 32, 119, 97, 115, 109, 32, 98, 105, 110, 97, 114, 121, 32, 102, 105, 108, 101, 32, 97, 116, 32, 39, 36, 123, 97, 125, 39, 96, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 98, 46, 97, 114, 114, 97, 121, 66, 117, 102, 102, 101, 114, 40, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 41, 46, 99, 97, 116, 99, 104, 40, 40, 41, 32, 61, 62, 32, 117, 97, 40, 97, 41, 41, 59, 10, 32, 32, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 32, 32, 102, 117, 110, 99, 116, 105, 111, 110, 32, 119, 97, 40, 97, 44, 32, 98, 44, 32, 99, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 118, 97, 40, 97, 41, 46, 116, 104, 101, 110, 40, 40, 100, 41, 32, 61, 62, 32, 87, 101, 98, 65, 115, 115, 101, 109, 98, 108, 121, 46, 105, 110, 115, 116, 97, 110, 116, 105, 97, 116, 101, 40, 100, 44, 32, 98, 41, 41, 46, 116, 104, 101, 110, 40, 99, 44, 32, 40, 100, 41, 32, 61, 62, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 119, 40, 96, 102, 97, 105, 108, 101, 100, 32, 116, 111, 32, 97, 115, 121, 110, 99, 104, 114, 111, 110, 111, 117, 115, 108, 121, 32, 112, 114, 101, 112, 97, 114, 101, 32, 119, 97, 115, 109, 58, 32, 36, 123, 100, 125, 96, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 114, 97, 40, 100, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 41, 59, 10, 32, 32, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 32, 32, 102, 117, 110, 99, 116, 105, 111, 110, 32, 120, 97, 40, 97, 44, 32, 98, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 118, 97, 114, 32, 99, 32, 61, 32, 73, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 120, 32, 124, 124, 32, 34, 102, 117, 110, 99, 116, 105, 111, 110, 34, 32, 33, 61, 32, 116, 121, 112, 101, 111, 102, 32, 87, 101, 98, 65, 115, 115, 101, 109, 98, 108, 121, 46, 105, 110, 115, 116, 97, 110, 116, 105, 97, 116, 101, 83, 116, 114, 101, 97, 109, 105, 110, 103, 32, 124, 124, 32, 115, 97, 40, 99, 41, 32, 124, 124, 32, 34, 102, 117, 110, 99, 116, 105, 111, 110, 34, 32, 33, 61, 32, 116, 121, 112, 101, 111, 102, 32, 102, 101, 116, 99, 104, 32, 63, 32, 119, 97, 40, 99, 44, 32, 97, 44, 32, 98, 41, 32, 58, 32, 102, 101, 116, 99, 104, 40, 99, 44, 32, 123, 32, 99, 114, 101, 100, 101, 110, 116, 105, 97, 108, 115, 58, 32, 34, 115, 97, 109, 101, 45, 111, 114, 105, 103, 105, 110, 34, 32, 125, 41, 46, 116, 104, 101, 110, 40, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 40, 100, 41, 32, 61, 62, 32, 87, 101, 98, 65, 115, 115, 101, 109, 98, 108, 121, 46, 105, 110, 115, 116, 97, 110, 116, 105, 97, 116, 101, 83, 116, 114, 101, 97, 109, 105, 110, 103, 40, 100, 44, 32, 97, 41, 46, 116, 104, 101, 110, 40, 98, 44, 32, 102, 117, 110, 99, 116, 105, 111, 110, 40, 101, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 119, 40, 96, 119, 97, 115, 109, 32, 115, 116, 114, 101, 97, 109, 105, 110, 103, 32, 99, 111, 109, 112, 105, 108, 101, 32, 102, 97, 105, 108, 101, 100, 58, 32, 36, 123, 101, 125, 96, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 119, 40, 34, 102, 97, 108, 108, 105, 110, 103, 32, 98, 97, 99, 107, 32, 116, 111, 32, 65, 114, 114, 97, 121, 66, 117, 102, 102, 101, 114, 32, 105, 110, 115, 116, 97, 110, 116, 105, 97, 116, 105, 111, 110, 34, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 119, 97, 40, 99, 44, 32, 97, 44, 32, 98, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 125, 41, 10, 32, 32, 32, 32, 32, 32, 32, 32, 41, 59, 10, 32, 32, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 32, 32, 118, 97, 114, 32, 121, 97, 32, 61, 32, 40, 97, 41, 32, 61, 62, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 102, 111, 114, 32, 40, 59, 32, 48, 32, 60, 32, 97, 46, 108, 101, 110, 103, 116, 104, 59, 32, 41, 32, 97, 46, 115, 104, 105, 102, 116, 40, 41, 40, 107, 41, 59, 10, 32, 32, 32, 32, 32, 32, 125, 44, 32, 122, 97, 32, 61, 32, 34, 117, 110, 100, 101, 102, 105, 110, 101, 100, 34, 32, 33, 61, 32, 116, 121, 112, 101, 111, 102, 32, 84, 101, 120, 116, 68, 101, 99, 111, 100, 101, 114, 32, 63, 32, 110, 101, 119, 32, 84, 101, 120, 116, 68, 101, 99, 111, 100, 101, 114, 40, 34, 117, 116, 102, 56, 34, 41, 32, 58, 32, 118, 111, 105, 100, 32, 48, 44, 32, 74, 32, 61, 32, 40, 97, 44, 32, 98, 44, 32, 99, 41, 32, 61, 62, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 118, 97, 114, 32, 100, 32, 61, 32, 98, 32, 43, 32, 99, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 102, 111, 114, 32, 40, 99, 32, 61, 32, 98, 59, 32, 97, 91, 99, 93, 32, 38, 38, 32, 33, 40, 99, 32, 62, 61, 32, 100, 41, 59, 32, 41, 32, 43, 43, 99, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 49, 54, 32, 60, 32, 99, 32, 45, 32, 98, 32, 38, 38, 32, 97, 46, 98, 117, 102, 102, 101, 114, 32, 38, 38, 32, 122, 97, 41, 32, 114, 101, 116, 117, 114, 110, 32, 122, 97, 46, 100, 101, 99, 111, 100, 101, 40, 97, 46, 115, 117, 98, 97, 114, 114, 97, 121, 40, 98, 44, 32, 99, 41, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 102, 111, 114, 32, 40, 100, 32, 61, 32, 34, 34, 59, 32, 98, 32, 60, 32, 99, 59, 32, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 118, 97, 114, 32, 101, 32, 61, 32, 97, 91, 98, 43, 43, 93, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 101, 32, 38, 32, 49, 50, 56, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 118, 97, 114, 32, 102, 32, 61, 32, 97, 91, 98, 43, 43, 93, 32, 38, 32, 54, 51, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 49, 57, 50, 32, 61, 61, 32, 40, 101, 32, 38, 32, 50, 50, 52, 41, 41, 32, 100, 32, 43, 61, 32, 83, 116, 114, 105, 110, 103, 46, 102, 114, 111, 109, 67, 104, 97, 114, 67, 111, 100, 101, 40, 40, 101, 32, 38, 32, 51, 49, 41, 32, 60, 60, 32, 54, 32, 124, 32, 102, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 101, 108, 115, 101, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 118, 97, 114, 32, 108, 32, 61, 32, 97, 91, 98, 43, 43, 93, 32, 38, 32, 54, 51, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 101, 32, 61, 32, 50, 50, 52, 32, 61, 61, 32, 40, 101, 32, 38, 32, 50, 52, 48, 41, 32, 63, 32, 40, 101, 32, 38, 32, 49, 53, 41, 32, 60, 60, 32, 49, 50, 32, 124, 32, 102, 32, 60, 60, 32, 54, 32, 124, 32, 108, 32, 58, 32, 40, 101, 32, 38, 32, 55, 41, 32, 60, 60, 32, 49, 56, 32, 124, 32, 102, 32, 60, 60, 32, 49, 50, 32, 124, 32, 108, 32, 60, 60, 32, 54, 32, 124, 32, 97, 91, 98, 43, 43, 93, 32, 38, 32, 54, 51, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 54, 53, 53, 51, 54, 32, 62, 32, 101, 32, 63, 32, 100, 32, 43, 61, 32, 83, 116, 114, 105, 110, 103, 46, 102, 114, 111, 109, 67, 104, 97, 114, 67, 111, 100, 101, 40, 101, 41, 32, 58, 32, 40, 101, 32, 45, 61, 32, 54, 53, 53, 51, 54, 44, 32, 100, 32, 43, 61, 32, 83, 116, 114, 105, 110, 103, 46, 102, 114, 111, 109, 67, 104, 97, 114, 67, 111, 100, 101, 40, 53, 53, 50, 57, 54, 32, 124, 32, 101, 32, 62, 62, 32, 49, 48, 44, 32, 53, 54, 51, 50, 48, 32, 124, 32, 101, 32, 38, 32, 49, 48, 50, 51, 41, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 125, 32, 101, 108, 115, 101, 32, 100, 32, 43, 61, 32, 83, 116, 114, 105, 110, 103, 46, 102, 114, 111, 109, 67, 104, 97, 114, 67, 111, 100, 101, 40, 101, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 100, 59, 10, 32, 32, 32, 32, 32, 32, 125, 59, 10, 32, 32, 32, 32, 32, 32, 99, 108, 97, 115, 115, 32, 65, 97, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 99, 111, 110, 115, 116, 114, 117, 99, 116, 111, 114, 40, 97, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 116, 104, 105, 115, 46, 121, 97, 32, 61, 32, 97, 32, 45, 32, 50, 52, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 32, 32, 118, 97, 114, 32, 66, 97, 32, 61, 32, 48, 44, 32, 67, 97, 32, 61, 32, 48, 44, 32, 68, 97, 32, 61, 32, 40, 97, 41, 32, 61, 62, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 102, 111, 114, 32, 40, 118, 97, 114, 32, 98, 32, 61, 32, 48, 44, 32, 99, 32, 61, 32, 48, 59, 32, 99, 32, 60, 32, 97, 46, 108, 101, 110, 103, 116, 104, 59, 32, 43, 43, 99, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 118, 97, 114, 32, 100, 32, 61, 32, 97, 46, 99, 104, 97, 114, 67, 111, 100, 101, 65, 116, 40, 99, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 49, 50, 55, 32, 62, 61, 32, 100, 32, 63, 32, 98, 43, 43, 32, 58, 32, 50, 48, 52, 55, 32, 62, 61, 32, 100, 32, 63, 32, 98, 32, 43, 61, 32, 50, 32, 58, 32, 53, 53, 50, 57, 54, 32, 60, 61, 32, 100, 32, 38, 38, 32, 53, 55, 51, 52, 51, 32, 62, 61, 32, 100, 32, 63, 32, 40, 98, 32, 43, 61, 32, 52, 44, 32, 43, 43, 99, 41, 32, 58, 32, 98, 32, 43, 61, 32, 51, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 98, 59, 10, 32, 32, 32, 32, 32, 32, 125, 44, 32, 69, 97, 32, 61, 32, 40, 97, 44, 32, 98, 44, 32, 99, 44, 32, 100, 41, 32, 61, 62, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 48, 32, 60, 32, 100, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 100, 32, 61, 32, 99, 32, 43, 32, 100, 32, 45, 32, 49, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 102, 111, 114, 32, 40, 118, 97, 114, 32, 101, 32, 61, 32, 48, 59, 32, 101, 32, 60, 32, 97, 46, 108, 101, 110, 103, 116, 104, 59, 32, 43, 43, 101, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 118, 97, 114, 32, 102, 32, 61, 32, 97, 46, 99, 104, 97, 114, 67, 111, 100, 101, 65, 116, 40, 101, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 53, 53, 50, 57, 54, 32, 60, 61, 32, 102, 32, 38, 38, 32, 53, 55, 51, 52, 51, 32, 62, 61, 32, 102, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 118, 97, 114, 32, 108, 32, 61, 32, 97, 46, 99, 104, 97, 114, 67, 111, 100, 101, 65, 116, 40, 43, 43, 101, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 102, 32, 61, 32, 54, 53, 53, 51, 54, 32, 43, 32, 40, 40, 102, 32, 38, 32, 49, 48, 50, 51, 41, 32, 60, 60, 32, 49, 48, 41, 32, 124, 32, 108, 32, 38, 32, 49, 48, 50, 51, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 49, 50, 55, 32, 62, 61, 32, 102, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 99, 32, 62, 61, 32, 100, 41, 32, 98, 114, 101, 97, 107, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 98, 91, 99, 43, 43, 93, 32, 61, 32, 102, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 125, 32, 101, 108, 115, 101, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 50, 48, 52, 55, 32, 62, 61, 32, 102, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 99, 32, 43, 32, 49, 32, 62, 61, 32, 100, 41, 32, 98, 114, 101, 97, 107, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 98, 91, 99, 43, 43, 93, 32, 61, 32, 49, 57, 50, 32, 124, 32, 102, 32, 62, 62, 32, 54, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 125, 32, 101, 108, 115, 101, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 54, 53, 53, 51, 53, 32, 62, 61, 32, 102, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 99, 32, 43, 32, 50, 32, 62, 61, 32, 100, 41, 32, 98, 114, 101, 97, 107, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 98, 91, 99, 43, 43, 93, 32, 61, 32, 50, 50, 52, 32, 124, 32, 102, 32, 62, 62, 32, 49, 50, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 125, 32, 101, 108, 115, 101, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 99, 32, 43, 32, 51, 32, 62, 61, 32, 100, 41, 32, 98, 114, 101, 97, 107, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 98, 91, 99, 43, 43, 93, 32, 61, 32, 50, 52, 48, 32, 124, 32, 102, 32, 62, 62, 32, 49, 56, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 98, 91, 99, 43, 43, 93, 32, 61, 32, 49, 50, 56, 32, 124, 32, 102, 32, 62, 62, 32, 49, 50, 32, 38, 32, 54, 51, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 98, 91, 99, 43, 43, 93, 32, 61, 32, 49, 50, 56, 32, 124, 32, 102, 32, 62, 62, 32, 54, 32, 38, 32, 54, 51, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 98, 91, 99, 43, 43, 93, 32, 61, 32, 49, 50, 56, 32, 124, 32, 102, 32, 38, 32, 54, 51, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 98, 91, 99, 93, 32, 61, 32, 48, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 32, 32, 125, 44, 32, 70, 97, 32, 61, 32, 123, 125, 44, 32, 71, 97, 32, 61, 32, 40, 97, 41, 32, 61, 62, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 102, 111, 114, 32, 40, 59, 32, 97, 46, 108, 101, 110, 103, 116, 104, 59, 32, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 118, 97, 114, 32, 98, 32, 61, 32, 97, 46, 112, 111, 112, 40, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 97, 46, 112, 111, 112, 40, 41, 40, 98, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 32, 32, 125, 59, 10, 32, 32, 32, 32, 32, 32, 102, 117, 110, 99, 116, 105, 111, 110, 32, 75, 40, 97, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 116, 104, 105, 115, 46, 102, 114, 111, 109, 87, 105, 114, 101, 84, 121, 112, 101, 40, 70, 91, 97, 32, 62, 62, 32, 50, 93, 41, 59, 10, 32, 32, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 32, 32, 118, 97, 114, 32, 76, 32, 61, 32, 123, 125, 44, 32, 77, 32, 61, 32, 123, 125, 44, 32, 72, 97, 32, 61, 32, 123, 125, 44, 32, 73, 97, 44, 32, 80, 32, 61, 32, 40, 97, 44, 32, 98, 44, 32, 99, 41, 32, 61, 62, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 102, 117, 110, 99, 116, 105, 111, 110, 32, 100, 40, 104, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 104, 32, 61, 32, 99, 40, 104, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 104, 46, 108, 101, 110, 103, 116, 104, 32, 33, 61, 61, 32, 97, 46, 108, 101, 110, 103, 116, 104, 41, 32, 116, 104, 114, 111, 119, 32, 110, 101, 119, 32, 73, 97, 40, 34, 77, 105, 115, 109, 97, 116, 99, 104, 101, 100, 32, 116, 121, 112, 101, 32, 99, 111, 110, 118, 101, 114, 116, 101, 114, 32, 99, 111, 117, 110, 116, 34, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 102, 111, 114, 32, 40, 118, 97, 114, 32, 110, 32, 61, 32, 48, 59, 32, 110, 32, 60, 32, 97, 46, 108, 101, 110, 103, 116, 104, 59, 32, 43, 43, 110, 41, 32, 79, 40, 97, 91, 110, 93, 44, 32, 104, 91, 110, 93, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 32, 32, 32, 32, 97, 46, 102, 111, 114, 69, 97, 99, 104, 40, 102, 117, 110, 99, 116, 105, 111, 110, 40, 104, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 72, 97, 91, 104, 93, 32, 61, 32, 98, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 118, 97, 114, 32, 101, 32, 61, 32, 65, 114, 114, 97, 121, 40, 98, 46, 108, 101, 110, 103, 116, 104, 41, 44, 32, 102, 32, 61, 32, 91, 93, 44, 32, 108, 32, 61, 32, 48, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 98, 46, 102, 111, 114, 69, 97, 99, 104, 40, 40, 104, 44, 32, 110, 41, 32, 61, 62, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 77, 46, 104, 97, 115, 79, 119, 110, 80, 114, 111, 112, 101, 114, 116, 121, 40, 104, 41, 32, 63, 32, 101, 91, 110, 93, 32, 61, 32, 77, 91, 104, 93, 32, 58, 32, 40, 102, 46, 112, 117, 115, 104, 40, 104, 41, 44, 32, 76, 46, 104, 97, 115, 79, 119, 110, 80, 114, 111, 112, 101, 114, 116, 121, 40, 104, 41, 32, 124, 124, 32, 40, 76, 91, 104, 93, 32, 61, 32, 91, 93, 41, 44, 32, 76, 91, 104, 93, 46, 112, 117, 115, 104, 40, 40, 41, 32, 61, 62, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 101, 91, 110, 93, 32, 61, 32, 77, 91, 104, 93, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 43, 43, 108, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 108, 32, 61, 61, 61, 32, 102, 46, 108, 101, 110, 103, 116, 104, 32, 38, 38, 32, 100, 40, 101, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 125, 41, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 48, 32, 61, 61, 61, 32, 102, 46, 108, 101, 110, 103, 116, 104, 32, 38, 38, 32, 100, 40, 101, 41, 59, 10, 32, 32, 32, 32, 32, 32, 125, 44, 32, 74, 97, 44, 32, 81, 32, 61, 32, 40, 97, 41, 32, 61, 62, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 102, 111, 114, 32, 40, 118, 97, 114, 32, 98, 32, 61, 32, 34, 34, 59, 32, 65, 91, 97, 93, 59, 32, 41, 32, 98, 32, 43, 61, 32, 74, 97, 91, 65, 91, 97, 43, 43, 93, 93, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 98, 59, 10, 32, 32, 32, 32, 32, 32, 125, 44, 32, 82, 59, 10, 32, 32, 32, 32, 32, 32, 102, 117, 110, 99, 116, 105, 111, 110, 32, 75, 97, 40, 97, 44, 32, 98, 44, 32, 99, 32, 61, 32, 123, 125, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 118, 97, 114, 32, 100, 32, 61, 32, 98, 46, 110, 97, 109, 101, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 33, 97, 41, 32, 116, 104, 114, 111, 119, 32, 110, 101, 119, 32, 82, 40, 96, 116, 121, 112, 101, 32, 34, 36, 123, 100, 125, 34, 32, 109, 117, 115, 116, 32, 104, 97, 118, 101, 32, 97, 32, 112, 111, 115, 105, 116, 105, 118, 101, 32, 105, 110, 116, 101, 103, 101, 114, 32, 116, 121, 112, 101, 105, 100, 32, 112, 111, 105, 110, 116, 101, 114, 96, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 77, 46, 104, 97, 115, 79, 119, 110, 80, 114, 111, 112, 101, 114, 116, 121, 40, 97, 41, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 99, 46, 105, 98, 41, 32, 114, 101, 116, 117, 114, 110, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 116, 104, 114, 111, 119, 32, 110, 101, 119, 32, 82, 40, 96, 67, 97, 110, 110, 111, 116, 32, 114, 101, 103, 105, 115, 116, 101, 114, 32, 116, 121, 112, 101, 32, 39, 36, 123, 100, 125, 39, 32, 116, 119, 105, 99, 101, 96, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 32, 32, 32, 32, 77, 91, 97, 93, 32, 61, 32, 98, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 100, 101, 108, 101, 116, 101, 32, 72, 97, 91, 97, 93, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 76, 46, 104, 97, 115, 79, 119, 110, 80, 114, 111, 112, 101, 114, 116, 121, 40, 97, 41, 32, 38, 38, 32, 40, 98, 32, 61, 32, 76, 91, 97, 93, 44, 32, 100, 101, 108, 101, 116, 101, 32, 76, 91, 97, 93, 44, 32, 98, 46, 102, 111, 114, 69, 97, 99, 104, 40, 40, 101, 41, 32, 61, 62, 32, 101, 40, 41, 41, 41, 59, 10, 32, 32, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 32, 32, 102, 117, 110, 99, 116, 105, 111, 110, 32, 79, 40, 97, 44, 32, 98, 44, 32, 99, 32, 61, 32, 123, 125, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 33, 40, 34, 97, 114, 103, 80, 97, 99, 107, 65, 100, 118, 97, 110, 99, 101, 34, 32, 105, 110, 32, 98, 41, 41, 32, 116, 104, 114, 111, 119, 32, 110, 101, 119, 32, 84, 121, 112, 101, 69, 114, 114, 111, 114, 40, 34, 114, 101, 103, 105, 115, 116, 101, 114, 84, 121, 112, 101, 32, 114, 101, 103, 105, 115, 116, 101, 114, 101, 100, 73, 110, 115, 116, 97, 110, 99, 101, 32, 114, 101, 113, 117, 105, 114, 101, 115, 32, 97, 114, 103, 80, 97, 99, 107, 65, 100, 118, 97, 110, 99, 101, 34, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 75, 97, 40, 97, 44, 32, 98, 44, 32, 99, 41, 59, 10, 32, 32, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 32, 32, 118, 97, 114, 32, 76, 97, 32, 61, 32, 40, 97, 41, 32, 61, 62, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 116, 104, 114, 111, 119, 32, 110, 101, 119, 32, 82, 40, 97, 46, 109, 97, 46, 122, 97, 46, 120, 97, 46, 110, 97, 109, 101, 32, 43, 32, 34, 32, 105, 110, 115, 116, 97, 110, 99, 101, 32, 97, 108, 114, 101, 97, 100, 121, 32, 100, 101, 108, 101, 116, 101, 100, 34, 41, 59, 10, 32, 32, 32, 32, 32, 32, 125, 44, 32, 77, 97, 32, 61, 32, 102, 97, 108, 115, 101, 44, 32, 79, 97, 32, 61, 32, 40, 41, 32, 61, 62, 32, 123, 10, 32, 32, 32, 32, 32, 32, 125, 44, 32, 80, 97, 32, 61, 32, 40, 97, 44, 32, 98, 44, 32, 99, 41, 32, 61, 62, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 98, 32, 61, 61, 61, 32, 99, 41, 32, 114, 101, 116, 117, 114, 110, 32, 97, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 118, 111, 105, 100, 32, 48, 32, 61, 61, 61, 32, 99, 46, 67, 97, 41, 32, 114, 101, 116, 117, 114, 110, 32, 110, 117, 108, 108, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 97, 32, 61, 32, 80, 97, 40, 97, 44, 32, 98, 44, 32, 99, 46, 67, 97, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 110, 117, 108, 108, 32, 61, 61, 61, 32, 97, 32, 63, 32, 110, 117, 108, 108, 32, 58, 32, 99, 46, 97, 98, 40, 97, 41, 59, 10, 32, 32, 32, 32, 32, 32, 125, 44, 32, 81, 97, 32, 61, 32, 123, 125, 44, 32, 82, 97, 32, 61, 32, 91, 93, 44, 32, 83, 97, 32, 61, 32, 40, 41, 32, 61, 62, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 102, 111, 114, 32, 40, 59, 32, 82, 97, 46, 108, 101, 110, 103, 116, 104, 59, 32, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 118, 97, 114, 32, 97, 32, 61, 32, 82, 97, 46, 112, 111, 112, 40, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 97, 46, 109, 97, 46, 75, 97, 32, 61, 32, 102, 97, 108, 115, 101, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 97, 91, 34, 100, 101, 108, 101, 116, 101, 34, 93, 40, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 32, 32, 125, 44, 32, 84, 97, 44, 32, 85, 97, 32, 61, 32, 123, 125, 44, 32, 86, 97, 32, 61, 32, 40, 97, 44, 32, 98, 41, 32, 61, 62, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 118, 111, 105, 100, 32, 48, 32, 61, 61, 61, 32, 98, 41, 32, 116, 104, 114, 111, 119, 32, 110, 101, 119, 32, 82, 40, 34, 112, 116, 114, 32, 115, 104, 111, 117, 108, 100, 32, 110, 111, 116, 32, 98, 101, 32, 117, 110, 100, 101, 102, 105, 110, 101, 100, 34, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 102, 111, 114, 32, 40, 59, 32, 97, 46, 67, 97, 59, 32, 41, 32, 98, 32, 61, 32, 97, 46, 78, 97, 40, 98, 41, 44, 32, 97, 32, 61, 32, 97, 46, 67, 97, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 85, 97, 91, 98, 93, 59, 10, 32, 32, 32, 32, 32, 32, 125, 44, 32, 88, 97, 32, 61, 32, 40, 97, 44, 32, 98, 41, 32, 61, 62, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 33, 98, 46, 122, 97, 32, 124, 124, 32, 33, 98, 46, 121, 97, 41, 32, 116, 104, 114, 111, 119, 32, 110, 101, 119, 32, 73, 97, 40, 34, 109, 97, 107, 101, 67, 108, 97, 115, 115, 72, 97, 110, 100, 108, 101, 32, 114, 101, 113, 117, 105, 114, 101, 115, 32, 112, 116, 114, 32, 97, 110, 100, 32, 112, 116, 114, 84, 121, 112, 101, 34, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 33, 33, 98, 46, 68, 97, 32, 33, 61, 61, 32, 33, 33, 98, 46, 65, 97, 41, 32, 116, 104, 114, 111, 119, 32, 110, 101, 119, 32, 73, 97, 40, 34, 66, 111, 116, 104, 32, 115, 109, 97, 114, 116, 80, 116, 114, 84, 121, 112, 101, 32, 97, 110, 100, 32, 115, 109, 97, 114, 116, 80, 116, 114, 32, 109, 117, 115, 116, 32, 98, 101, 32, 115, 112, 101, 99, 105, 102, 105, 101, 100, 34, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 98, 46, 99, 111, 117, 110, 116, 32, 61, 32, 123, 32, 118, 97, 108, 117, 101, 58, 32, 49, 32, 125, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 87, 97, 40, 79, 98, 106, 101, 99, 116, 46, 99, 114, 101, 97, 116, 101, 40, 97, 44, 32, 123, 32, 109, 97, 58, 32, 123, 32, 118, 97, 108, 117, 101, 58, 32, 98, 44, 32, 119, 114, 105, 116, 97, 98, 108, 101, 58, 32, 116, 114, 117, 101, 32, 125, 32, 125, 41, 41, 59, 10, 32, 32, 32, 32, 32, 32, 125, 44, 32, 87, 97, 32, 61, 32, 40, 97, 41, 32, 61, 62, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 34, 117, 110, 100, 101, 102, 105, 110, 101, 100, 34, 32, 61, 61, 61, 32, 116, 121, 112, 101, 111, 102, 32, 70, 105, 110, 97, 108, 105, 122, 97, 116, 105, 111, 110, 82, 101, 103, 105, 115, 116, 114, 121, 41, 32, 114, 101, 116, 117, 114, 110, 32, 87, 97, 32, 61, 32, 40, 98, 41, 32, 61, 62, 32, 98, 44, 32, 97, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 77, 97, 32, 61, 32, 110, 101, 119, 32, 70, 105, 110, 97, 108, 105, 122, 97, 116, 105, 111, 110, 82, 101, 103, 105, 115, 116, 114, 121, 40, 40, 98, 41, 32, 61, 62, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 98, 32, 61, 32, 98, 46, 109, 97, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 45, 45, 98, 46, 99, 111, 117, 110, 116, 46, 118, 97, 108, 117, 101, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 48, 32, 61, 61, 61, 32, 98, 46, 99, 111, 117, 110, 116, 46, 118, 97, 108, 117, 101, 32, 38, 38, 32, 40, 98, 46, 65, 97, 32, 63, 32, 98, 46, 68, 97, 46, 70, 97, 40, 98, 46, 65, 97, 41, 32, 58, 32, 98, 46, 122, 97, 46, 120, 97, 46, 70, 97, 40, 98, 46, 121, 97, 41, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 87, 97, 32, 61, 32, 40, 98, 41, 32, 61, 62, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 118, 97, 114, 32, 99, 32, 61, 32, 98, 46, 109, 97, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 99, 46, 65, 97, 32, 38, 38, 32, 77, 97, 46, 114, 101, 103, 105, 115, 116, 101, 114, 40, 98, 44, 32, 123, 32, 109, 97, 58, 32, 99, 32, 125, 44, 32, 98, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 98, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 79, 97, 32, 61, 32, 40, 98, 41, 32, 61, 62, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 77, 97, 46, 117, 110, 114, 101, 103, 105, 115, 116, 101, 114, 40, 98, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 87, 97, 40, 97, 41, 59, 10, 32, 32, 32, 32, 32, 32, 125, 59, 10, 32, 32, 32, 32, 32, 32, 102, 117, 110, 99, 116, 105, 111, 110, 32, 89, 97, 40, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 32, 32, 118, 97, 114, 32, 90, 97, 32, 61, 32, 40, 97, 44, 32, 98, 41, 32, 61, 62, 32, 79, 98, 106, 101, 99, 116, 46, 100, 101, 102, 105, 110, 101, 80, 114, 111, 112, 101, 114, 116, 121, 40, 98, 44, 32, 34, 110, 97, 109, 101, 34, 44, 32, 123, 32, 118, 97, 108, 117, 101, 58, 32, 97, 32, 125, 41, 44, 32, 36, 97, 32, 61, 32, 40, 97, 44, 32, 98, 44, 32, 99, 41, 32, 61, 62, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 118, 111, 105, 100, 32, 48, 32, 61, 61, 61, 32, 97, 91, 98, 93, 46, 66, 97, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 118, 97, 114, 32, 100, 32, 61, 32, 97, 91, 98, 93, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 97, 91, 98, 93, 32, 61, 32, 102, 117, 110, 99, 116, 105, 111, 110, 40, 46, 46, 46, 101, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 33, 97, 91, 98, 93, 46, 66, 97, 46, 104, 97, 115, 79, 119, 110, 80, 114, 111, 112, 101, 114, 116, 121, 40, 101, 46, 108, 101, 110, 103, 116, 104, 41, 41, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 116, 104, 114, 111, 119, 32, 110, 101, 119, 32, 82, 40, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 96, 70, 117, 110, 99, 116, 105, 111, 110, 32, 39, 36, 123, 99, 125, 39, 32, 99, 97, 108, 108, 101, 100, 32, 119, 105, 116, 104, 32, 97, 110, 32, 105, 110, 118, 97, 108, 105, 100, 32, 110, 117, 109, 98, 101, 114, 32, 111, 102, 32, 97, 114, 103, 117, 109, 101, 110, 116, 115, 32, 40, 36, 123, 101, 46, 108, 101, 110, 103, 116, 104, 125, 41, 32, 45, 32, 101, 120, 112, 101, 99, 116, 115, 32, 111, 110, 101, 32, 111, 102, 32, 40, 36, 123, 97, 91, 98, 93, 46, 66, 97, 125, 41, 33, 96, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 97, 91, 98, 93, 46, 66, 97, 91, 101, 46, 108, 101, 110, 103, 116, 104, 93, 46, 97, 112, 112, 108, 121, 40, 116, 104, 105, 115, 44, 32, 101, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 125, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 97, 91, 98, 93, 46, 66, 97, 32, 61, 32, 91, 93, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 97, 91, 98, 93, 46, 66, 97, 91, 100, 46, 79, 97, 93, 32, 61, 32, 100, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 32, 32, 125, 44, 32, 97, 98, 32, 61, 32, 40, 97, 44, 32, 98, 44, 32, 99, 41, 32, 61, 62, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 107, 46, 104, 97, 115, 79, 119, 110, 80, 114, 111, 112, 101, 114, 116, 121, 40, 97, 41, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 118, 111, 105, 100, 32, 48, 32, 61, 61, 61, 32, 99, 32, 124, 124, 32, 118, 111, 105, 100, 32, 48, 32, 33, 61, 61, 32, 107, 91, 97, 93, 46, 66, 97, 32, 38, 38, 32, 118, 111, 105, 100, 32, 48, 32, 33, 61, 61, 32, 107, 91, 97, 93, 46, 66, 97, 91, 99, 93, 41, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 116, 104, 114, 111, 119, 32, 110, 101, 119, 32, 82, 40, 96, 67, 97, 110, 110, 111, 116, 32, 114, 101, 103, 105, 115, 116, 101, 114, 32, 112, 117, 98, 108, 105, 99, 32, 110, 97, 109, 101, 32, 39, 36, 123, 97, 125, 39, 32, 116, 119, 105, 99, 101, 96, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 36, 97, 40, 107, 44, 32, 97, 44, 32, 97, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 107, 46, 104, 97, 115, 79, 119, 110, 80, 114, 111, 112, 101, 114, 116, 121, 40, 99, 41, 41, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 116, 104, 114, 111, 119, 32, 110, 101, 119, 32, 82, 40, 96, 67, 97, 110, 110, 111, 116, 32, 114, 101, 103, 105, 115, 116, 101, 114, 32, 109, 117, 108, 116, 105, 112, 108, 101, 32, 111, 118, 101, 114, 108, 111, 97, 100, 115, 32, 111, 102, 32, 97, 32, 102, 117, 110, 99, 116, 105, 111, 110, 32, 119, 105, 116, 104, 32, 116, 104, 101, 32, 115, 97, 109, 101, 32, 110, 117, 109, 98, 101, 114, 32, 111, 102, 32, 97, 114, 103, 117, 109, 101, 110, 116, 115, 32, 40, 36, 123, 99, 125, 41, 33, 96, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 107, 91, 97, 93, 46, 66, 97, 91, 99, 93, 32, 61, 32, 98, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 32, 101, 108, 115, 101, 32, 107, 91, 97, 93, 32, 61, 32, 98, 44, 32, 118, 111, 105, 100, 32, 48, 32, 33, 61, 61, 32, 99, 32, 38, 38, 32, 40, 107, 91, 97, 93, 46, 118, 98, 32, 61, 32, 99, 41, 59, 10, 32, 32, 32, 32, 32, 32, 125, 44, 32, 98, 98, 32, 61, 32, 40, 97, 41, 32, 61, 62, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 118, 111, 105, 100, 32, 48, 32, 61, 61, 61, 32, 97, 41, 32, 114, 101, 116, 117, 114, 110, 32, 34, 95, 117, 110, 107, 110, 111, 119, 110, 34, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 97, 32, 61, 32, 97, 46, 114, 101, 112, 108, 97, 99, 101, 40, 47, 91, 94, 97, 45, 122, 65, 45, 90, 48, 45, 57, 95, 93, 47, 103, 44, 32, 34, 36, 34, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 118, 97, 114, 32, 98, 32, 61, 32, 97, 46, 99, 104, 97, 114, 67, 111, 100, 101, 65, 116, 40, 48, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 52, 56, 32, 60, 61, 32, 98, 32, 38, 38, 32, 53, 55, 32, 62, 61, 32, 98, 32, 63, 32, 96, 95, 36, 123, 97, 125, 96, 32, 58, 32, 97, 59, 10, 32, 32, 32, 32, 32, 32, 125, 59, 10, 32, 32, 32, 32, 32, 32, 102, 117, 110, 99, 116, 105, 111, 110, 32, 99, 98, 40, 97, 44, 32, 98, 44, 32, 99, 44, 32, 100, 44, 32, 101, 44, 32, 102, 44, 32, 108, 44, 32, 104, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 116, 104, 105, 115, 46, 110, 97, 109, 101, 32, 61, 32, 97, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 116, 104, 105, 115, 46, 99, 111, 110, 115, 116, 114, 117, 99, 116, 111, 114, 32, 61, 32, 98, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 116, 104, 105, 115, 46, 76, 97, 32, 61, 32, 99, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 116, 104, 105, 115, 46, 70, 97, 32, 61, 32, 100, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 116, 104, 105, 115, 46, 67, 97, 32, 61, 32, 101, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 116, 104, 105, 115, 46, 99, 98, 32, 61, 32, 102, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 116, 104, 105, 115, 46, 78, 97, 32, 61, 32, 108, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 116, 104, 105, 115, 46, 97, 98, 32, 61, 32, 104, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 116, 104, 105, 115, 46, 107, 98, 32, 61, 32, 91, 93, 59, 10, 32, 32, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 32, 32, 118, 97, 114, 32, 100, 98, 32, 61, 32, 40, 97, 44, 32, 98, 44, 32, 99, 41, 32, 61, 62, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 102, 111, 114, 32, 40, 59, 32, 98, 32, 33, 61, 61, 32, 99, 59, 32, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 33, 98, 46, 78, 97, 41, 32, 116, 104, 114, 111, 119, 32, 110, 101, 119, 32, 82, 40, 96, 69, 120, 112, 101, 99, 116, 101, 100, 32, 110, 117, 108, 108, 32, 111, 114, 32, 105, 110, 115, 116, 97, 110, 99, 101, 32, 111, 102, 32, 36, 123, 99, 46, 110, 97, 109, 101, 125, 44, 32, 103, 111, 116, 32, 97, 110, 32, 105, 110, 115, 116, 97, 110, 99, 101, 32, 111, 102, 32, 36, 123, 98, 46, 110, 97, 109, 101, 125, 96, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 97, 32, 61, 32, 98, 46, 78, 97, 40, 97, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 98, 32, 61, 32, 98, 46, 67, 97, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 97, 59, 10, 32, 32, 32, 32, 32, 32, 125, 59, 10, 32, 32, 32, 32, 32, 32, 102, 117, 110, 99, 116, 105, 111, 110, 32, 101, 98, 40, 97, 44, 32, 98, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 110, 117, 108, 108, 32, 61, 61, 61, 32, 98, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 116, 104, 105, 115, 46, 84, 97, 41, 32, 116, 104, 114, 111, 119, 32, 110, 101, 119, 32, 82, 40, 96, 110, 117, 108, 108, 32, 105, 115, 32, 110, 111, 116, 32, 97, 32, 118, 97, 108, 105, 100, 32, 36, 123, 116, 104, 105, 115, 46, 110, 97, 109, 101, 125, 96, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 48, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 33, 98, 46, 109, 97, 41, 32, 116, 104, 114, 111, 119, 32, 110, 101, 119, 32, 82, 40, 96, 67, 97, 110, 110, 111, 116, 32, 112, 97, 115, 115, 32, 34, 36, 123, 102, 98, 40, 98, 41, 125, 34, 32, 97, 115, 32, 97, 32, 36, 123, 116, 104, 105, 115, 46, 110, 97, 109, 101, 125, 96, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 33, 98, 46, 109, 97, 46, 121, 97, 41, 32, 116, 104, 114, 111, 119, 32, 110, 101, 119, 32, 82, 40, 96, 67, 97, 110, 110, 111, 116, 32, 112, 97, 115, 115, 32, 100, 101, 108, 101, 116, 101, 100, 32, 111, 98, 106, 101, 99, 116, 32, 97, 115, 32, 97, 32, 112, 111, 105, 110, 116, 101, 114, 32, 111, 102, 32, 116, 121, 112, 101, 32, 36, 123, 116, 104, 105, 115, 46, 110, 97, 109, 101, 125, 96, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 100, 98, 40, 98, 46, 109, 97, 46, 121, 97, 44, 32, 98, 46, 109, 97, 46, 122, 97, 46, 120, 97, 44, 32, 116, 104, 105, 115, 46, 120, 97, 41, 59, 10, 32, 32, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 32, 32, 102, 117, 110, 99, 116, 105, 111, 110, 32, 103, 98, 40, 97, 44, 32, 98, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 110, 117, 108, 108, 32, 61, 61, 61, 32, 98, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 116, 104, 105, 115, 46, 84, 97, 41, 32, 116, 104, 114, 111, 119, 32, 110, 101, 119, 32, 82, 40, 96, 110, 117, 108, 108, 32, 105, 115, 32, 110, 111, 116, 32, 97, 32, 118, 97, 108, 105, 100, 32, 36, 123, 116, 104, 105, 115, 46, 110, 97, 109, 101, 125, 96, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 116, 104, 105, 115, 46, 81, 97, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 118, 97, 114, 32, 99, 32, 61, 32, 116, 104, 105, 115, 46, 85, 97, 40, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 110, 117, 108, 108, 32, 33, 61, 61, 32, 97, 32, 38, 38, 32, 97, 46, 112, 117, 115, 104, 40, 116, 104, 105, 115, 46, 70, 97, 44, 32, 99, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 99, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 48, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 33, 98, 32, 124, 124, 32, 33, 98, 46, 109, 97, 41, 32, 116, 104, 114, 111, 119, 32, 110, 101, 119, 32, 82, 40, 96, 67, 97, 110, 110, 111, 116, 32, 112, 97, 115, 115, 32, 34, 36, 123, 102, 98, 40, 98, 41, 125, 34, 32, 97, 115, 32, 97, 32, 36, 123, 116, 104, 105, 115, 46, 110, 97, 109, 101, 125, 96, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 33, 98, 46, 109, 97, 46, 121, 97, 41, 32, 116, 104, 114, 111, 119, 32, 110, 101, 119, 32, 82, 40, 96, 67, 97, 110, 110, 111, 116, 32, 112, 97, 115, 115, 32, 100, 101, 108, 101, 116, 101, 100, 32, 111, 98, 106, 101, 99, 116, 32, 97, 115, 32, 97, 32, 112, 111, 105, 110, 116, 101, 114, 32, 111, 102, 32, 116, 121, 112, 101, 32, 36, 123, 116, 104, 105, 115, 46, 110, 97, 109, 101, 125, 96, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 33, 116, 104, 105, 115, 46, 80, 97, 32, 38, 38, 32, 98, 46, 109, 97, 46, 122, 97, 46, 80, 97, 41, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 116, 104, 114, 111, 119, 32, 110, 101, 119, 32, 82, 40, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 96, 67, 97, 110, 110, 111, 116, 32, 99, 111, 110, 118, 101, 114, 116, 32, 97, 114, 103, 117, 109, 101, 110, 116, 32, 111, 102, 32, 116, 121, 112, 101, 32, 36, 123, 98, 46, 109, 97, 46, 68, 97, 32, 63, 32, 98, 46, 109, 97, 46, 68, 97, 46, 110, 97, 109, 101, 32, 58, 32, 98, 46, 109, 97, 46, 122, 97, 46, 110, 97, 109, 101, 125, 32, 116, 111, 32, 112, 97, 114, 97, 109, 101, 116, 101, 114, 32, 116, 121, 112, 101, 32, 36, 123, 116, 104, 105, 115, 46, 110, 97, 109, 101, 125, 96, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 99, 32, 61, 32, 100, 98, 40, 98, 46, 109, 97, 46, 121, 97, 44, 32, 98, 46, 109, 97, 46, 122, 97, 46, 120, 97, 44, 32, 116, 104, 105, 115, 46, 120, 97, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 116, 104, 105, 115, 46, 81, 97, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 118, 111, 105, 100, 32, 48, 32, 61, 61, 61, 32, 98, 46, 109, 97, 46, 65, 97, 41, 32, 116, 104, 114, 111, 119, 32, 110, 101, 119, 32, 82, 40, 34, 80, 97, 115, 115, 105, 110, 103, 32, 114, 97, 119, 32, 112, 111, 105, 110, 116, 101, 114, 32, 116, 111, 32, 115, 109, 97, 114, 116, 32, 112, 111, 105, 110, 116, 101, 114, 32, 105, 115, 32, 105, 108, 108, 101, 103, 97, 108, 34, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 115, 119, 105, 116, 99, 104, 32, 40, 116, 104, 105, 115, 46, 112, 98, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 99, 97, 115, 101, 32, 48, 58, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 98, 46, 109, 97, 46, 68, 97, 32, 61, 61, 61, 32, 116, 104, 105, 115, 41, 32, 99, 32, 61, 32, 98, 46, 109, 97, 46, 65, 97, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 101, 108, 115, 101, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 116, 104, 114, 111, 119, 32, 110, 101, 119, 32, 82, 40, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 96, 67, 97, 110, 110, 111, 116, 32, 99, 111, 110, 118, 101, 114, 116, 32, 97, 114, 103, 117, 109, 101, 110, 116, 32, 111, 102, 32, 116, 121, 112, 101, 32, 36, 123, 98, 46, 109, 97, 46, 68, 97, 32, 63, 32, 98, 46, 109, 97, 46, 68, 97, 46, 110, 97, 109, 101, 32, 58, 32, 98, 46, 109, 97, 46, 122, 97, 46, 110, 97, 109, 101, 125, 32, 116, 111, 32, 112, 97, 114, 97, 109, 101, 116, 101, 114, 32, 116, 121, 112, 101, 32, 36, 123, 116, 104, 105, 115, 46, 110, 97, 109, 101, 125, 96, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 98, 114, 101, 97, 107, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 99, 97, 115, 101, 32, 49, 58, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 99, 32, 61, 32, 98, 46, 109, 97, 46, 65, 97, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 98, 114, 101, 97, 107, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 99, 97, 115, 101, 32, 50, 58, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 98, 46, 109, 97, 46, 68, 97, 32, 61, 61, 61, 32, 116, 104, 105, 115, 41, 32, 99, 32, 61, 32, 98, 46, 109, 97, 46, 65, 97, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 101, 108, 115, 101, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 118, 97, 114, 32, 100, 32, 61, 32, 98, 46, 99, 108, 111, 110, 101, 40, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 99, 32, 61, 32, 116, 104, 105, 115, 46, 108, 98, 40, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 99, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 104, 98, 40, 40, 41, 32, 61, 62, 32, 100, 91, 34, 100, 101, 108, 101, 116, 101, 34, 93, 40, 41, 41, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 110, 117, 108, 108, 32, 33, 61, 61, 32, 97, 32, 38, 38, 32, 97, 46, 112, 117, 115, 104, 40, 116, 104, 105, 115, 46, 70, 97, 44, 32, 99, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 98, 114, 101, 97, 107, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 100, 101, 102, 97, 117, 108, 116, 58, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 116, 104, 114, 111, 119, 32, 110, 101, 119, 32, 82, 40, 34, 85, 110, 115, 117, 112, 112, 111, 114, 116, 105, 110, 103, 32, 115, 104, 97, 114, 105, 110, 103, 32, 112, 111, 108, 105, 99, 121, 34, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 99, 59, 10, 32, 32, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 32, 32, 102, 117, 110, 99, 116, 105, 111, 110, 32, 105, 98, 40, 97, 44, 32, 98, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 110, 117, 108, 108, 32, 61, 61, 61, 32, 98, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 116, 104, 105, 115, 46, 84, 97, 41, 32, 116, 104, 114, 111, 119, 32, 110, 101, 119, 32, 82, 40, 96, 110, 117, 108, 108, 32, 105, 115, 32, 110, 111, 116, 32, 97, 32, 118, 97, 108, 105, 100, 32, 36, 123, 116, 104, 105, 115, 46, 110, 97, 109, 101, 125, 96, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 48, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 33, 98, 46, 109, 97, 41, 32, 116, 104, 114, 111, 119, 32, 110, 101, 119, 32, 82, 40, 96, 67, 97, 110, 110, 111, 116, 32, 112, 97, 115, 115, 32, 34, 36, 123, 102, 98, 40, 98, 41, 125, 34, 32, 97, 115, 32, 97, 32, 36, 123, 116, 104, 105, 115, 46, 110, 97, 109, 101, 125, 96, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 33, 98, 46, 109, 97, 46, 121, 97, 41, 32, 116, 104, 114, 111, 119, 32, 110, 101, 119, 32, 82, 40, 96, 67, 97, 110, 110, 111, 116, 32, 112, 97, 115, 115, 32, 100, 101, 108, 101, 116, 101, 100, 32, 111, 98, 106, 101, 99, 116, 32, 97, 115, 32, 97, 32, 112, 111, 105, 110, 116, 101, 114, 32, 111, 102, 32, 116, 121, 112, 101, 32, 36, 123, 116, 104, 105, 115, 46, 110, 97, 109, 101, 125, 96, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 98, 46, 109, 97, 46, 122, 97, 46, 80, 97, 41, 32, 116, 104, 114, 111, 119, 32, 110, 101, 119, 32, 82, 40, 96, 67, 97, 110, 110, 111, 116, 32, 99, 111, 110, 118, 101, 114, 116, 32, 97, 114, 103, 117, 109, 101, 110, 116, 32, 111, 102, 32, 116, 121, 112, 101, 32, 36, 123, 98, 46, 109, 97, 46, 122, 97, 46, 110, 97, 109, 101, 125, 32, 116, 111, 32, 112, 97, 114, 97, 109, 101, 116, 101, 114, 32, 116, 121, 112, 101, 32, 36, 123, 116, 104, 105, 115, 46, 110, 97, 109, 101, 125, 96, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 100, 98, 40, 98, 46, 109, 97, 46, 121, 97, 44, 32, 98, 46, 109, 97, 46, 122, 97, 46, 120, 97, 44, 32, 116, 104, 105, 115, 46, 120, 97, 41, 59, 10, 32, 32, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 32, 32, 102, 117, 110, 99, 116, 105, 111, 110, 32, 106, 98, 40, 97, 44, 32, 98, 44, 32, 99, 44, 32, 100, 44, 32, 101, 44, 32, 102, 44, 32, 108, 44, 32, 104, 44, 32, 110, 44, 32, 109, 44, 32, 112, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 116, 104, 105, 115, 46, 110, 97, 109, 101, 32, 61, 32, 97, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 116, 104, 105, 115, 46, 120, 97, 32, 61, 32, 98, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 116, 104, 105, 115, 46, 84, 97, 32, 61, 32, 99, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 116, 104, 105, 115, 46, 80, 97, 32, 61, 32, 100, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 116, 104, 105, 115, 46, 81, 97, 32, 61, 32, 101, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 116, 104, 105, 115, 46, 106, 98, 32, 61, 32, 102, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 116, 104, 105, 115, 46, 112, 98, 32, 61, 32, 108, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 116, 104, 105, 115, 46, 90, 97, 32, 61, 32, 104, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 116, 104, 105, 115, 46, 85, 97, 32, 61, 32, 110, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 116, 104, 105, 115, 46, 108, 98, 32, 61, 32, 109, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 116, 104, 105, 115, 46, 70, 97, 32, 61, 32, 112, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 101, 32, 124, 124, 32, 118, 111, 105, 100, 32, 48, 32, 33, 61, 61, 32, 98, 46, 67, 97, 32, 63, 32, 116, 104, 105, 115, 46, 116, 111, 87, 105, 114, 101, 84, 121, 112, 101, 32, 61, 32, 103, 98, 32, 58, 32, 40, 116, 104, 105, 115, 46, 116, 111, 87, 105, 114, 101, 84, 121, 112, 101, 32, 61, 32, 100, 32, 63, 32, 101, 98, 32, 58, 32, 105, 98, 44, 32, 116, 104, 105, 115, 46, 69, 97, 32, 61, 32, 110, 117, 108, 108, 41, 59, 10, 32, 32, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 32, 32, 118, 97, 114, 32, 107, 98, 32, 61, 32, 40, 97, 44, 32, 98, 44, 32, 99, 41, 32, 61, 62, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 33, 107, 46, 104, 97, 115, 79, 119, 110, 80, 114, 111, 112, 101, 114, 116, 121, 40, 97, 41, 41, 32, 116, 104, 114, 111, 119, 32, 110, 101, 119, 32, 73, 97, 40, 34, 82, 101, 112, 108, 97, 99, 105, 110, 103, 32, 110, 111, 110, 101, 120, 105, 115, 116, 101, 110, 116, 32, 112, 117, 98, 108, 105, 99, 32, 115, 121, 109, 98, 111, 108, 34, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 118, 111, 105, 100, 32, 48, 32, 33, 61, 61, 32, 107, 91, 97, 93, 46, 66, 97, 32, 38, 38, 32, 118, 111, 105, 100, 32, 48, 32, 33, 61, 61, 32, 99, 32, 63, 32, 107, 91, 97, 93, 46, 66, 97, 91, 99, 93, 32, 61, 32, 98, 32, 58, 32, 40, 107, 91, 97, 93, 32, 61, 32, 98, 44, 32, 107, 91, 97, 93, 46, 79, 97, 32, 61, 32, 99, 41, 59, 10, 32, 32, 32, 32, 32, 32, 125, 44, 32, 83, 44, 32, 108, 98, 32, 61, 32, 40, 97, 44, 32, 98, 44, 32, 99, 32, 61, 32, 91, 93, 41, 32, 61, 62, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 97, 46, 105, 110, 99, 108, 117, 100, 101, 115, 40, 34, 106, 34, 41, 32, 63, 32, 40, 97, 32, 61, 32, 97, 46, 114, 101, 112, 108, 97, 99, 101, 40, 47, 112, 47, 103, 44, 32, 34, 105, 34, 41, 44, 32, 98, 32, 61, 32, 40, 48, 44, 32, 107, 91, 34, 100, 121, 110, 67, 97, 108, 108, 95, 34, 32, 43, 32, 97, 93, 41, 40, 98, 44, 32, 46, 46, 46, 99, 41, 41, 32, 58, 32, 98, 32, 61, 32, 83, 46, 103, 101, 116, 40, 98, 41, 40, 46, 46, 46, 99, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 98, 59, 10, 32, 32, 32, 32, 32, 32, 125, 44, 32, 109, 98, 32, 61, 32, 40, 97, 44, 32, 98, 41, 32, 61, 62, 32, 40, 46, 46, 46, 99, 41, 32, 61, 62, 32, 108, 98, 40, 97, 44, 32, 98, 44, 32, 99, 41, 44, 32, 84, 32, 61, 32, 40, 97, 44, 32, 98, 41, 32, 61, 62, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 97, 32, 61, 32, 81, 40, 97, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 118, 97, 114, 32, 99, 32, 61, 32, 97, 46, 105, 110, 99, 108, 117, 100, 101, 115, 40, 34, 106, 34, 41, 32, 63, 32, 109, 98, 40, 97, 44, 32, 98, 41, 32, 58, 32, 83, 46, 103, 101, 116, 40, 98, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 34, 102, 117, 110, 99, 116, 105, 111, 110, 34, 32, 33, 61, 32, 116, 121, 112, 101, 111, 102, 32, 99, 41, 32, 116, 104, 114, 111, 119, 32, 110, 101, 119, 32, 82, 40, 96, 117, 110, 107, 110, 111, 119, 110, 32, 102, 117, 110, 99, 116, 105, 111, 110, 32, 112, 111, 105, 110, 116, 101, 114, 32, 119, 105, 116, 104, 32, 115, 105, 103, 110, 97, 116, 117, 114, 101, 32, 36, 123, 97, 125, 58, 32, 36, 123, 98, 125, 96, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 99, 59, 10, 32, 32, 32, 32, 32, 32, 125, 44, 32, 110, 98, 44, 32, 112, 98, 32, 61, 32, 40, 97, 41, 32, 61, 62, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 97, 32, 61, 32, 111, 98, 40, 97, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 118, 97, 114, 32, 98, 32, 61, 32, 81, 40, 97, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 85, 40, 97, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 98, 59, 10, 32, 32, 32, 32, 32, 32, 125, 44, 32, 113, 98, 32, 61, 32, 40, 97, 44, 32, 98, 41, 32, 61, 62, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 102, 117, 110, 99, 116, 105, 111, 110, 32, 99, 40, 102, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 101, 91, 102, 93, 32, 124, 124, 32, 77, 91, 102, 93, 32, 124, 124, 32, 40, 72, 97, 91, 102, 93, 32, 63, 32, 72, 97, 91, 102, 93, 46, 102, 111, 114, 69, 97, 99, 104, 40, 99, 41, 32, 58, 32, 40, 100, 46, 112, 117, 115, 104, 40, 102, 41, 44, 32, 101, 91, 102, 93, 32, 61, 32, 116, 114, 117, 101, 41, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 32, 32, 32, 32, 118, 97, 114, 32, 100, 32, 61, 32, 91, 93, 44, 32, 101, 32, 61, 32, 123, 125, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 98, 46, 102, 111, 114, 69, 97, 99, 104, 40, 99, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 116, 104, 114, 111, 119, 32, 110, 101, 119, 32, 110, 98, 40, 96, 36, 123, 97, 125, 58, 32, 96, 32, 43, 32, 100, 46, 109, 97, 112, 40, 112, 98, 41, 46, 106, 111, 105, 110, 40, 91, 34, 44, 32, 34, 93, 41, 41, 59, 10, 32, 32, 32, 32, 32, 32, 125, 44, 32, 114, 98, 32, 61, 32, 40, 97, 44, 32, 98, 41, 32, 61, 62, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 102, 111, 114, 32, 40, 118, 97, 114, 32, 99, 32, 61, 32, 91, 93, 44, 32, 100, 32, 61, 32, 48, 59, 32, 100, 32, 60, 32, 97, 59, 32, 100, 43, 43, 41, 32, 99, 46, 112, 117, 115, 104, 40, 70, 91, 98, 32, 43, 32, 52, 32, 42, 32, 100, 32, 62, 62, 32, 50, 93, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 99, 59, 10, 32, 32, 32, 32, 32, 32, 125, 59, 10, 32, 32, 32, 32, 32, 32, 102, 117, 110, 99, 116, 105, 111, 110, 32, 115, 98, 40, 97, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 102, 111, 114, 32, 40, 118, 97, 114, 32, 98, 32, 61, 32, 49, 59, 32, 98, 32, 60, 32, 97, 46, 108, 101, 110, 103, 116, 104, 59, 32, 43, 43, 98, 41, 32, 105, 102, 32, 40, 110, 117, 108, 108, 32, 33, 61, 61, 32, 97, 91, 98, 93, 32, 38, 38, 32, 118, 111, 105, 100, 32, 48, 32, 61, 61, 61, 32, 97, 91, 98, 93, 46, 69, 97, 41, 32, 114, 101, 116, 117, 114, 110, 32, 116, 114, 117, 101, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 102, 97, 108, 115, 101, 59, 10, 32, 32, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 32, 32, 102, 117, 110, 99, 116, 105, 111, 110, 32, 116, 98, 40, 97, 44, 32, 98, 44, 32, 99, 44, 32, 100, 44, 32, 101, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 118, 97, 114, 32, 102, 32, 61, 32, 98, 46, 108, 101, 110, 103, 116, 104, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 50, 32, 62, 32, 102, 41, 32, 116, 104, 114, 111, 119, 32, 110, 101, 119, 32, 82, 40, 34, 97, 114, 103, 84, 121, 112, 101, 115, 32, 97, 114, 114, 97, 121, 32, 115, 105, 122, 101, 32, 109, 105, 115, 109, 97, 116, 99, 104, 33, 32, 77, 117, 115, 116, 32, 97, 116, 32, 108, 101, 97, 115, 116, 32, 103, 101, 116, 32, 114, 101, 116, 117, 114, 110, 32, 118, 97, 108, 117, 101, 32, 97, 110, 100, 32, 39, 116, 104, 105, 115, 39, 32, 116, 121, 112, 101, 115, 33, 34, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 118, 97, 114, 32, 108, 32, 61, 32, 110, 117, 108, 108, 32, 33, 61, 61, 32, 98, 91, 49, 93, 32, 38, 38, 32, 110, 117, 108, 108, 32, 33, 61, 61, 32, 99, 44, 32, 104, 32, 61, 32, 115, 98, 40, 98, 41, 44, 32, 110, 32, 61, 32, 34, 118, 111, 105, 100, 34, 32, 33, 61, 61, 32, 98, 91, 48, 93, 46, 110, 97, 109, 101, 44, 32, 109, 32, 61, 32, 102, 32, 45, 32, 50, 44, 32, 112, 32, 61, 32, 65, 114, 114, 97, 121, 40, 109, 41, 44, 32, 117, 32, 61, 32, 91, 93, 44, 32, 118, 32, 61, 32, 91, 93, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 90, 97, 40, 97, 44, 32, 102, 117, 110, 99, 116, 105, 111, 110, 40, 46, 46, 46, 103, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 103, 46, 108, 101, 110, 103, 116, 104, 32, 33, 61, 61, 32, 109, 41, 32, 116, 104, 114, 111, 119, 32, 110, 101, 119, 32, 82, 40, 96, 102, 117, 110, 99, 116, 105, 111, 110, 32, 36, 123, 97, 125, 32, 99, 97, 108, 108, 101, 100, 32, 119, 105, 116, 104, 32, 36, 123, 103, 46, 108, 101, 110, 103, 116, 104, 125, 32, 97, 114, 103, 117, 109, 101, 110, 116, 115, 44, 32, 101, 120, 112, 101, 99, 116, 101, 100, 32, 36, 123, 109, 125, 96, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 118, 46, 108, 101, 110, 103, 116, 104, 32, 61, 32, 48, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 117, 46, 108, 101, 110, 103, 116, 104, 32, 61, 32, 108, 32, 63, 32, 50, 32, 58, 32, 49, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 117, 91, 48, 93, 32, 61, 32, 101, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 108, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 118, 97, 114, 32, 113, 32, 61, 32, 98, 91, 49, 93, 46, 116, 111, 87, 105, 114, 101, 84, 121, 112, 101, 40, 118, 44, 32, 116, 104, 105, 115, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 117, 91, 49, 93, 32, 61, 32, 113, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 102, 111, 114, 32, 40, 118, 97, 114, 32, 114, 32, 61, 32, 48, 59, 32, 114, 32, 60, 32, 109, 59, 32, 43, 43, 114, 41, 32, 112, 91, 114, 93, 32, 61, 32, 98, 91, 114, 32, 43, 32, 50, 93, 46, 116, 111, 87, 105, 114, 101, 84, 121, 112, 101, 40, 118, 44, 32, 103, 91, 114, 93, 41, 44, 32, 117, 46, 112, 117, 115, 104, 40, 112, 91, 114, 93, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 103, 32, 61, 32, 100, 40, 46, 46, 46, 117, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 104, 41, 32, 71, 97, 40, 118, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 101, 108, 115, 101, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 102, 111, 114, 32, 40, 114, 32, 61, 32, 108, 32, 63, 32, 49, 32, 58, 32, 50, 59, 32, 114, 32, 60, 32, 98, 46, 108, 101, 110, 103, 116, 104, 59, 32, 114, 43, 43, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 118, 97, 114, 32, 122, 32, 61, 32, 49, 32, 61, 61, 61, 32, 114, 32, 63, 32, 113, 32, 58, 32, 112, 91, 114, 32, 45, 32, 50, 93, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 110, 117, 108, 108, 32, 33, 61, 61, 32, 98, 91, 114, 93, 46, 69, 97, 32, 38, 38, 32, 98, 91, 114, 93, 46, 69, 97, 40, 122, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 113, 32, 61, 32, 110, 32, 63, 32, 98, 91, 48, 93, 46, 102, 114, 111, 109, 87, 105, 114, 101, 84, 121, 112, 101, 40, 103, 41, 32, 58, 32, 118, 111, 105, 100, 32, 48, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 113, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 41, 59, 10, 32, 32, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 32, 32, 118, 97, 114, 32, 117, 98, 32, 61, 32, 40, 97, 41, 32, 61, 62, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 97, 32, 61, 32, 97, 46, 116, 114, 105, 109, 40, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 99, 111, 110, 115, 116, 32, 98, 32, 61, 32, 97, 46, 105, 110, 100, 101, 120, 79, 102, 40, 34, 40, 34, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 45, 49, 32, 33, 61, 61, 32, 98, 32, 63, 32, 97, 46, 115, 117, 98, 115, 116, 114, 40, 48, 44, 32, 98, 41, 32, 58, 32, 97, 59, 10, 32, 32, 32, 32, 32, 32, 125, 44, 32, 118, 98, 32, 61, 32, 91, 93, 44, 32, 86, 32, 61, 32, 91, 93, 44, 32, 119, 98, 32, 61, 32, 40, 97, 41, 32, 61, 62, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 57, 32, 60, 32, 97, 32, 38, 38, 32, 48, 32, 61, 61, 61, 32, 45, 45, 86, 91, 97, 32, 43, 32, 49, 93, 32, 38, 38, 32, 40, 86, 91, 97, 93, 32, 61, 32, 118, 111, 105, 100, 32, 48, 44, 32, 118, 98, 46, 112, 117, 115, 104, 40, 97, 41, 41, 59, 10, 32, 32, 32, 32, 32, 32, 125, 44, 32, 121, 98, 32, 61, 32, 40, 97, 41, 32, 61, 62, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 33, 97, 41, 32, 116, 104, 114, 111, 119, 32, 110, 101, 119, 32, 82, 40, 34, 67, 97, 110, 110, 111, 116, 32, 117, 115, 101, 32, 100, 101, 108, 101, 116, 101, 100, 32, 118, 97, 108, 46, 32, 104, 97, 110, 100, 108, 101, 32, 61, 32, 34, 32, 43, 32, 97, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 86, 91, 97, 93, 59, 10, 32, 32, 32, 32, 32, 32, 125, 44, 32, 104, 98, 32, 61, 32, 40, 97, 41, 32, 61, 62, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 115, 119, 105, 116, 99, 104, 32, 40, 97, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 99, 97, 115, 101, 32, 118, 111, 105, 100, 32, 48, 58, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 50, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 99, 97, 115, 101, 32, 110, 117, 108, 108, 58, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 52, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 99, 97, 115, 101, 32, 116, 114, 117, 101, 58, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 54, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 99, 97, 115, 101, 32, 102, 97, 108, 115, 101, 58, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 56, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 100, 101, 102, 97, 117, 108, 116, 58, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 99, 111, 110, 115, 116, 32, 98, 32, 61, 32, 118, 98, 46, 112, 111, 112, 40, 41, 32, 124, 124, 32, 86, 46, 108, 101, 110, 103, 116, 104, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 86, 91, 98, 93, 32, 61, 32, 97, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 86, 91, 98, 32, 43, 32, 49, 93, 32, 61, 32, 49, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 98, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 32, 32, 125, 44, 32, 122, 98, 32, 61, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 110, 97, 109, 101, 58, 32, 34, 101, 109, 115, 99, 114, 105, 112, 116, 101, 110, 58, 58, 118, 97, 108, 34, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 102, 114, 111, 109, 87, 105, 114, 101, 84, 121, 112, 101, 58, 32, 40, 97, 41, 32, 61, 62, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 118, 97, 114, 32, 98, 32, 61, 32, 121, 98, 40, 97, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 119, 98, 40, 97, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 98, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 116, 111, 87, 105, 114, 101, 84, 121, 112, 101, 58, 32, 40, 97, 44, 32, 98, 41, 32, 61, 62, 32, 104, 98, 40, 98, 41, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 97, 114, 103, 80, 97, 99, 107, 65, 100, 118, 97, 110, 99, 101, 58, 32, 56, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 97, 100, 86, 97, 108, 117, 101, 70, 114, 111, 109, 80, 111, 105, 110, 116, 101, 114, 58, 32, 75, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 69, 97, 58, 32, 110, 117, 108, 108, 10, 32, 32, 32, 32, 32, 32, 125, 44, 32, 65, 98, 32, 61, 32, 40, 97, 44, 32, 98, 44, 32, 99, 41, 32, 61, 62, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 115, 119, 105, 116, 99, 104, 32, 40, 98, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 99, 97, 115, 101, 32, 49, 58, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 99, 32, 63, 32, 102, 117, 110, 99, 116, 105, 111, 110, 40, 100, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 116, 104, 105, 115, 46, 102, 114, 111, 109, 87, 105, 114, 101, 84, 121, 112, 101, 40, 121, 91, 100, 93, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 125, 32, 58, 32, 102, 117, 110, 99, 116, 105, 111, 110, 40, 100, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 116, 104, 105, 115, 46, 102, 114, 111, 109, 87, 105, 114, 101, 84, 121, 112, 101, 40, 65, 91, 100, 93, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 125, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 99, 97, 115, 101, 32, 50, 58, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 99, 32, 63, 32, 102, 117, 110, 99, 116, 105, 111, 110, 40, 100, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 116, 104, 105, 115, 46, 102, 114, 111, 109, 87, 105, 114, 101, 84, 121, 112, 101, 40, 66, 91, 100, 32, 62, 62, 32, 49, 93, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 125, 32, 58, 32, 102, 117, 110, 99, 116, 105, 111, 110, 40, 100, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 116, 104, 105, 115, 46, 102, 114, 111, 109, 87, 105, 114, 101, 84, 121, 112, 101, 40, 67, 91, 100, 32, 62, 62, 32, 49, 93, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 125, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 99, 97, 115, 101, 32, 52, 58, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 99, 32, 63, 32, 102, 117, 110, 99, 116, 105, 111, 110, 40, 100, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 116, 104, 105, 115, 46, 102, 114, 111, 109, 87, 105, 114, 101, 84, 121, 112, 101, 40, 69, 91, 100, 32, 62, 62, 32, 50, 93, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 125, 32, 58, 32, 102, 117, 110, 99, 116, 105, 111, 110, 40, 100, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 116, 104, 105, 115, 46, 102, 114, 111, 109, 87, 105, 114, 101, 84, 121, 112, 101, 40, 70, 91, 100, 32, 62, 62, 32, 50, 93, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 125, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 100, 101, 102, 97, 117, 108, 116, 58, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 116, 104, 114, 111, 119, 32, 110, 101, 119, 32, 84, 121, 112, 101, 69, 114, 114, 111, 114, 40, 96, 105, 110, 118, 97, 108, 105, 100, 32, 105, 110, 116, 101, 103, 101, 114, 32, 119, 105, 100, 116, 104, 32, 40, 36, 123, 98, 125, 41, 58, 32, 36, 123, 97, 125, 96, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 32, 32, 125, 44, 32, 66, 98, 32, 61, 32, 40, 97, 44, 32, 98, 41, 32, 61, 62, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 118, 97, 114, 32, 99, 32, 61, 32, 77, 91, 97, 93, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 118, 111, 105, 100, 32, 48, 32, 61, 61, 61, 32, 99, 41, 32, 116, 104, 114, 111, 119, 32, 97, 32, 61, 32, 96, 36, 123, 98, 125, 32, 104, 97, 115, 32, 117, 110, 107, 110, 111, 119, 110, 32, 116, 121, 112, 101, 32, 36, 123, 112, 98, 40, 97, 41, 125, 96, 44, 32, 110, 101, 119, 32, 82, 40, 97, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 99, 59, 10, 32, 32, 32, 32, 32, 32, 125, 44, 32, 102, 98, 32, 61, 32, 40, 97, 41, 32, 61, 62, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 110, 117, 108, 108, 32, 61, 61, 61, 32, 97, 41, 32, 114, 101, 116, 117, 114, 110, 32, 34, 110, 117, 108, 108, 34, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 118, 97, 114, 32, 98, 32, 61, 32, 116, 121, 112, 101, 111, 102, 32, 97, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 34, 111, 98, 106, 101, 99, 116, 34, 32, 61, 61, 61, 32, 98, 32, 124, 124, 32, 34, 97, 114, 114, 97, 121, 34, 32, 61, 61, 61, 32, 98, 32, 124, 124, 32, 34, 102, 117, 110, 99, 116, 105, 111, 110, 34, 32, 61, 61, 61, 32, 98, 32, 63, 32, 97, 46, 116, 111, 83, 116, 114, 105, 110, 103, 40, 41, 32, 58, 32, 34, 34, 32, 43, 32, 97, 59, 10, 32, 32, 32, 32, 32, 32, 125, 44, 32, 67, 98, 32, 61, 32, 40, 97, 44, 32, 98, 41, 32, 61, 62, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 115, 119, 105, 116, 99, 104, 32, 40, 98, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 99, 97, 115, 101, 32, 52, 58, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 102, 117, 110, 99, 116, 105, 111, 110, 40, 99, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 116, 104, 105, 115, 46, 102, 114, 111, 109, 87, 105, 114, 101, 84, 121, 112, 101, 40, 106, 97, 91, 99, 32, 62, 62, 32, 50, 93, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 125, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 99, 97, 115, 101, 32, 56, 58, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 102, 117, 110, 99, 116, 105, 111, 110, 40, 99, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 116, 104, 105, 115, 46, 102, 114, 111, 109, 87, 105, 114, 101, 84, 121, 112, 101, 40, 107, 97, 91, 99, 32, 62, 62, 32, 51, 93, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 125, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 100, 101, 102, 97, 117, 108, 116, 58, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 116, 104, 114, 111, 119, 32, 110, 101, 119, 32, 84, 121, 112, 101, 69, 114, 114, 111, 114, 40, 96, 105, 110, 118, 97, 108, 105, 100, 32, 102, 108, 111, 97, 116, 32, 119, 105, 100, 116, 104, 32, 40, 36, 123, 98, 125, 41, 58, 32, 36, 123, 97, 125, 96, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 32, 32, 125, 44, 32, 68, 98, 32, 61, 32, 40, 97, 44, 32, 98, 44, 32, 99, 41, 32, 61, 62, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 115, 119, 105, 116, 99, 104, 32, 40, 98, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 99, 97, 115, 101, 32, 49, 58, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 99, 32, 63, 32, 40, 100, 41, 32, 61, 62, 32, 121, 91, 100, 93, 32, 58, 32, 40, 100, 41, 32, 61, 62, 32, 65, 91, 100, 93, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 99, 97, 115, 101, 32, 50, 58, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 99, 32, 63, 32, 40, 100, 41, 32, 61, 62, 32, 66, 91, 100, 32, 62, 62, 32, 49, 93, 32, 58, 32, 40, 100, 41, 32, 61, 62, 32, 67, 91, 100, 32, 62, 62, 32, 49, 93, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 99, 97, 115, 101, 32, 52, 58, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 99, 32, 63, 32, 40, 100, 41, 32, 61, 62, 32, 69, 91, 100, 32, 62, 62, 32, 50, 93, 32, 58, 32, 40, 100, 41, 32, 61, 62, 32, 70, 91, 100, 32, 62, 62, 32, 50, 93, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 100, 101, 102, 97, 117, 108, 116, 58, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 116, 104, 114, 111, 119, 32, 110, 101, 119, 32, 84, 121, 112, 101, 69, 114, 114, 111, 114, 40, 96, 105, 110, 118, 97, 108, 105, 100, 32, 105, 110, 116, 101, 103, 101, 114, 32, 119, 105, 100, 116, 104, 32, 40, 36, 123, 98, 125, 41, 58, 32, 36, 123, 97, 125, 96, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 32, 32, 125, 44, 32, 69, 98, 32, 61, 32, 34, 117, 110, 100, 101, 102, 105, 110, 101, 100, 34, 32, 33, 61, 32, 116, 121, 112, 101, 111, 102, 32, 84, 101, 120, 116, 68, 101, 99, 111, 100, 101, 114, 32, 63, 32, 110, 101, 119, 32, 84, 101, 120, 116, 68, 101, 99, 111, 100, 101, 114, 40, 34, 117, 116, 102, 45, 49, 54, 108, 101, 34, 41, 32, 58, 32, 118, 111, 105, 100, 32, 48, 44, 32, 70, 98, 32, 61, 32, 40, 97, 44, 32, 98, 41, 32, 61, 62, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 118, 97, 114, 32, 99, 32, 61, 32, 97, 32, 62, 62, 32, 49, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 102, 111, 114, 32, 40, 118, 97, 114, 32, 100, 32, 61, 32, 99, 32, 43, 32, 98, 32, 47, 32, 50, 59, 32, 33, 40, 99, 32, 62, 61, 32, 100, 41, 32, 38, 38, 32, 67, 91, 99, 93, 59, 32, 41, 32, 43, 43, 99, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 99, 32, 60, 60, 61, 32, 49, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 51, 50, 32, 60, 32, 99, 32, 45, 32, 97, 32, 38, 38, 32, 69, 98, 41, 32, 114, 101, 116, 117, 114, 110, 32, 69, 98, 46, 100, 101, 99, 111, 100, 101, 40, 65, 46, 115, 117, 98, 97, 114, 114, 97, 121, 40, 97, 44, 32, 99, 41, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 99, 32, 61, 32, 34, 34, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 102, 111, 114, 32, 40, 100, 32, 61, 32, 48, 59, 32, 33, 40, 100, 32, 62, 61, 32, 98, 32, 47, 32, 50, 41, 59, 32, 43, 43, 100, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 118, 97, 114, 32, 101, 32, 61, 32, 66, 91, 97, 32, 43, 32, 50, 32, 42, 32, 100, 32, 62, 62, 32, 49, 93, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 48, 32, 61, 61, 32, 101, 41, 32, 98, 114, 101, 97, 107, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 99, 32, 43, 61, 32, 83, 116, 114, 105, 110, 103, 46, 102, 114, 111, 109, 67, 104, 97, 114, 67, 111, 100, 101, 40, 101, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 99, 59, 10, 32, 32, 32, 32, 32, 32, 125, 44, 32, 71, 98, 32, 61, 32, 40, 97, 44, 32, 98, 44, 32, 99, 41, 32, 61, 62, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 99, 32, 63, 63, 32, 40, 99, 32, 61, 32, 50, 49, 52, 55, 52, 56, 51, 54, 52, 55, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 50, 32, 62, 32, 99, 41, 32, 114, 101, 116, 117, 114, 110, 32, 48, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 99, 32, 45, 61, 32, 50, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 118, 97, 114, 32, 100, 32, 61, 32, 98, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 99, 32, 61, 32, 99, 32, 60, 32, 50, 32, 42, 32, 97, 46, 108, 101, 110, 103, 116, 104, 32, 63, 32, 99, 32, 47, 32, 50, 32, 58, 32, 97, 46, 108, 101, 110, 103, 116, 104, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 102, 111, 114, 32, 40, 118, 97, 114, 32, 101, 32, 61, 32, 48, 59, 32, 101, 32, 60, 32, 99, 59, 32, 43, 43, 101, 41, 32, 66, 91, 98, 32, 62, 62, 32, 49, 93, 32, 61, 32, 97, 46, 99, 104, 97, 114, 67, 111, 100, 101, 65, 116, 40, 101, 41, 44, 32, 98, 32, 43, 61, 32, 50, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 66, 91, 98, 32, 62, 62, 32, 49, 93, 32, 61, 32, 48, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 98, 32, 45, 32, 100, 59, 10, 32, 32, 32, 32, 32, 32, 125, 44, 32, 72, 98, 32, 61, 32, 40, 97, 41, 32, 61, 62, 32, 50, 32, 42, 32, 97, 46, 108, 101, 110, 103, 116, 104, 44, 32, 73, 98, 32, 61, 32, 40, 97, 44, 32, 98, 41, 32, 61, 62, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 102, 111, 114, 32, 40, 118, 97, 114, 32, 99, 32, 61, 32, 48, 44, 32, 100, 32, 61, 32, 34, 34, 59, 32, 33, 40, 99, 32, 62, 61, 32, 98, 32, 47, 32, 52, 41, 59, 32, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 118, 97, 114, 32, 101, 32, 61, 32, 69, 91, 97, 32, 43, 32, 52, 32, 42, 32, 99, 32, 62, 62, 32, 50, 93, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 48, 32, 61, 61, 32, 101, 41, 32, 98, 114, 101, 97, 107, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 43, 43, 99, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 54, 53, 53, 51, 54, 32, 60, 61, 32, 101, 32, 63, 32, 40, 101, 32, 45, 61, 32, 54, 53, 53, 51, 54, 44, 32, 100, 32, 43, 61, 32, 83, 116, 114, 105, 110, 103, 46, 102, 114, 111, 109, 67, 104, 97, 114, 67, 111, 100, 101, 40, 53, 53, 50, 57, 54, 32, 124, 32, 101, 32, 62, 62, 32, 49, 48, 44, 32, 53, 54, 51, 50, 48, 32, 124, 32, 101, 32, 38, 32, 49, 48, 50, 51, 41, 41, 32, 58, 32, 100, 32, 43, 61, 32, 83, 116, 114, 105, 110, 103, 46, 102, 114, 111, 109, 67, 104, 97, 114, 67, 111, 100, 101, 40, 101, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 100, 59, 10, 32, 32, 32, 32, 32, 32, 125, 44, 32, 74, 98, 32, 61, 32, 40, 97, 44, 32, 98, 44, 32, 99, 41, 32, 61, 62, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 99, 32, 63, 63, 32, 40, 99, 32, 61, 32, 50, 49, 52, 55, 52, 56, 51, 54, 52, 55, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 52, 32, 62, 32, 99, 41, 32, 114, 101, 116, 117, 114, 110, 32, 48, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 118, 97, 114, 32, 100, 32, 61, 32, 98, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 99, 32, 61, 32, 100, 32, 43, 32, 99, 32, 45, 32, 52, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 102, 111, 114, 32, 40, 118, 97, 114, 32, 101, 32, 61, 32, 48, 59, 32, 101, 32, 60, 32, 97, 46, 108, 101, 110, 103, 116, 104, 59, 32, 43, 43, 101, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 118, 97, 114, 32, 102, 32, 61, 32, 97, 46, 99, 104, 97, 114, 67, 111, 100, 101, 65, 116, 40, 101, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 53, 53, 50, 57, 54, 32, 60, 61, 32, 102, 32, 38, 38, 32, 53, 55, 51, 52, 51, 32, 62, 61, 32, 102, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 118, 97, 114, 32, 108, 32, 61, 32, 97, 46, 99, 104, 97, 114, 67, 111, 100, 101, 65, 116, 40, 43, 43, 101, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 102, 32, 61, 32, 54, 53, 53, 51, 54, 32, 43, 32, 40, 40, 102, 32, 38, 32, 49, 48, 50, 51, 41, 32, 60, 60, 32, 49, 48, 41, 32, 124, 32, 108, 32, 38, 32, 49, 48, 50, 51, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 69, 91, 98, 32, 62, 62, 32, 50, 93, 32, 61, 32, 102, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 98, 32, 43, 61, 32, 52, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 98, 32, 43, 32, 52, 32, 62, 32, 99, 41, 32, 98, 114, 101, 97, 107, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 32, 32, 32, 32, 69, 91, 98, 32, 62, 62, 32, 50, 93, 32, 61, 32, 48, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 98, 32, 45, 32, 100, 59, 10, 32, 32, 32, 32, 32, 32, 125, 44, 32, 75, 98, 32, 61, 32, 40, 97, 41, 32, 61, 62, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 102, 111, 114, 32, 40, 118, 97, 114, 32, 98, 32, 61, 32, 48, 44, 32, 99, 32, 61, 32, 48, 59, 32, 99, 32, 60, 32, 97, 46, 108, 101, 110, 103, 116, 104, 59, 32, 43, 43, 99, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 118, 97, 114, 32, 100, 32, 61, 32, 97, 46, 99, 104, 97, 114, 67, 111, 100, 101, 65, 116, 40, 99, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 53, 53, 50, 57, 54, 32, 60, 61, 32, 100, 32, 38, 38, 32, 53, 55, 51, 52, 51, 32, 62, 61, 32, 100, 32, 38, 38, 32, 43, 43, 99, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 98, 32, 43, 61, 32, 52, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 98, 59, 10, 32, 32, 32, 32, 32, 32, 125, 44, 32, 76, 98, 32, 61, 32, 91, 93, 44, 32, 77, 98, 32, 61, 32, 40, 97, 41, 32, 61, 62, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 118, 97, 114, 32, 98, 32, 61, 32, 76, 98, 46, 108, 101, 110, 103, 116, 104, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 76, 98, 46, 112, 117, 115, 104, 40, 97, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 98, 59, 10, 32, 32, 32, 32, 32, 32, 125, 44, 32, 78, 98, 32, 61, 32, 40, 97, 44, 32, 98, 41, 32, 61, 62, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 102, 111, 114, 32, 40, 118, 97, 114, 32, 99, 32, 61, 32, 65, 114, 114, 97, 121, 40, 97, 41, 44, 32, 100, 32, 61, 32, 48, 59, 32, 100, 32, 60, 32, 97, 59, 32, 43, 43, 100, 41, 32, 99, 91, 100, 93, 32, 61, 32, 66, 98, 40, 70, 91, 98, 32, 43, 32, 52, 32, 42, 32, 100, 32, 62, 62, 32, 50, 93, 44, 32, 34, 112, 97, 114, 97, 109, 101, 116, 101, 114, 32, 34, 32, 43, 32, 100, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 99, 59, 10, 32, 32, 32, 32, 32, 32, 125, 44, 32, 79, 98, 32, 61, 32, 82, 101, 102, 108, 101, 99, 116, 46, 99, 111, 110, 115, 116, 114, 117, 99, 116, 44, 32, 80, 98, 32, 61, 32, 123, 125, 44, 32, 82, 98, 32, 61, 32, 40, 41, 32, 61, 62, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 33, 81, 98, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 118, 97, 114, 32, 97, 32, 61, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 85, 83, 69, 82, 58, 32, 34, 119, 101, 98, 95, 117, 115, 101, 114, 34, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 76, 79, 71, 78, 65, 77, 69, 58, 32, 34, 119, 101, 98, 95, 117, 115, 101, 114, 34, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 80, 65, 84, 72, 58, 32, 34, 47, 34, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 80, 87, 68, 58, 32, 34, 47, 34, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 72, 79, 77, 69, 58, 32, 34, 47, 104, 111, 109, 101, 47, 119, 101, 98, 95, 117, 115, 101, 114, 34, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 76, 65, 78, 71, 58, 32, 40, 34, 111, 98, 106, 101, 99, 116, 34, 32, 61, 61, 32, 116, 121, 112, 101, 111, 102, 32, 110, 97, 118, 105, 103, 97, 116, 111, 114, 32, 38, 38, 32, 110, 97, 118, 105, 103, 97, 116, 111, 114, 46, 108, 97, 110, 103, 117, 97, 103, 101, 115, 32, 38, 38, 32, 110, 97, 118, 105, 103, 97, 116, 111, 114, 46, 108, 97, 110, 103, 117, 97, 103, 101, 115, 91, 48, 93, 32, 124, 124, 32, 34, 67, 34, 41, 46, 114, 101, 112, 108, 97, 99, 101, 40, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 34, 45, 34, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 34, 95, 34, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 41, 32, 43, 32, 34, 46, 85, 84, 70, 45, 56, 34, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 95, 58, 32, 100, 97, 32, 124, 124, 32, 34, 46, 47, 116, 104, 105, 115, 46, 112, 114, 111, 103, 114, 97, 109, 34, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 125, 44, 32, 98, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 102, 111, 114, 32, 40, 98, 32, 105, 110, 32, 80, 98, 41, 32, 118, 111, 105, 100, 32, 48, 32, 61, 61, 61, 32, 80, 98, 91, 98, 93, 32, 63, 32, 100, 101, 108, 101, 116, 101, 32, 97, 91, 98, 93, 32, 58, 32, 97, 91, 98, 93, 32, 61, 32, 80, 98, 91, 98, 93, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 118, 97, 114, 32, 99, 32, 61, 32, 91, 93, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 102, 111, 114, 32, 40, 98, 32, 105, 110, 32, 97, 41, 32, 99, 46, 112, 117, 115, 104, 40, 96, 36, 123, 98, 125, 61, 36, 123, 97, 91, 98, 93, 125, 96, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 81, 98, 32, 61, 32, 99, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 81, 98, 59, 10, 32, 32, 32, 32, 32, 32, 125, 44, 32, 81, 98, 44, 32, 83, 98, 32, 61, 32, 91, 110, 117, 108, 108, 44, 32, 91, 93, 44, 32, 91, 93, 93, 44, 32, 84, 98, 32, 61, 32, 40, 41, 32, 61, 62, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 34, 111, 98, 106, 101, 99, 116, 34, 32, 61, 61, 32, 116, 121, 112, 101, 111, 102, 32, 99, 114, 121, 112, 116, 111, 32, 38, 38, 32, 34, 102, 117, 110, 99, 116, 105, 111, 110, 34, 32, 61, 61, 32, 116, 121, 112, 101, 111, 102, 32, 99, 114, 121, 112, 116, 111, 46, 103, 101, 116, 82, 97, 110, 100, 111, 109, 86, 97, 108, 117, 101, 115, 41, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 40, 97, 41, 32, 61, 62, 32, 99, 114, 121, 112, 116, 111, 46, 103, 101, 116, 82, 97, 110, 100, 111, 109, 86, 97, 108, 117, 101, 115, 40, 97, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 114, 97, 40, 34, 105, 110, 105, 116, 82, 97, 110, 100, 111, 109, 68, 101, 118, 105, 99, 101, 34, 41, 59, 10, 32, 32, 32, 32, 32, 32, 125, 44, 32, 85, 98, 32, 61, 32, 40, 97, 41, 32, 61, 62, 32, 40, 85, 98, 32, 61, 32, 84, 98, 40, 41, 41, 40, 97, 41, 44, 32, 86, 98, 32, 61, 32, 40, 97, 41, 32, 61, 62, 32, 48, 32, 61, 61, 61, 32, 97, 32, 37, 32, 52, 32, 38, 38, 32, 40, 48, 32, 33, 61, 61, 32, 97, 32, 37, 32, 49, 48, 48, 32, 124, 124, 32, 48, 32, 61, 61, 61, 32, 97, 32, 37, 32, 52, 48, 48, 41, 44, 32, 87, 98, 32, 61, 32, 91, 51, 49, 44, 32, 50, 57, 44, 32, 51, 49, 44, 32, 51, 48, 44, 32, 51, 49, 44, 32, 51, 48, 44, 32, 51, 49, 44, 32, 51, 49, 44, 32, 51, 48, 44, 32, 51, 49, 44, 32, 51, 48, 44, 32, 51, 49, 93, 44, 32, 88, 98, 32, 61, 32, 91, 51, 49, 44, 32, 50, 56, 44, 32, 51, 49, 44, 32, 51, 48, 44, 32, 51, 49, 44, 32, 51, 48, 44, 32, 51, 49, 44, 32, 51, 49, 44, 32, 51, 48, 44, 32, 51, 49, 44, 32, 51, 48, 44, 32, 51, 49, 93, 59, 10, 32, 32, 32, 32, 32, 32, 102, 117, 110, 99, 116, 105, 111, 110, 32, 89, 98, 40, 97, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 118, 97, 114, 32, 98, 32, 61, 32, 65, 114, 114, 97, 121, 40, 68, 97, 40, 97, 41, 32, 43, 32, 49, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 69, 97, 40, 97, 44, 32, 98, 44, 32, 48, 44, 32, 98, 46, 108, 101, 110, 103, 116, 104, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 98, 59, 10, 32, 32, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 32, 32, 118, 97, 114, 32, 90, 98, 32, 61, 32, 40, 97, 44, 32, 98, 44, 32, 99, 44, 32, 100, 41, 32, 61, 62, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 102, 117, 110, 99, 116, 105, 111, 110, 32, 101, 40, 103, 44, 32, 113, 44, 32, 114, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 102, 111, 114, 32, 40, 103, 32, 61, 32, 34, 110, 117, 109, 98, 101, 114, 34, 32, 61, 61, 32, 116, 121, 112, 101, 111, 102, 32, 103, 32, 63, 32, 103, 46, 116, 111, 83, 116, 114, 105, 110, 103, 40, 41, 32, 58, 32, 103, 32, 124, 124, 32, 34, 34, 59, 32, 103, 46, 108, 101, 110, 103, 116, 104, 32, 60, 32, 113, 59, 32, 41, 32, 103, 32, 61, 32, 114, 91, 48, 93, 32, 43, 32, 103, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 103, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 32, 32, 32, 32, 102, 117, 110, 99, 116, 105, 111, 110, 32, 102, 40, 103, 44, 32, 113, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 101, 40, 103, 44, 32, 113, 44, 32, 34, 48, 34, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 32, 32, 32, 32, 102, 117, 110, 99, 116, 105, 111, 110, 32, 108, 40, 103, 44, 32, 113, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 102, 117, 110, 99, 116, 105, 111, 110, 32, 114, 40, 78, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 48, 32, 62, 32, 78, 32, 63, 32, 45, 49, 32, 58, 32, 48, 32, 60, 32, 78, 32, 63, 32, 49, 32, 58, 32, 48, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 118, 97, 114, 32, 122, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 48, 32, 61, 61, 61, 32, 40, 122, 32, 61, 32, 114, 40, 103, 46, 103, 101, 116, 70, 117, 108, 108, 89, 101, 97, 114, 40, 41, 32, 45, 32, 113, 46, 103, 101, 116, 70, 117, 108, 108, 89, 101, 97, 114, 40, 41, 41, 41, 32, 38, 38, 32, 48, 32, 61, 61, 61, 32, 40, 122, 32, 61, 32, 114, 40, 103, 46, 103, 101, 116, 77, 111, 110, 116, 104, 40, 41, 32, 45, 32, 113, 46, 103, 101, 116, 77, 111, 110, 116, 104, 40, 41, 41, 41, 32, 38, 38, 32, 40, 122, 32, 61, 32, 114, 40, 103, 46, 103, 101, 116, 68, 97, 116, 101, 40, 41, 32, 45, 32, 113, 46, 103, 101, 116, 68, 97, 116, 101, 40, 41, 41, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 122, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 32, 32, 32, 32, 102, 117, 110, 99, 116, 105, 111, 110, 32, 104, 40, 103, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 115, 119, 105, 116, 99, 104, 32, 40, 103, 46, 103, 101, 116, 68, 97, 121, 40, 41, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 99, 97, 115, 101, 32, 48, 58, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 110, 101, 119, 32, 68, 97, 116, 101, 40, 103, 46, 103, 101, 116, 70, 117, 108, 108, 89, 101, 97, 114, 40, 41, 32, 45, 32, 49, 44, 32, 49, 49, 44, 32, 50, 57, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 99, 97, 115, 101, 32, 49, 58, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 103, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 99, 97, 115, 101, 32, 50, 58, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 110, 101, 119, 32, 68, 97, 116, 101, 40, 103, 46, 103, 101, 116, 70, 117, 108, 108, 89, 101, 97, 114, 40, 41, 44, 32, 48, 44, 32, 51, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 99, 97, 115, 101, 32, 51, 58, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 110, 101, 119, 32, 68, 97, 116, 101, 40, 103, 46, 103, 101, 116, 70, 117, 108, 108, 89, 101, 97, 114, 40, 41, 44, 32, 48, 44, 32, 50, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 99, 97, 115, 101, 32, 52, 58, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 110, 101, 119, 32, 68, 97, 116, 101, 40, 103, 46, 103, 101, 116, 70, 117, 108, 108, 89, 101, 97, 114, 40, 41, 44, 32, 48, 44, 32, 49, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 99, 97, 115, 101, 32, 53, 58, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 110, 101, 119, 32, 68, 97, 116, 101, 40, 103, 46, 103, 101, 116, 70, 117, 108, 108, 89, 101, 97, 114, 40, 41, 32, 45, 32, 49, 44, 32, 49, 49, 44, 32, 51, 49, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 99, 97, 115, 101, 32, 54, 58, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 110, 101, 119, 32, 68, 97, 116, 101, 40, 103, 46, 103, 101, 116, 70, 117, 108, 108, 89, 101, 97, 114, 40, 41, 32, 45, 32, 49, 44, 32, 49, 49, 44, 32, 51, 48, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 32, 32, 32, 32, 102, 117, 110, 99, 116, 105, 111, 110, 32, 110, 40, 103, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 118, 97, 114, 32, 113, 32, 61, 32, 103, 46, 73, 97, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 102, 111, 114, 32, 40, 103, 32, 61, 32, 110, 101, 119, 32, 68, 97, 116, 101, 40, 110, 101, 119, 32, 68, 97, 116, 101, 40, 103, 46, 74, 97, 32, 43, 32, 49, 57, 48, 48, 44, 32, 48, 44, 32, 49, 41, 46, 103, 101, 116, 84, 105, 109, 101, 40, 41, 41, 59, 32, 48, 32, 60, 32, 113, 59, 32, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 118, 97, 114, 32, 114, 32, 61, 32, 103, 46, 103, 101, 116, 77, 111, 110, 116, 104, 40, 41, 44, 32, 122, 32, 61, 32, 40, 86, 98, 40, 103, 46, 103, 101, 116, 70, 117, 108, 108, 89, 101, 97, 114, 40, 41, 41, 32, 63, 32, 87, 98, 32, 58, 32, 88, 98, 41, 91, 114, 93, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 113, 32, 62, 32, 122, 32, 45, 32, 103, 46, 103, 101, 116, 68, 97, 116, 101, 40, 41, 41, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 113, 32, 45, 61, 32, 122, 32, 45, 32, 103, 46, 103, 101, 116, 68, 97, 116, 101, 40, 41, 32, 43, 32, 49, 44, 32, 103, 46, 115, 101, 116, 68, 97, 116, 101, 40, 49, 41, 44, 32, 49, 49, 32, 62, 32, 114, 32, 63, 32, 103, 46, 115, 101, 116, 77, 111, 110, 116, 104, 40, 114, 32, 43, 32, 49, 41, 32, 58, 32, 40, 103, 46, 115, 101, 116, 77, 111, 110, 116, 104, 40, 48, 41, 44, 32, 103, 46, 115, 101, 116, 70, 117, 108, 108, 89, 101, 97, 114, 40, 103, 46, 103, 101, 116, 70, 117, 108, 108, 89, 101, 97, 114, 40, 41, 32, 43, 32, 49, 41, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 101, 108, 115, 101, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 103, 46, 115, 101, 116, 68, 97, 116, 101, 40, 103, 46, 103, 101, 116, 68, 97, 116, 101, 40, 41, 32, 43, 32, 113, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 98, 114, 101, 97, 107, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 114, 32, 61, 32, 110, 101, 119, 32, 68, 97, 116, 101, 40, 103, 46, 103, 101, 116, 70, 117, 108, 108, 89, 101, 97, 114, 40, 41, 32, 43, 32, 49, 44, 32, 48, 44, 32, 52, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 113, 32, 61, 32, 104, 40, 110, 101, 119, 32, 68, 97, 116, 101, 40, 103, 46, 103, 101, 116, 70, 117, 108, 108, 89, 101, 97, 114, 40, 41, 44, 32, 48, 44, 32, 52, 41, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 114, 32, 61, 32, 104, 40, 114, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 48, 32, 62, 61, 32, 108, 40, 113, 44, 32, 103, 41, 32, 63, 32, 48, 32, 62, 61, 32, 108, 40, 114, 44, 32, 103, 41, 32, 63, 32, 103, 46, 103, 101, 116, 70, 117, 108, 108, 89, 101, 97, 114, 40, 41, 32, 43, 32, 49, 32, 58, 32, 103, 46, 103, 101, 116, 70, 117, 108, 108, 89, 101, 97, 114, 40, 41, 32, 58, 32, 103, 46, 103, 101, 116, 70, 117, 108, 108, 89, 101, 97, 114, 40, 41, 32, 45, 32, 49, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 32, 32, 32, 32, 118, 97, 114, 32, 109, 32, 61, 32, 70, 91, 100, 32, 43, 32, 52, 48, 32, 62, 62, 32, 50, 93, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 100, 32, 61, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 115, 98, 58, 32, 69, 91, 100, 32, 62, 62, 32, 50, 93, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 114, 98, 58, 32, 69, 91, 100, 32, 43, 32, 52, 32, 62, 62, 32, 50, 93, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 82, 97, 58, 32, 69, 91, 100, 32, 43, 32, 56, 32, 62, 62, 32, 50, 93, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 86, 97, 58, 32, 69, 91, 100, 32, 43, 32, 49, 50, 32, 62, 62, 32, 50, 93, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 83, 97, 58, 32, 69, 91, 100, 32, 43, 32, 49, 54, 32, 62, 62, 32, 50, 93, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 74, 97, 58, 32, 69, 91, 100, 32, 43, 32, 50, 48, 32, 62, 62, 32, 50, 93, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 71, 97, 58, 32, 69, 91, 100, 32, 43, 32, 50, 52, 32, 62, 62, 32, 50, 93, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 73, 97, 58, 32, 69, 91, 100, 32, 43, 32, 50, 56, 32, 62, 62, 32, 50, 93, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 119, 98, 58, 32, 69, 91, 100, 32, 43, 32, 51, 50, 32, 62, 62, 32, 50, 93, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 113, 98, 58, 32, 69, 91, 100, 32, 43, 32, 51, 54, 32, 62, 62, 32, 50, 93, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 116, 98, 58, 32, 109, 32, 63, 32, 109, 32, 63, 32, 74, 40, 65, 44, 32, 109, 41, 32, 58, 32, 34, 34, 32, 58, 32, 34, 34, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 99, 32, 61, 32, 99, 32, 63, 32, 74, 40, 65, 44, 32, 99, 41, 32, 58, 32, 34, 34, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 109, 32, 61, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 34, 37, 99, 34, 58, 32, 34, 37, 97, 32, 37, 98, 32, 37, 100, 32, 37, 72, 58, 37, 77, 58, 37, 83, 32, 37, 89, 34, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 34, 37, 68, 34, 58, 32, 34, 37, 109, 47, 37, 100, 47, 37, 121, 34, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 34, 37, 70, 34, 58, 32, 34, 37, 89, 45, 37, 109, 45, 37, 100, 34, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 34, 37, 104, 34, 58, 32, 34, 37, 98, 34, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 34, 37, 114, 34, 58, 32, 34, 37, 73, 58, 37, 77, 58, 37, 83, 32, 37, 112, 34, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 34, 37, 82, 34, 58, 32, 34, 37, 72, 58, 37, 77, 34, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 34, 37, 84, 34, 58, 32, 34, 37, 72, 58, 37, 77, 58, 37, 83, 34, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 34, 37, 120, 34, 58, 32, 34, 37, 109, 47, 37, 100, 47, 37, 121, 34, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 34, 37, 88, 34, 58, 32, 34, 37, 72, 58, 37, 77, 58, 37, 83, 34, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 34, 37, 69, 99, 34, 58, 32, 34, 37, 99, 34, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 34, 37, 69, 67, 34, 58, 32, 34, 37, 67, 34, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 34, 37, 69, 120, 34, 58, 32, 34, 37, 109, 47, 37, 100, 47, 37, 121, 34, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 34, 37, 69, 88, 34, 58, 32, 34, 37, 72, 58, 37, 77, 58, 37, 83, 34, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 34, 37, 69, 121, 34, 58, 32, 34, 37, 121, 34, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 34, 37, 69, 89, 34, 58, 32, 34, 37, 89, 34, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 34, 37, 79, 100, 34, 58, 32, 34, 37, 100, 34, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 34, 37, 79, 101, 34, 58, 32, 34, 37, 101, 34, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 34, 37, 79, 72, 34, 58, 32, 34, 37, 72, 34, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 34, 37, 79, 73, 34, 58, 32, 34, 37, 73, 34, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 34, 37, 79, 109, 34, 58, 32, 34, 37, 109, 34, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 34, 37, 79, 77, 34, 58, 32, 34, 37, 77, 34, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 34, 37, 79, 83, 34, 58, 32, 34, 37, 83, 34, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 34, 37, 79, 117, 34, 58, 32, 34, 37, 117, 34, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 34, 37, 79, 85, 34, 58, 32, 34, 37, 85, 34, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 34, 37, 79, 86, 34, 58, 32, 34, 37, 86, 34, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 34, 37, 79, 119, 34, 58, 32, 34, 37, 119, 34, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 34, 37, 79, 87, 34, 58, 32, 34, 37, 87, 34, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 34, 37, 79, 121, 34, 58, 32, 34, 37, 121, 34, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 102, 111, 114, 32, 40, 118, 97, 114, 32, 112, 32, 105, 110, 32, 109, 41, 32, 99, 32, 61, 32, 99, 46, 114, 101, 112, 108, 97, 99, 101, 40, 110, 101, 119, 32, 82, 101, 103, 69, 120, 112, 40, 112, 44, 32, 34, 103, 34, 41, 44, 32, 109, 91, 112, 93, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 118, 97, 114, 32, 117, 32, 61, 32, 34, 83, 117, 110, 100, 97, 121, 32, 77, 111, 110, 100, 97, 121, 32, 84, 117, 101, 115, 100, 97, 121, 32, 87, 101, 100, 110, 101, 115, 100, 97, 121, 32, 84, 104, 117, 114, 115, 100, 97, 121, 32, 70, 114, 105, 100, 97, 121, 32, 83, 97, 116, 117, 114, 100, 97, 121, 34, 46, 115, 112, 108, 105, 116, 40, 34, 32, 34, 41, 44, 32, 118, 32, 61, 32, 34, 74, 97, 110, 117, 97, 114, 121, 32, 70, 101, 98, 114, 117, 97, 114, 121, 32, 77, 97, 114, 99, 104, 32, 65, 112, 114, 105, 108, 32, 77, 97, 121, 32, 74, 117, 110, 101, 32, 74, 117, 108, 121, 32, 65, 117, 103, 117, 115, 116, 32, 83, 101, 112, 116, 101, 109, 98, 101, 114, 32, 79, 99, 116, 111, 98, 101, 114, 32, 78, 111, 118, 101, 109, 98, 101, 114, 32, 68, 101, 99, 101, 109, 98, 101, 114, 34, 46, 115, 112, 108, 105, 116, 40, 34, 32, 34, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 109, 32, 61, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 34, 37, 97, 34, 58, 32, 40, 103, 41, 32, 61, 62, 32, 117, 91, 103, 46, 71, 97, 93, 46, 115, 117, 98, 115, 116, 114, 105, 110, 103, 40, 48, 44, 32, 51, 41, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 34, 37, 65, 34, 58, 32, 40, 103, 41, 32, 61, 62, 32, 117, 91, 103, 46, 71, 97, 93, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 34, 37, 98, 34, 58, 32, 40, 103, 41, 32, 61, 62, 32, 118, 91, 103, 46, 83, 97, 93, 46, 115, 117, 98, 115, 116, 114, 105, 110, 103, 40, 48, 44, 32, 51, 41, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 34, 37, 66, 34, 58, 32, 40, 103, 41, 32, 61, 62, 32, 118, 91, 103, 46, 83, 97, 93, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 34, 37, 67, 34, 58, 32, 40, 103, 41, 32, 61, 62, 32, 102, 40, 40, 103, 46, 74, 97, 32, 43, 32, 49, 57, 48, 48, 41, 32, 47, 32, 49, 48, 48, 32, 124, 32, 48, 44, 32, 50, 41, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 34, 37, 100, 34, 58, 32, 40, 103, 41, 32, 61, 62, 32, 102, 40, 103, 46, 86, 97, 44, 32, 50, 41, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 34, 37, 101, 34, 58, 32, 40, 103, 41, 32, 61, 62, 32, 101, 40, 103, 46, 86, 97, 44, 32, 50, 44, 32, 34, 32, 34, 41, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 34, 37, 103, 34, 58, 32, 40, 103, 41, 32, 61, 62, 32, 110, 40, 103, 41, 46, 116, 111, 83, 116, 114, 105, 110, 103, 40, 41, 46, 115, 117, 98, 115, 116, 114, 105, 110, 103, 40, 50, 41, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 34, 37, 71, 34, 58, 32, 110, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 34, 37, 72, 34, 58, 32, 40, 103, 41, 32, 61, 62, 32, 102, 40, 103, 46, 82, 97, 44, 32, 50, 41, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 34, 37, 73, 34, 58, 32, 40, 103, 41, 32, 61, 62, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 103, 32, 61, 32, 103, 46, 82, 97, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 48, 32, 61, 61, 32, 103, 32, 63, 32, 103, 32, 61, 32, 49, 50, 32, 58, 32, 49, 50, 32, 60, 32, 103, 32, 38, 38, 32, 40, 103, 32, 45, 61, 32, 49, 50, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 102, 40, 103, 44, 32, 50, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 125, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 34, 37, 106, 34, 58, 32, 40, 103, 41, 32, 61, 62, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 102, 111, 114, 32, 40, 118, 97, 114, 32, 113, 32, 61, 32, 48, 44, 32, 114, 32, 61, 32, 48, 59, 32, 114, 32, 60, 61, 32, 103, 46, 83, 97, 32, 45, 32, 49, 59, 32, 113, 32, 43, 61, 32, 40, 86, 98, 40, 103, 46, 74, 97, 32, 43, 32, 49, 57, 48, 48, 41, 32, 63, 32, 87, 98, 32, 58, 32, 88, 98, 41, 91, 114, 43, 43, 93, 41, 32, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 102, 40, 103, 46, 86, 97, 32, 43, 32, 113, 44, 32, 51, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 125, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 34, 37, 109, 34, 58, 32, 40, 103, 41, 32, 61, 62, 32, 102, 40, 103, 46, 83, 97, 32, 43, 32, 49, 44, 32, 50, 41, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 34, 37, 77, 34, 58, 32, 40, 103, 41, 32, 61, 62, 32, 102, 40, 103, 46, 114, 98, 44, 32, 50, 41, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 34, 37, 110, 34, 58, 32, 40, 41, 32, 61, 62, 32, 34, 92, 110, 34, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 34, 37, 112, 34, 58, 32, 40, 103, 41, 32, 61, 62, 32, 48, 32, 60, 61, 32, 103, 46, 82, 97, 32, 38, 38, 32, 49, 50, 32, 62, 32, 103, 46, 82, 97, 32, 63, 32, 34, 65, 77, 34, 32, 58, 32, 34, 80, 77, 34, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 34, 37, 83, 34, 58, 32, 40, 103, 41, 32, 61, 62, 32, 102, 40, 103, 46, 115, 98, 44, 32, 50, 41, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 34, 37, 116, 34, 58, 32, 40, 41, 32, 61, 62, 32, 34, 9, 34, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 34, 37, 117, 34, 58, 32, 40, 103, 41, 32, 61, 62, 32, 103, 46, 71, 97, 32, 124, 124, 32, 55, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 34, 37, 85, 34, 58, 32, 40, 103, 41, 32, 61, 62, 32, 102, 40, 77, 97, 116, 104, 46, 102, 108, 111, 111, 114, 40, 40, 103, 46, 73, 97, 32, 43, 32, 55, 32, 45, 32, 103, 46, 71, 97, 41, 32, 47, 32, 55, 41, 44, 32, 50, 41, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 34, 37, 86, 34, 58, 32, 40, 103, 41, 32, 61, 62, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 118, 97, 114, 32, 113, 32, 61, 32, 77, 97, 116, 104, 46, 102, 108, 111, 111, 114, 40, 40, 103, 46, 73, 97, 32, 43, 32, 55, 32, 45, 32, 40, 103, 46, 71, 97, 32, 43, 32, 54, 41, 32, 37, 32, 55, 41, 32, 47, 32, 55, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 50, 32, 62, 61, 32, 40, 103, 46, 71, 97, 32, 43, 32, 51, 55, 49, 32, 45, 32, 103, 46, 73, 97, 32, 45, 32, 50, 41, 32, 37, 32, 55, 32, 38, 38, 32, 113, 43, 43, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 113, 41, 32, 53, 51, 32, 61, 61, 32, 113, 32, 38, 38, 32, 40, 114, 32, 61, 32, 40, 103, 46, 71, 97, 32, 43, 32, 51, 55, 49, 32, 45, 32, 103, 46, 73, 97, 41, 32, 37, 32, 55, 44, 32, 52, 32, 61, 61, 32, 114, 32, 124, 124, 32, 51, 32, 61, 61, 32, 114, 32, 38, 38, 32, 86, 98, 40, 103, 46, 74, 97, 41, 32, 124, 124, 32, 40, 113, 32, 61, 32, 49, 41, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 101, 108, 115, 101, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 113, 32, 61, 32, 53, 50, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 118, 97, 114, 32, 114, 32, 61, 32, 40, 103, 46, 71, 97, 32, 43, 32, 55, 32, 45, 32, 103, 46, 73, 97, 32, 45, 32, 49, 41, 32, 37, 32, 55, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 40, 52, 32, 61, 61, 32, 114, 32, 124, 124, 32, 53, 32, 61, 61, 32, 114, 32, 38, 38, 32, 86, 98, 40, 103, 46, 74, 97, 32, 37, 32, 52, 48, 48, 32, 45, 32, 49, 41, 41, 32, 38, 38, 32, 113, 43, 43, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 102, 40, 113, 44, 32, 50, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 125, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 34, 37, 119, 34, 58, 32, 40, 103, 41, 32, 61, 62, 32, 103, 46, 71, 97, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 34, 37, 87, 34, 58, 32, 40, 103, 41, 32, 61, 62, 32, 102, 40, 77, 97, 116, 104, 46, 102, 108, 111, 111, 114, 40, 40, 103, 46, 73, 97, 32, 43, 32, 55, 32, 45, 32, 40, 103, 46, 71, 97, 32, 43, 32, 54, 41, 32, 37, 32, 55, 41, 32, 47, 32, 55, 41, 44, 32, 50, 41, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 34, 37, 121, 34, 58, 32, 40, 103, 41, 32, 61, 62, 32, 40, 103, 46, 74, 97, 32, 43, 32, 49, 57, 48, 48, 41, 46, 116, 111, 83, 116, 114, 105, 110, 103, 40, 41, 46, 115, 117, 98, 115, 116, 114, 105, 110, 103, 40, 50, 41, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 34, 37, 89, 34, 58, 32, 40, 103, 41, 32, 61, 62, 32, 103, 46, 74, 97, 32, 43, 32, 49, 57, 48, 48, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 34, 37, 122, 34, 58, 32, 40, 103, 41, 32, 61, 62, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 103, 32, 61, 32, 103, 46, 113, 98, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 118, 97, 114, 32, 113, 32, 61, 32, 48, 32, 60, 61, 32, 103, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 103, 32, 61, 32, 77, 97, 116, 104, 46, 97, 98, 115, 40, 103, 41, 32, 47, 32, 54, 48, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 40, 113, 32, 63, 32, 34, 43, 34, 32, 58, 32, 34, 45, 34, 41, 32, 43, 32, 83, 116, 114, 105, 110, 103, 40, 34, 48, 48, 48, 48, 34, 32, 43, 32, 40, 103, 32, 47, 32, 54, 48, 32, 42, 32, 49, 48, 48, 32, 43, 32, 103, 32, 37, 32, 54, 48, 41, 41, 46, 115, 108, 105, 99, 101, 40, 45, 52, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 125, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 34, 37, 90, 34, 58, 32, 40, 103, 41, 32, 61, 62, 32, 103, 46, 116, 98, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 34, 37, 37, 34, 58, 32, 40, 41, 32, 61, 62, 32, 34, 37, 34, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 99, 32, 61, 32, 99, 46, 114, 101, 112, 108, 97, 99, 101, 40, 47, 37, 37, 47, 103, 44, 32, 34, 92, 48, 92, 48, 34, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 102, 111, 114, 32, 40, 112, 32, 105, 110, 32, 109, 41, 32, 99, 46, 105, 110, 99, 108, 117, 100, 101, 115, 40, 112, 41, 32, 38, 38, 32, 40, 99, 32, 61, 32, 99, 46, 114, 101, 112, 108, 97, 99, 101, 40, 110, 101, 119, 32, 82, 101, 103, 69, 120, 112, 40, 112, 44, 32, 34, 103, 34, 41, 44, 32, 109, 91, 112, 93, 40, 100, 41, 41, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 99, 32, 61, 32, 99, 46, 114, 101, 112, 108, 97, 99, 101, 40, 47, 92, 48, 92, 48, 47, 103, 44, 32, 34, 37, 34, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 112, 32, 61, 32, 89, 98, 40, 99, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 112, 46, 108, 101, 110, 103, 116, 104, 32, 62, 32, 98, 41, 32, 114, 101, 116, 117, 114, 110, 32, 48, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 121, 46, 115, 101, 116, 40, 112, 44, 32, 97, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 112, 46, 108, 101, 110, 103, 116, 104, 32, 45, 32, 49, 59, 10, 32, 32, 32, 32, 32, 32, 125, 59, 10, 32, 32, 32, 32, 32, 32, 73, 97, 32, 61, 32, 107, 46, 73, 110, 116, 101, 114, 110, 97, 108, 69, 114, 114, 111, 114, 32, 61, 32, 99, 108, 97, 115, 115, 32, 101, 120, 116, 101, 110, 100, 115, 32, 69, 114, 114, 111, 114, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 99, 111, 110, 115, 116, 114, 117, 99, 116, 111, 114, 40, 97, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 115, 117, 112, 101, 114, 40, 97, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 116, 104, 105, 115, 46, 110, 97, 109, 101, 32, 61, 32, 34, 73, 110, 116, 101, 114, 110, 97, 108, 69, 114, 114, 111, 114, 34, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 32, 32, 125, 59, 10, 32, 32, 32, 32, 32, 32, 102, 111, 114, 32, 40, 118, 97, 114, 32, 36, 98, 32, 61, 32, 65, 114, 114, 97, 121, 40, 50, 53, 54, 41, 44, 32, 97, 99, 32, 61, 32, 48, 59, 32, 50, 53, 54, 32, 62, 32, 97, 99, 59, 32, 43, 43, 97, 99, 41, 32, 36, 98, 91, 97, 99, 93, 32, 61, 32, 83, 116, 114, 105, 110, 103, 46, 102, 114, 111, 109, 67, 104, 97, 114, 67, 111, 100, 101, 40, 97, 99, 41, 59, 10, 32, 32, 32, 32, 32, 32, 74, 97, 32, 61, 32, 36, 98, 59, 10, 32, 32, 32, 32, 32, 32, 82, 32, 61, 32, 107, 46, 66, 105, 110, 100, 105, 110, 103, 69, 114, 114, 111, 114, 32, 61, 32, 99, 108, 97, 115, 115, 32, 101, 120, 116, 101, 110, 100, 115, 32, 69, 114, 114, 111, 114, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 99, 111, 110, 115, 116, 114, 117, 99, 116, 111, 114, 40, 97, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 115, 117, 112, 101, 114, 40, 97, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 116, 104, 105, 115, 46, 110, 97, 109, 101, 32, 61, 32, 34, 66, 105, 110, 100, 105, 110, 103, 69, 114, 114, 111, 114, 34, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 32, 32, 125, 59, 10, 32, 32, 32, 32, 32, 32, 79, 98, 106, 101, 99, 116, 46, 97, 115, 115, 105, 103, 110, 40, 89, 97, 46, 112, 114, 111, 116, 111, 116, 121, 112, 101, 44, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 105, 115, 65, 108, 105, 97, 115, 79, 102, 58, 32, 102, 117, 110, 99, 116, 105, 111, 110, 40, 97, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 33, 40, 116, 104, 105, 115, 32, 105, 110, 115, 116, 97, 110, 99, 101, 111, 102, 32, 89, 97, 32, 38, 38, 32, 97, 32, 105, 110, 115, 116, 97, 110, 99, 101, 111, 102, 32, 89, 97, 41, 41, 32, 114, 101, 116, 117, 114, 110, 32, 102, 97, 108, 115, 101, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 118, 97, 114, 32, 98, 32, 61, 32, 116, 104, 105, 115, 46, 109, 97, 46, 122, 97, 46, 120, 97, 44, 32, 99, 32, 61, 32, 116, 104, 105, 115, 46, 109, 97, 46, 121, 97, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 97, 46, 109, 97, 32, 61, 32, 97, 46, 109, 97, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 118, 97, 114, 32, 100, 32, 61, 32, 97, 46, 109, 97, 46, 122, 97, 46, 120, 97, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 102, 111, 114, 32, 40, 97, 32, 61, 32, 97, 46, 109, 97, 46, 121, 97, 59, 32, 98, 46, 67, 97, 59, 32, 41, 32, 99, 32, 61, 32, 98, 46, 78, 97, 40, 99, 41, 44, 32, 98, 32, 61, 32, 98, 46, 67, 97, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 102, 111, 114, 32, 40, 59, 32, 100, 46, 67, 97, 59, 32, 41, 32, 97, 32, 61, 32, 100, 46, 78, 97, 40, 97, 41, 44, 32, 100, 32, 61, 32, 100, 46, 67, 97, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 98, 32, 61, 61, 61, 32, 100, 32, 38, 38, 32, 99, 32, 61, 61, 61, 32, 97, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 99, 108, 111, 110, 101, 58, 32, 102, 117, 110, 99, 116, 105, 111, 110, 40, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 116, 104, 105, 115, 46, 109, 97, 46, 121, 97, 32, 124, 124, 32, 76, 97, 40, 116, 104, 105, 115, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 116, 104, 105, 115, 46, 109, 97, 46, 77, 97, 41, 32, 114, 101, 116, 117, 114, 110, 32, 116, 104, 105, 115, 46, 109, 97, 46, 99, 111, 117, 110, 116, 46, 118, 97, 108, 117, 101, 32, 43, 61, 32, 49, 44, 32, 116, 104, 105, 115, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 118, 97, 114, 32, 97, 32, 61, 32, 87, 97, 44, 32, 98, 32, 61, 32, 79, 98, 106, 101, 99, 116, 44, 32, 99, 32, 61, 32, 98, 46, 99, 114, 101, 97, 116, 101, 44, 32, 100, 32, 61, 32, 79, 98, 106, 101, 99, 116, 46, 103, 101, 116, 80, 114, 111, 116, 111, 116, 121, 112, 101, 79, 102, 40, 116, 104, 105, 115, 41, 44, 32, 101, 32, 61, 32, 116, 104, 105, 115, 46, 109, 97, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 97, 32, 61, 32, 97, 40, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 99, 46, 99, 97, 108, 108, 40, 98, 44, 32, 100, 44, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 109, 97, 58, 32, 123, 32, 118, 97, 108, 117, 101, 58, 32, 123, 32, 99, 111, 117, 110, 116, 58, 32, 101, 46, 99, 111, 117, 110, 116, 44, 32, 75, 97, 58, 32, 101, 46, 75, 97, 44, 32, 77, 97, 58, 32, 101, 46, 77, 97, 44, 32, 121, 97, 58, 32, 101, 46, 121, 97, 44, 32, 122, 97, 58, 32, 101, 46, 122, 97, 44, 32, 65, 97, 58, 32, 101, 46, 65, 97, 44, 32, 68, 97, 58, 32, 101, 46, 68, 97, 32, 125, 32, 125, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 125, 41, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 97, 46, 109, 97, 46, 99, 111, 117, 110, 116, 46, 118, 97, 108, 117, 101, 32, 43, 61, 32, 49, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 97, 46, 109, 97, 46, 75, 97, 32, 61, 32, 102, 97, 108, 115, 101, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 97, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 91, 34, 100, 101, 108, 101, 116, 101, 34, 93, 40, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 116, 104, 105, 115, 46, 109, 97, 46, 121, 97, 32, 124, 124, 32, 76, 97, 40, 116, 104, 105, 115, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 116, 104, 105, 115, 46, 109, 97, 46, 75, 97, 32, 38, 38, 32, 33, 116, 104, 105, 115, 46, 109, 97, 46, 77, 97, 41, 32, 116, 104, 114, 111, 119, 32, 110, 101, 119, 32, 82, 40, 34, 79, 98, 106, 101, 99, 116, 32, 97, 108, 114, 101, 97, 100, 121, 32, 115, 99, 104, 101, 100, 117, 108, 101, 100, 32, 102, 111, 114, 32, 100, 101, 108, 101, 116, 105, 111, 110, 34, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 79, 97, 40, 116, 104, 105, 115, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 118, 97, 114, 32, 97, 32, 61, 32, 116, 104, 105, 115, 46, 109, 97, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 45, 45, 97, 46, 99, 111, 117, 110, 116, 46, 118, 97, 108, 117, 101, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 48, 32, 61, 61, 61, 32, 97, 46, 99, 111, 117, 110, 116, 46, 118, 97, 108, 117, 101, 32, 38, 38, 32, 40, 97, 46, 65, 97, 32, 63, 32, 97, 46, 68, 97, 46, 70, 97, 40, 97, 46, 65, 97, 41, 32, 58, 32, 97, 46, 122, 97, 46, 120, 97, 46, 70, 97, 40, 97, 46, 121, 97, 41, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 116, 104, 105, 115, 46, 109, 97, 46, 77, 97, 32, 124, 124, 32, 40, 116, 104, 105, 115, 46, 109, 97, 46, 65, 97, 32, 61, 32, 118, 111, 105, 100, 32, 48, 44, 32, 116, 104, 105, 115, 46, 109, 97, 46, 121, 97, 32, 61, 32, 118, 111, 105, 100, 32, 48, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 105, 115, 68, 101, 108, 101, 116, 101, 100, 58, 32, 102, 117, 110, 99, 116, 105, 111, 110, 40, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 33, 116, 104, 105, 115, 46, 109, 97, 46, 121, 97, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 100, 101, 108, 101, 116, 101, 76, 97, 116, 101, 114, 58, 32, 102, 117, 110, 99, 116, 105, 111, 110, 40, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 116, 104, 105, 115, 46, 109, 97, 46, 121, 97, 32, 124, 124, 32, 76, 97, 40, 116, 104, 105, 115, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 116, 104, 105, 115, 46, 109, 97, 46, 75, 97, 32, 38, 38, 32, 33, 116, 104, 105, 115, 46, 109, 97, 46, 77, 97, 41, 32, 116, 104, 114, 111, 119, 32, 110, 101, 119, 32, 82, 40, 34, 79, 98, 106, 101, 99, 116, 32, 97, 108, 114, 101, 97, 100, 121, 32, 115, 99, 104, 101, 100, 117, 108, 101, 100, 32, 102, 111, 114, 32, 100, 101, 108, 101, 116, 105, 111, 110, 34, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 82, 97, 46, 112, 117, 115, 104, 40, 116, 104, 105, 115, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 49, 32, 61, 61, 61, 32, 82, 97, 46, 108, 101, 110, 103, 116, 104, 32, 38, 38, 32, 84, 97, 32, 38, 38, 32, 84, 97, 40, 83, 97, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 116, 104, 105, 115, 46, 109, 97, 46, 75, 97, 32, 61, 32, 116, 114, 117, 101, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 116, 104, 105, 115, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 32, 32, 125, 41, 59, 10, 32, 32, 32, 32, 32, 32, 107, 46, 103, 101, 116, 73, 110, 104, 101, 114, 105, 116, 101, 100, 73, 110, 115, 116, 97, 110, 99, 101, 67, 111, 117, 110, 116, 32, 61, 32, 40, 41, 32, 61, 62, 32, 79, 98, 106, 101, 99, 116, 46, 107, 101, 121, 115, 40, 85, 97, 41, 46, 108, 101, 110, 103, 116, 104, 59, 10, 32, 32, 32, 32, 32, 32, 107, 46, 103, 101, 116, 76, 105, 118, 101, 73, 110, 104, 101, 114, 105, 116, 101, 100, 73, 110, 115, 116, 97, 110, 99, 101, 115, 32, 61, 32, 40, 41, 32, 61, 62, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 118, 97, 114, 32, 97, 32, 61, 32, 91, 93, 44, 32, 98, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 102, 111, 114, 32, 40, 98, 32, 105, 110, 32, 85, 97, 41, 32, 85, 97, 46, 104, 97, 115, 79, 119, 110, 80, 114, 111, 112, 101, 114, 116, 121, 40, 98, 41, 32, 38, 38, 32, 97, 46, 112, 117, 115, 104, 40, 85, 97, 91, 98, 93, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 97, 59, 10, 32, 32, 32, 32, 32, 32, 125, 59, 10, 32, 32, 32, 32, 32, 32, 107, 46, 102, 108, 117, 115, 104, 80, 101, 110, 100, 105, 110, 103, 68, 101, 108, 101, 116, 101, 115, 32, 61, 32, 83, 97, 59, 10, 32, 32, 32, 32, 32, 32, 107, 46, 115, 101, 116, 68, 101, 108, 97, 121, 70, 117, 110, 99, 116, 105, 111, 110, 32, 61, 32, 40, 97, 41, 32, 61, 62, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 84, 97, 32, 61, 32, 97, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 82, 97, 46, 108, 101, 110, 103, 116, 104, 32, 38, 38, 32, 84, 97, 32, 38, 38, 32, 84, 97, 40, 83, 97, 41, 59, 10, 32, 32, 32, 32, 32, 32, 125, 59, 10, 32, 32, 32, 32, 32, 32, 79, 98, 106, 101, 99, 116, 46, 97, 115, 115, 105, 103, 110, 40, 106, 98, 46, 112, 114, 111, 116, 111, 116, 121, 112, 101, 44, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 101, 98, 40, 97, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 116, 104, 105, 115, 46, 90, 97, 32, 38, 38, 32, 40, 97, 32, 61, 32, 116, 104, 105, 115, 46, 90, 97, 40, 97, 41, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 97, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 88, 97, 40, 97, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 116, 104, 105, 115, 46, 70, 97, 63, 46, 40, 97, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 97, 114, 103, 80, 97, 99, 107, 65, 100, 118, 97, 110, 99, 101, 58, 32, 56, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 97, 100, 86, 97, 108, 117, 101, 70, 114, 111, 109, 80, 111, 105, 110, 116, 101, 114, 58, 32, 75, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 102, 114, 111, 109, 87, 105, 114, 101, 84, 121, 112, 101, 58, 32, 102, 117, 110, 99, 116, 105, 111, 110, 40, 97, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 102, 117, 110, 99, 116, 105, 111, 110, 32, 98, 40, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 116, 104, 105, 115, 46, 81, 97, 32, 63, 32, 88, 97, 40, 116, 104, 105, 115, 46, 120, 97, 46, 76, 97, 44, 32, 123, 32, 122, 97, 58, 32, 116, 104, 105, 115, 46, 106, 98, 44, 32, 121, 97, 58, 32, 99, 44, 32, 68, 97, 58, 32, 116, 104, 105, 115, 44, 32, 65, 97, 58, 32, 97, 32, 125, 41, 32, 58, 32, 88, 97, 40, 116, 104, 105, 115, 46, 120, 97, 46, 76, 97, 44, 32, 123, 32, 122, 97, 58, 32, 116, 104, 105, 115, 44, 32, 121, 97, 58, 32, 97, 32, 125, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 118, 97, 114, 32, 99, 32, 61, 32, 116, 104, 105, 115, 46, 101, 98, 40, 97, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 33, 99, 41, 32, 114, 101, 116, 117, 114, 110, 32, 116, 104, 105, 115, 46, 88, 97, 40, 97, 41, 44, 32, 110, 117, 108, 108, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 118, 97, 114, 32, 100, 32, 61, 32, 86, 97, 40, 116, 104, 105, 115, 46, 120, 97, 44, 32, 99, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 118, 111, 105, 100, 32, 48, 32, 33, 61, 61, 32, 100, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 48, 32, 61, 61, 61, 32, 100, 46, 109, 97, 46, 99, 111, 117, 110, 116, 46, 118, 97, 108, 117, 101, 41, 32, 114, 101, 116, 117, 114, 110, 32, 100, 46, 109, 97, 46, 121, 97, 32, 61, 32, 99, 44, 32, 100, 46, 109, 97, 46, 65, 97, 32, 61, 32, 97, 44, 32, 100, 46, 99, 108, 111, 110, 101, 40, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 100, 32, 61, 32, 100, 46, 99, 108, 111, 110, 101, 40, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 116, 104, 105, 115, 46, 88, 97, 40, 97, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 100, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 100, 32, 61, 32, 116, 104, 105, 115, 46, 120, 97, 46, 99, 98, 40, 99, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 100, 32, 61, 32, 81, 97, 91, 100, 93, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 33, 100, 41, 32, 114, 101, 116, 117, 114, 110, 32, 98, 46, 99, 97, 108, 108, 40, 116, 104, 105, 115, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 100, 32, 61, 32, 116, 104, 105, 115, 46, 80, 97, 32, 63, 32, 100, 46, 36, 97, 32, 58, 32, 100, 46, 112, 111, 105, 110, 116, 101, 114, 84, 121, 112, 101, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 118, 97, 114, 32, 101, 32, 61, 32, 80, 97, 40, 99, 44, 32, 116, 104, 105, 115, 46, 120, 97, 44, 32, 100, 46, 120, 97, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 110, 117, 108, 108, 32, 61, 61, 61, 32, 101, 32, 63, 32, 98, 46, 99, 97, 108, 108, 40, 116, 104, 105, 115, 41, 32, 58, 32, 116, 104, 105, 115, 46, 81, 97, 32, 63, 32, 88, 97, 40, 100, 46, 120, 97, 46, 76, 97, 44, 32, 123, 32, 122, 97, 58, 32, 100, 44, 32, 121, 97, 58, 32, 101, 44, 32, 68, 97, 58, 32, 116, 104, 105, 115, 44, 32, 65, 97, 58, 32, 97, 32, 125, 41, 32, 58, 32, 88, 97, 40, 100, 46, 120, 97, 46, 76, 97, 44, 32, 123, 32, 122, 97, 58, 32, 100, 44, 32, 121, 97, 58, 32, 101, 32, 125, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 32, 32, 125, 41, 59, 10, 32, 32, 32, 32, 32, 32, 110, 98, 32, 61, 32, 107, 46, 85, 110, 98, 111, 117, 110, 100, 84, 121, 112, 101, 69, 114, 114, 111, 114, 32, 61, 32, 40, 40, 97, 44, 32, 98, 41, 32, 61, 62, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 118, 97, 114, 32, 99, 32, 61, 32, 90, 97, 40, 98, 44, 32, 102, 117, 110, 99, 116, 105, 111, 110, 40, 100, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 116, 104, 105, 115, 46, 110, 97, 109, 101, 32, 61, 32, 98, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 116, 104, 105, 115, 46, 109, 101, 115, 115, 97, 103, 101, 32, 61, 32, 100, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 100, 32, 61, 32, 69, 114, 114, 111, 114, 40, 100, 41, 46, 115, 116, 97, 99, 107, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 118, 111, 105, 100, 32, 48, 32, 33, 61, 61, 32, 100, 32, 38, 38, 32, 40, 116, 104, 105, 115, 46, 115, 116, 97, 99, 107, 32, 61, 32, 116, 104, 105, 115, 46, 116, 111, 83, 116, 114, 105, 110, 103, 40, 41, 32, 43, 32, 34, 92, 110, 34, 32, 43, 32, 100, 46, 114, 101, 112, 108, 97, 99, 101, 40, 47, 94, 69, 114, 114, 111, 114, 40, 58, 91, 94, 92, 110, 93, 42, 41, 63, 92, 110, 47, 44, 32, 34, 34, 41, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 99, 46, 112, 114, 111, 116, 111, 116, 121, 112, 101, 32, 61, 32, 79, 98, 106, 101, 99, 116, 46, 99, 114, 101, 97, 116, 101, 40, 97, 46, 112, 114, 111, 116, 111, 116, 121, 112, 101, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 99, 46, 112, 114, 111, 116, 111, 116, 121, 112, 101, 46, 99, 111, 110, 115, 116, 114, 117, 99, 116, 111, 114, 32, 61, 32, 99, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 99, 46, 112, 114, 111, 116, 111, 116, 121, 112, 101, 46, 116, 111, 83, 116, 114, 105, 110, 103, 32, 61, 32, 102, 117, 110, 99, 116, 105, 111, 110, 40, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 118, 111, 105, 100, 32, 48, 32, 61, 61, 61, 32, 116, 104, 105, 115, 46, 109, 101, 115, 115, 97, 103, 101, 32, 63, 32, 116, 104, 105, 115, 46, 110, 97, 109, 101, 32, 58, 32, 96, 36, 123, 116, 104, 105, 115, 46, 110, 97, 109, 101, 125, 58, 32, 36, 123, 116, 104, 105, 115, 46, 109, 101, 115, 115, 97, 103, 101, 125, 96, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 99, 59, 10, 32, 32, 32, 32, 32, 32, 125, 41, 40, 69, 114, 114, 111, 114, 44, 32, 34, 85, 110, 98, 111, 117, 110, 100, 84, 121, 112, 101, 69, 114, 114, 111, 114, 34, 41, 59, 10, 32, 32, 32, 32, 32, 32, 86, 46, 112, 117, 115, 104, 40, 48, 44, 32, 49, 44, 32, 118, 111, 105, 100, 32, 48, 44, 32, 49, 44, 32, 110, 117, 108, 108, 44, 32, 49, 44, 32, 116, 114, 117, 101, 44, 32, 49, 44, 32, 102, 97, 108, 115, 101, 44, 32, 49, 41, 59, 10, 32, 32, 32, 32, 32, 32, 107, 46, 99, 111, 117, 110, 116, 95, 101, 109, 118, 97, 108, 95, 104, 97, 110, 100, 108, 101, 115, 32, 61, 32, 40, 41, 32, 61, 62, 32, 86, 46, 108, 101, 110, 103, 116, 104, 32, 47, 32, 50, 32, 45, 32, 53, 32, 45, 32, 118, 98, 46, 108, 101, 110, 103, 116, 104, 59, 10, 32, 32, 32, 32, 32, 32, 118, 97, 114, 32, 109, 99, 32, 61, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 99, 58, 32, 40, 97, 44, 32, 98, 44, 32, 99, 44, 32, 100, 41, 32, 61, 62, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 114, 97, 40, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 96, 65, 115, 115, 101, 114, 116, 105, 111, 110, 32, 102, 97, 105, 108, 101, 100, 58, 32, 36, 123, 97, 32, 63, 32, 74, 40, 65, 44, 32, 97, 41, 32, 58, 32, 34, 34, 125, 44, 32, 97, 116, 58, 32, 96, 32, 43, 32, 91, 98, 32, 63, 32, 98, 32, 63, 32, 74, 40, 65, 44, 32, 98, 41, 32, 58, 32, 34, 34, 32, 58, 32, 34, 117, 110, 107, 110, 111, 119, 110, 32, 102, 105, 108, 101, 110, 97, 109, 101, 34, 44, 32, 99, 44, 32, 100, 32, 63, 32, 100, 32, 63, 32, 74, 40, 65, 44, 32, 100, 41, 32, 58, 32, 34, 34, 32, 58, 32, 34, 117, 110, 107, 110, 111, 119, 110, 32, 102, 117, 110, 99, 116, 105, 111, 110, 34, 93, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 109, 58, 32, 40, 97, 44, 32, 98, 44, 32, 99, 41, 32, 61, 62, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 118, 97, 114, 32, 100, 32, 61, 32, 110, 101, 119, 32, 65, 97, 40, 97, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 70, 91, 100, 46, 121, 97, 32, 43, 32, 49, 54, 32, 62, 62, 32, 50, 93, 32, 61, 32, 48, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 70, 91, 100, 46, 121, 97, 32, 43, 32, 52, 32, 62, 62, 32, 50, 93, 32, 61, 32, 98, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 70, 91, 100, 46, 121, 97, 32, 43, 32, 56, 32, 62, 62, 32, 50, 93, 32, 61, 32, 99, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 66, 97, 32, 61, 32, 97, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 67, 97, 43, 43, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 116, 104, 114, 111, 119, 32, 66, 97, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 66, 58, 32, 102, 117, 110, 99, 116, 105, 111, 110, 40, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 48, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 80, 58, 32, 40, 41, 32, 61, 62, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 77, 58, 32, 40, 41, 32, 61, 62, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 82, 58, 32, 102, 117, 110, 99, 116, 105, 111, 110, 40, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 48, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 78, 58, 32, 40, 41, 32, 61, 62, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 65, 58, 32, 102, 117, 110, 99, 116, 105, 111, 110, 40, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 79, 58, 32, 40, 41, 32, 61, 62, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 118, 58, 32, 40, 97, 41, 32, 61, 62, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 118, 97, 114, 32, 98, 32, 61, 32, 70, 97, 91, 97, 93, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 100, 101, 108, 101, 116, 101, 32, 70, 97, 91, 97, 93, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 118, 97, 114, 32, 99, 32, 61, 32, 98, 46, 85, 97, 44, 32, 100, 32, 61, 32, 98, 46, 70, 97, 44, 32, 101, 32, 61, 32, 98, 46, 89, 97, 44, 32, 102, 32, 61, 32, 101, 46, 109, 97, 112, 40, 40, 108, 41, 32, 61, 62, 32, 108, 46, 104, 98, 41, 46, 99, 111, 110, 99, 97, 116, 40, 101, 46, 109, 97, 112, 40, 40, 108, 41, 32, 61, 62, 32, 108, 46, 110, 98, 41, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 80, 40, 91, 97, 93, 44, 32, 102, 44, 32, 40, 108, 41, 32, 61, 62, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 118, 97, 114, 32, 104, 32, 61, 32, 123, 125, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 101, 46, 102, 111, 114, 69, 97, 99, 104, 40, 40, 110, 44, 32, 109, 41, 32, 61, 62, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 118, 97, 114, 32, 112, 32, 61, 32, 108, 91, 109, 93, 44, 32, 117, 32, 61, 32, 110, 46, 102, 98, 44, 32, 118, 32, 61, 32, 110, 46, 103, 98, 44, 32, 103, 32, 61, 32, 108, 91, 109, 32, 43, 32, 101, 46, 108, 101, 110, 103, 116, 104, 93, 44, 32, 113, 32, 61, 32, 110, 46, 109, 98, 44, 32, 114, 32, 61, 32, 110, 46, 111, 98, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 104, 91, 110, 46, 98, 98, 93, 32, 61, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 97, 100, 58, 32, 40, 122, 41, 32, 61, 62, 32, 112, 46, 102, 114, 111, 109, 87, 105, 114, 101, 84, 121, 112, 101, 40, 117, 40, 118, 44, 32, 122, 41, 41, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 119, 114, 105, 116, 101, 58, 32, 40, 122, 44, 32, 78, 41, 32, 61, 62, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 118, 97, 114, 32, 68, 32, 61, 32, 91, 93, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 113, 40, 114, 44, 32, 122, 44, 32, 103, 46, 116, 111, 87, 105, 114, 101, 84, 121, 112, 101, 40, 68, 44, 32, 78, 41, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 71, 97, 40, 68, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 125, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 125, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 91, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 110, 97, 109, 101, 58, 32, 98, 46, 110, 97, 109, 101, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 102, 114, 111, 109, 87, 105, 114, 101, 84, 121, 112, 101, 58, 32, 40, 110, 41, 32, 61, 62, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 118, 97, 114, 32, 109, 32, 61, 32, 123, 125, 44, 32, 112, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 102, 111, 114, 32, 40, 112, 32, 105, 110, 32, 104, 41, 32, 109, 91, 112, 93, 32, 61, 32, 104, 91, 112, 93, 46, 114, 101, 97, 100, 40, 110, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 100, 40, 110, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 109, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 125, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 116, 111, 87, 105, 114, 101, 84, 121, 112, 101, 58, 32, 40, 110, 44, 32, 109, 41, 32, 61, 62, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 102, 111, 114, 32, 40, 118, 97, 114, 32, 112, 32, 105, 110, 32, 104, 41, 32, 105, 102, 32, 40, 33, 40, 112, 32, 105, 110, 32, 109, 41, 41, 32, 116, 104, 114, 111, 119, 32, 110, 101, 119, 32, 84, 121, 112, 101, 69, 114, 114, 111, 114, 40, 96, 77, 105, 115, 115, 105, 110, 103, 32, 102, 105, 101, 108, 100, 58, 32, 34, 36, 123, 112, 125, 34, 96, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 118, 97, 114, 32, 117, 32, 61, 32, 99, 40, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 102, 111, 114, 32, 40, 112, 32, 105, 110, 32, 104, 41, 32, 104, 91, 112, 93, 46, 119, 114, 105, 116, 101, 40, 117, 44, 32, 109, 91, 112, 93, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 110, 117, 108, 108, 32, 33, 61, 61, 32, 110, 32, 38, 38, 32, 110, 46, 112, 117, 115, 104, 40, 100, 44, 32, 117, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 117, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 125, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 97, 114, 103, 80, 97, 99, 107, 65, 100, 118, 97, 110, 99, 101, 58, 32, 56, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 97, 100, 86, 97, 108, 117, 101, 70, 114, 111, 109, 80, 111, 105, 110, 116, 101, 114, 58, 32, 75, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 69, 97, 58, 32, 100, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 93, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 125, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 73, 58, 32, 40, 41, 32, 61, 62, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 89, 58, 32, 40, 97, 44, 32, 98, 44, 32, 99, 44, 32, 100, 41, 32, 61, 62, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 98, 32, 61, 32, 81, 40, 98, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 79, 40, 97, 44, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 110, 97, 109, 101, 58, 32, 98, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 102, 114, 111, 109, 87, 105, 114, 101, 84, 121, 112, 101, 58, 32, 102, 117, 110, 99, 116, 105, 111, 110, 40, 101, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 33, 33, 101, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 125, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 116, 111, 87, 105, 114, 101, 84, 121, 112, 101, 58, 32, 102, 117, 110, 99, 116, 105, 111, 110, 40, 101, 44, 32, 102, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 102, 32, 63, 32, 99, 32, 58, 32, 100, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 125, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 97, 114, 103, 80, 97, 99, 107, 65, 100, 118, 97, 110, 99, 101, 58, 32, 56, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 97, 100, 86, 97, 108, 117, 101, 70, 114, 111, 109, 80, 111, 105, 110, 116, 101, 114, 58, 32, 102, 117, 110, 99, 116, 105, 111, 110, 40, 101, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 116, 104, 105, 115, 46, 102, 114, 111, 109, 87, 105, 114, 101, 84, 121, 112, 101, 40, 65, 91, 101, 93, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 125, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 69, 97, 58, 32, 110, 117, 108, 108, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 125, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 114, 58, 32, 40, 97, 44, 32, 98, 44, 32, 99, 44, 32, 100, 44, 32, 101, 44, 32, 102, 44, 32, 108, 44, 32, 104, 44, 32, 110, 44, 32, 109, 44, 32, 112, 44, 32, 117, 44, 32, 118, 41, 32, 61, 62, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 112, 32, 61, 32, 81, 40, 112, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 102, 32, 61, 32, 84, 40, 101, 44, 32, 102, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 104, 32, 38, 38, 32, 40, 104, 32, 61, 32, 84, 40, 108, 44, 32, 104, 41, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 109, 32, 38, 38, 32, 40, 109, 32, 61, 32, 84, 40, 110, 44, 32, 109, 41, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 118, 32, 61, 32, 84, 40, 117, 44, 32, 118, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 118, 97, 114, 32, 103, 32, 61, 32, 98, 98, 40, 112, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 97, 98, 40, 103, 44, 32, 102, 117, 110, 99, 116, 105, 111, 110, 40, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 113, 98, 40, 96, 67, 97, 110, 110, 111, 116, 32, 99, 111, 110, 115, 116, 114, 117, 99, 116, 32, 36, 123, 112, 125, 32, 100, 117, 101, 32, 116, 111, 32, 117, 110, 98, 111, 117, 110, 100, 32, 116, 121, 112, 101, 115, 96, 44, 32, 91, 100, 93, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 125, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 80, 40, 91, 97, 44, 32, 98, 44, 32, 99, 93, 44, 32, 100, 32, 63, 32, 91, 100, 93, 32, 58, 32, 91, 93, 44, 32, 40, 113, 41, 32, 61, 62, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 113, 32, 61, 32, 113, 91, 48, 93, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 100, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 118, 97, 114, 32, 114, 32, 61, 32, 113, 46, 120, 97, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 118, 97, 114, 32, 122, 32, 61, 32, 114, 46, 76, 97, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 125, 32, 101, 108, 115, 101, 32, 122, 32, 61, 32, 89, 97, 46, 112, 114, 111, 116, 111, 116, 121, 112, 101, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 113, 32, 61, 32, 90, 97, 40, 112, 44, 32, 102, 117, 110, 99, 116, 105, 111, 110, 40, 46, 46, 46, 78, 97, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 79, 98, 106, 101, 99, 116, 46, 103, 101, 116, 80, 114, 111, 116, 111, 116, 121, 112, 101, 79, 102, 40, 116, 104, 105, 115, 41, 32, 33, 61, 61, 32, 78, 41, 32, 116, 104, 114, 111, 119, 32, 110, 101, 119, 32, 82, 40, 34, 85, 115, 101, 32, 39, 110, 101, 119, 39, 32, 116, 111, 32, 99, 111, 110, 115, 116, 114, 117, 99, 116, 32, 34, 32, 43, 32, 112, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 118, 111, 105, 100, 32, 48, 32, 61, 61, 61, 32, 68, 46, 72, 97, 41, 32, 116, 104, 114, 111, 119, 32, 110, 101, 119, 32, 82, 40, 112, 32, 43, 32, 34, 32, 104, 97, 115, 32, 110, 111, 32, 97, 99, 99, 101, 115, 115, 105, 98, 108, 101, 32, 99, 111, 110, 115, 116, 114, 117, 99, 116, 111, 114, 34, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 118, 97, 114, 32, 120, 98, 32, 61, 32, 68, 46, 72, 97, 91, 78, 97, 46, 108, 101, 110, 103, 116, 104, 93, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 118, 111, 105, 100, 32, 48, 32, 61, 61, 61, 32, 120, 98, 41, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 116, 104, 114, 111, 119, 32, 110, 101, 119, 32, 82, 40, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 96, 84, 114, 105, 101, 100, 32, 116, 111, 32, 105, 110, 118, 111, 107, 101, 32, 99, 116, 111, 114, 32, 111, 102, 32, 36, 123, 112, 125, 32, 119, 105, 116, 104, 32, 105, 110, 118, 97, 108, 105, 100, 32, 110, 117, 109, 98, 101, 114, 32, 111, 102, 32, 112, 97, 114, 97, 109, 101, 116, 101, 114, 115, 32, 40, 36, 123, 78, 97, 46, 108, 101, 110, 103, 116, 104, 125, 41, 32, 45, 32, 101, 120, 112, 101, 99, 116, 101, 100, 32, 40, 36, 123, 79, 98, 106, 101, 99, 116, 46, 107, 101, 121, 115, 40, 68, 46, 72, 97, 41, 46, 116, 111, 83, 116, 114, 105, 110, 103, 40, 41, 125, 41, 32, 112, 97, 114, 97, 109, 101, 116, 101, 114, 115, 32, 105, 110, 115, 116, 101, 97, 100, 33, 96, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 120, 98, 46, 97, 112, 112, 108, 121, 40, 116, 104, 105, 115, 44, 32, 78, 97, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 125, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 118, 97, 114, 32, 78, 32, 61, 32, 79, 98, 106, 101, 99, 116, 46, 99, 114, 101, 97, 116, 101, 40, 122, 44, 32, 123, 32, 99, 111, 110, 115, 116, 114, 117, 99, 116, 111, 114, 58, 32, 123, 32, 118, 97, 108, 117, 101, 58, 32, 113, 32, 125, 32, 125, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 113, 46, 112, 114, 111, 116, 111, 116, 121, 112, 101, 32, 61, 32, 78, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 118, 97, 114, 32, 68, 32, 61, 32, 110, 101, 119, 32, 99, 98, 40, 112, 44, 32, 113, 44, 32, 78, 44, 32, 118, 44, 32, 114, 44, 32, 102, 44, 32, 104, 44, 32, 109, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 68, 46, 67, 97, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 118, 97, 114, 32, 105, 97, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 40, 105, 97, 32, 61, 32, 68, 46, 67, 97, 41, 46, 87, 97, 32, 63, 63, 32, 40, 105, 97, 46, 87, 97, 32, 61, 32, 91, 93, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 68, 46, 67, 97, 46, 87, 97, 46, 112, 117, 115, 104, 40, 68, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 114, 32, 61, 32, 110, 101, 119, 32, 106, 98, 40, 112, 44, 32, 68, 44, 32, 116, 114, 117, 101, 44, 32, 102, 97, 108, 115, 101, 44, 32, 102, 97, 108, 115, 101, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 105, 97, 32, 61, 32, 110, 101, 119, 32, 106, 98, 40, 112, 32, 43, 32, 34, 42, 34, 44, 32, 68, 44, 32, 102, 97, 108, 115, 101, 44, 32, 102, 97, 108, 115, 101, 44, 32, 102, 97, 108, 115, 101, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 122, 32, 61, 32, 110, 101, 119, 32, 106, 98, 40, 112, 32, 43, 32, 34, 32, 99, 111, 110, 115, 116, 42, 34, 44, 32, 68, 44, 32, 102, 97, 108, 115, 101, 44, 32, 116, 114, 117, 101, 44, 32, 102, 97, 108, 115, 101, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 81, 97, 91, 97, 93, 32, 61, 32, 123, 32, 112, 111, 105, 110, 116, 101, 114, 84, 121, 112, 101, 58, 32, 105, 97, 44, 32, 36, 97, 58, 32, 122, 32, 125, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 107, 98, 40, 103, 44, 32, 113, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 91, 114, 44, 32, 105, 97, 44, 32, 122, 93, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 125, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 113, 58, 32, 40, 97, 44, 32, 98, 44, 32, 99, 44, 32, 100, 44, 32, 101, 44, 32, 102, 41, 32, 61, 62, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 118, 97, 114, 32, 108, 32, 61, 32, 114, 98, 40, 98, 44, 32, 99, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 101, 32, 61, 32, 84, 40, 100, 44, 32, 101, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 80, 40, 91, 93, 44, 32, 91, 97, 93, 44, 32, 40, 104, 41, 32, 61, 62, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 104, 32, 61, 32, 104, 91, 48, 93, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 118, 97, 114, 32, 110, 32, 61, 32, 96, 99, 111, 110, 115, 116, 114, 117, 99, 116, 111, 114, 32, 36, 123, 104, 46, 110, 97, 109, 101, 125, 96, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 118, 111, 105, 100, 32, 48, 32, 61, 61, 61, 32, 104, 46, 120, 97, 46, 72, 97, 32, 38, 38, 32, 40, 104, 46, 120, 97, 46, 72, 97, 32, 61, 32, 91, 93, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 118, 111, 105, 100, 32, 48, 32, 33, 61, 61, 32, 104, 46, 120, 97, 46, 72, 97, 91, 98, 32, 45, 32, 49, 93, 41, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 116, 104, 114, 111, 119, 32, 110, 101, 119, 32, 82, 40, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 96, 67, 97, 110, 110, 111, 116, 32, 114, 101, 103, 105, 115, 116, 101, 114, 32, 109, 117, 108, 116, 105, 112, 108, 101, 32, 99, 111, 110, 115, 116, 114, 117, 99, 116, 111, 114, 115, 32, 119, 105, 116, 104, 32, 105, 100, 101, 110, 116, 105, 99, 97, 108, 32, 110, 117, 109, 98, 101, 114, 32, 111, 102, 32, 112, 97, 114, 97, 109, 101, 116, 101, 114, 115, 32, 40, 36, 123, 98, 32, 45, 32, 49, 125, 41, 32, 102, 111, 114, 32, 99, 108, 97, 115, 115, 32, 39, 36, 123, 104, 46, 110, 97, 109, 101, 125, 39, 33, 32, 79, 118, 101, 114, 108, 111, 97, 100, 32, 114, 101, 115, 111, 108, 117, 116, 105, 111, 110, 32, 105, 115, 32, 99, 117, 114, 114, 101, 110, 116, 108, 121, 32, 111, 110, 108, 121, 32, 112, 101, 114, 102, 111, 114, 109, 101, 100, 32, 117, 115, 105, 110, 103, 32, 116, 104, 101, 32, 112, 97, 114, 97, 109, 101, 116, 101, 114, 32, 99, 111, 117, 110, 116, 44, 32, 110, 111, 116, 32, 97, 99, 116, 117, 97, 108, 32, 116, 121, 112, 101, 32, 105, 110, 102, 111, 33, 96, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 104, 46, 120, 97, 46, 72, 97, 91, 98, 32, 45, 32, 49, 93, 32, 61, 32, 40, 41, 32, 61, 62, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 113, 98, 40, 96, 67, 97, 110, 110, 111, 116, 32, 99, 111, 110, 115, 116, 114, 117, 99, 116, 32, 36, 123, 104, 46, 110, 97, 109, 101, 125, 32, 100, 117, 101, 32, 116, 111, 32, 117, 110, 98, 111, 117, 110, 100, 32, 116, 121, 112, 101, 115, 96, 44, 32, 108, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 125, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 80, 40, 91, 93, 44, 32, 108, 44, 32, 40, 109, 41, 32, 61, 62, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 109, 46, 115, 112, 108, 105, 99, 101, 40, 49, 44, 32, 48, 44, 32, 110, 117, 108, 108, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 104, 46, 120, 97, 46, 72, 97, 91, 98, 32, 45, 32, 49, 93, 32, 61, 32, 116, 98, 40, 110, 44, 32, 109, 44, 32, 110, 117, 108, 108, 44, 32, 101, 44, 32, 102, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 91, 93, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 125, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 91, 93, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 125, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 102, 58, 32, 40, 97, 44, 32, 98, 44, 32, 99, 44, 32, 100, 44, 32, 101, 44, 32, 102, 44, 32, 108, 44, 32, 104, 41, 32, 61, 62, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 118, 97, 114, 32, 110, 32, 61, 32, 114, 98, 40, 99, 44, 32, 100, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 98, 32, 61, 32, 81, 40, 98, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 98, 32, 61, 32, 117, 98, 40, 98, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 102, 32, 61, 32, 84, 40, 101, 44, 32, 102, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 80, 40, 91, 93, 44, 32, 91, 97, 93, 44, 32, 40, 109, 41, 32, 61, 62, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 102, 117, 110, 99, 116, 105, 111, 110, 32, 112, 40, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 113, 98, 40, 96, 67, 97, 110, 110, 111, 116, 32, 99, 97, 108, 108, 32, 36, 123, 117, 125, 32, 100, 117, 101, 32, 116, 111, 32, 117, 110, 98, 111, 117, 110, 100, 32, 116, 121, 112, 101, 115, 96, 44, 32, 110, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 109, 32, 61, 32, 109, 91, 48, 93, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 118, 97, 114, 32, 117, 32, 61, 32, 96, 36, 123, 109, 46, 110, 97, 109, 101, 125, 46, 36, 123, 98, 125, 96, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 98, 46, 115, 116, 97, 114, 116, 115, 87, 105, 116, 104, 40, 34, 64, 64, 34, 41, 32, 38, 38, 32, 40, 98, 32, 61, 32, 83, 121, 109, 98, 111, 108, 91, 98, 46, 115, 117, 98, 115, 116, 114, 105, 110, 103, 40, 50, 41, 93, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 104, 32, 38, 38, 32, 109, 46, 120, 97, 46, 107, 98, 46, 112, 117, 115, 104, 40, 98, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 118, 97, 114, 32, 118, 32, 61, 32, 109, 46, 120, 97, 46, 76, 97, 44, 32, 103, 32, 61, 32, 118, 91, 98, 93, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 118, 111, 105, 100, 32, 48, 32, 61, 61, 61, 32, 103, 32, 124, 124, 32, 118, 111, 105, 100, 32, 48, 32, 61, 61, 61, 32, 103, 46, 66, 97, 32, 38, 38, 32, 103, 46, 99, 108, 97, 115, 115, 78, 97, 109, 101, 32, 33, 61, 61, 32, 109, 46, 110, 97, 109, 101, 32, 38, 38, 32, 103, 46, 79, 97, 32, 61, 61, 61, 32, 99, 32, 45, 32, 50, 32, 63, 32, 40, 112, 46, 79, 97, 32, 61, 32, 99, 32, 45, 32, 50, 44, 32, 112, 46, 99, 108, 97, 115, 115, 78, 97, 109, 101, 32, 61, 32, 109, 46, 110, 97, 109, 101, 44, 32, 118, 91, 98, 93, 32, 61, 32, 112, 41, 32, 58, 32, 40, 36, 97, 40, 118, 44, 32, 98, 44, 32, 117, 41, 44, 32, 118, 91, 98, 93, 46, 66, 97, 91, 99, 32, 45, 32, 50, 93, 32, 61, 32, 112, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 80, 40, 91, 93, 44, 32, 110, 44, 32, 40, 113, 41, 32, 61, 62, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 113, 32, 61, 32, 116, 98, 40, 117, 44, 32, 113, 44, 32, 109, 44, 32, 102, 44, 32, 108, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 118, 111, 105, 100, 32, 48, 32, 61, 61, 61, 32, 118, 91, 98, 93, 46, 66, 97, 32, 63, 32, 40, 113, 46, 79, 97, 32, 61, 32, 99, 32, 45, 32, 50, 44, 32, 118, 91, 98, 93, 32, 61, 32, 113, 41, 32, 58, 32, 118, 91, 98, 93, 46, 66, 97, 91, 99, 32, 45, 32, 50, 93, 32, 61, 32, 113, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 91, 93, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 125, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 91, 93, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 125, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 88, 58, 32, 40, 97, 41, 32, 61, 62, 32, 79, 40, 97, 44, 32, 122, 98, 41, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 120, 58, 32, 40, 97, 44, 32, 98, 44, 32, 99, 44, 32, 100, 41, 32, 61, 62, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 102, 117, 110, 99, 116, 105, 111, 110, 32, 101, 40, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 98, 32, 61, 32, 81, 40, 98, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 101, 46, 118, 97, 108, 117, 101, 115, 32, 61, 32, 123, 125, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 79, 40, 97, 44, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 110, 97, 109, 101, 58, 32, 98, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 99, 111, 110, 115, 116, 114, 117, 99, 116, 111, 114, 58, 32, 101, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 102, 114, 111, 109, 87, 105, 114, 101, 84, 121, 112, 101, 58, 32, 102, 117, 110, 99, 116, 105, 111, 110, 40, 102, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 116, 104, 105, 115, 46, 99, 111, 110, 115, 116, 114, 117, 99, 116, 111, 114, 46, 118, 97, 108, 117, 101, 115, 91, 102, 93, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 125, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 116, 111, 87, 105, 114, 101, 84, 121, 112, 101, 58, 32, 40, 102, 44, 32, 108, 41, 32, 61, 62, 32, 108, 46, 118, 97, 108, 117, 101, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 97, 114, 103, 80, 97, 99, 107, 65, 100, 118, 97, 110, 99, 101, 58, 32, 56, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 97, 100, 86, 97, 108, 117, 101, 70, 114, 111, 109, 80, 111, 105, 110, 116, 101, 114, 58, 32, 65, 98, 40, 98, 44, 32, 99, 44, 32, 100, 41, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 69, 97, 58, 32, 110, 117, 108, 108, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 125, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 97, 98, 40, 98, 44, 32, 101, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 107, 58, 32, 40, 97, 44, 32, 98, 44, 32, 99, 41, 32, 61, 62, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 118, 97, 114, 32, 100, 32, 61, 32, 66, 98, 40, 97, 44, 32, 34, 101, 110, 117, 109, 34, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 98, 32, 61, 32, 81, 40, 98, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 97, 32, 61, 32, 100, 46, 99, 111, 110, 115, 116, 114, 117, 99, 116, 111, 114, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 100, 32, 61, 32, 79, 98, 106, 101, 99, 116, 46, 99, 114, 101, 97, 116, 101, 40, 100, 46, 99, 111, 110, 115, 116, 114, 117, 99, 116, 111, 114, 46, 112, 114, 111, 116, 111, 116, 121, 112, 101, 44, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 118, 97, 108, 117, 101, 58, 32, 123, 32, 118, 97, 108, 117, 101, 58, 32, 99, 32, 125, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 99, 111, 110, 115, 116, 114, 117, 99, 116, 111, 114, 58, 32, 123, 32, 118, 97, 108, 117, 101, 58, 32, 90, 97, 40, 96, 36, 123, 100, 46, 110, 97, 109, 101, 125, 95, 36, 123, 98, 125, 96, 44, 32, 102, 117, 110, 99, 116, 105, 111, 110, 40, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 125, 41, 32, 125, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 125, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 97, 46, 118, 97, 108, 117, 101, 115, 91, 99, 93, 32, 61, 32, 100, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 97, 91, 98, 93, 32, 61, 32, 100, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 67, 58, 32, 40, 97, 44, 32, 98, 44, 32, 99, 41, 32, 61, 62, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 98, 32, 61, 32, 81, 40, 98, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 79, 40, 97, 44, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 110, 97, 109, 101, 58, 32, 98, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 102, 114, 111, 109, 87, 105, 114, 101, 84, 121, 112, 101, 58, 32, 40, 100, 41, 32, 61, 62, 32, 100, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 116, 111, 87, 105, 114, 101, 84, 121, 112, 101, 58, 32, 40, 100, 44, 32, 101, 41, 32, 61, 62, 32, 101, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 97, 114, 103, 80, 97, 99, 107, 65, 100, 118, 97, 110, 99, 101, 58, 32, 56, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 97, 100, 86, 97, 108, 117, 101, 70, 114, 111, 109, 80, 111, 105, 110, 116, 101, 114, 58, 32, 67, 98, 40, 98, 44, 32, 99, 41, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 69, 97, 58, 32, 110, 117, 108, 108, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 125, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 69, 58, 32, 40, 97, 44, 32, 98, 44, 32, 99, 44, 32, 100, 44, 32, 101, 44, 32, 102, 41, 32, 61, 62, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 118, 97, 114, 32, 108, 32, 61, 32, 114, 98, 40, 98, 44, 32, 99, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 97, 32, 61, 32, 81, 40, 97, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 97, 32, 61, 32, 117, 98, 40, 97, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 101, 32, 61, 32, 84, 40, 100, 44, 32, 101, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 97, 98, 40, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 97, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 102, 117, 110, 99, 116, 105, 111, 110, 40, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 113, 98, 40, 96, 67, 97, 110, 110, 111, 116, 32, 99, 97, 108, 108, 32, 36, 123, 97, 125, 32, 100, 117, 101, 32, 116, 111, 32, 117, 110, 98, 111, 117, 110, 100, 32, 116, 121, 112, 101, 115, 96, 44, 32, 108, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 125, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 98, 32, 45, 32, 49, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 80, 40, 91, 93, 44, 32, 108, 44, 32, 40, 104, 41, 32, 61, 62, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 107, 98, 40, 97, 44, 32, 116, 98, 40, 97, 44, 32, 91, 104, 91, 48, 93, 44, 32, 110, 117, 108, 108, 93, 46, 99, 111, 110, 99, 97, 116, 40, 104, 46, 115, 108, 105, 99, 101, 40, 49, 41, 41, 44, 32, 110, 117, 108, 108, 44, 32, 101, 44, 32, 102, 41, 44, 32, 98, 32, 45, 32, 49, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 91, 93, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 125, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 108, 58, 32, 40, 97, 44, 32, 98, 44, 32, 99, 44, 32, 100, 44, 32, 101, 41, 32, 61, 62, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 98, 32, 61, 32, 81, 40, 98, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 45, 49, 32, 61, 61, 61, 32, 101, 32, 38, 38, 32, 40, 101, 32, 61, 32, 52, 50, 57, 52, 57, 54, 55, 50, 57, 53, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 101, 32, 61, 32, 40, 104, 41, 32, 61, 62, 32, 104, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 48, 32, 61, 61, 61, 32, 100, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 118, 97, 114, 32, 102, 32, 61, 32, 51, 50, 32, 45, 32, 56, 32, 42, 32, 99, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 101, 32, 61, 32, 40, 104, 41, 32, 61, 62, 32, 104, 32, 60, 60, 32, 102, 32, 62, 62, 62, 32, 102, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 118, 97, 114, 32, 108, 32, 61, 32, 98, 46, 105, 110, 99, 108, 117, 100, 101, 115, 40, 34, 117, 110, 115, 105, 103, 110, 101, 100, 34, 41, 32, 63, 32, 102, 117, 110, 99, 116, 105, 111, 110, 40, 104, 44, 32, 110, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 110, 32, 62, 62, 62, 32, 48, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 125, 32, 58, 32, 102, 117, 110, 99, 116, 105, 111, 110, 40, 104, 44, 32, 110, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 110, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 125, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 79, 40, 97, 44, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 110, 97, 109, 101, 58, 32, 98, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 102, 114, 111, 109, 87, 105, 114, 101, 84, 121, 112, 101, 58, 32, 101, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 116, 111, 87, 105, 114, 101, 84, 121, 112, 101, 58, 32, 108, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 97, 114, 103, 80, 97, 99, 107, 65, 100, 118, 97, 110, 99, 101, 58, 32, 56, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 97, 100, 86, 97, 108, 117, 101, 70, 114, 111, 109, 80, 111, 105, 110, 116, 101, 114, 58, 32, 68, 98, 40, 98, 44, 32, 99, 44, 32, 48, 32, 33, 61, 61, 32, 100, 41, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 69, 97, 58, 32, 110, 117, 108, 108, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 125, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 103, 58, 32, 40, 97, 44, 32, 98, 44, 32, 99, 41, 32, 61, 62, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 102, 117, 110, 99, 116, 105, 111, 110, 32, 100, 40, 102, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 110, 101, 119, 32, 101, 40, 121, 46, 98, 117, 102, 102, 101, 114, 44, 32, 70, 91, 102, 32, 43, 32, 52, 32, 62, 62, 32, 50, 93, 44, 32, 70, 91, 102, 32, 62, 62, 32, 50, 93, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 118, 97, 114, 32, 101, 32, 61, 32, 91, 73, 110, 116, 56, 65, 114, 114, 97, 121, 44, 32, 85, 105, 110, 116, 56, 65, 114, 114, 97, 121, 44, 32, 73, 110, 116, 49, 54, 65, 114, 114, 97, 121, 44, 32, 85, 105, 110, 116, 49, 54, 65, 114, 114, 97, 121, 44, 32, 73, 110, 116, 51, 50, 65, 114, 114, 97, 121, 44, 32, 85, 105, 110, 116, 51, 50, 65, 114, 114, 97, 121, 44, 32, 70, 108, 111, 97, 116, 51, 50, 65, 114, 114, 97, 121, 44, 32, 70, 108, 111, 97, 116, 54, 52, 65, 114, 114, 97, 121, 93, 91, 98, 93, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 99, 32, 61, 32, 81, 40, 99, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 79, 40, 97, 44, 32, 123, 32, 110, 97, 109, 101, 58, 32, 99, 44, 32, 102, 114, 111, 109, 87, 105, 114, 101, 84, 121, 112, 101, 58, 32, 100, 44, 32, 97, 114, 103, 80, 97, 99, 107, 65, 100, 118, 97, 110, 99, 101, 58, 32, 56, 44, 32, 114, 101, 97, 100, 86, 97, 108, 117, 101, 70, 114, 111, 109, 80, 111, 105, 110, 116, 101, 114, 58, 32, 100, 32, 125, 44, 32, 123, 32, 105, 98, 58, 32, 116, 114, 117, 101, 32, 125, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 119, 58, 32, 40, 97, 41, 32, 61, 62, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 79, 40, 97, 44, 32, 122, 98, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 99, 97, 58, 32, 40, 97, 44, 32, 98, 44, 32, 99, 44, 32, 100, 44, 32, 101, 44, 32, 102, 44, 32, 108, 44, 32, 104, 44, 32, 110, 44, 32, 109, 44, 32, 112, 44, 32, 117, 41, 32, 61, 62, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 99, 32, 61, 32, 81, 40, 99, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 102, 32, 61, 32, 84, 40, 101, 44, 32, 102, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 104, 32, 61, 32, 84, 40, 108, 44, 32, 104, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 109, 32, 61, 32, 84, 40, 110, 44, 32, 109, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 117, 32, 61, 32, 84, 40, 112, 44, 32, 117, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 80, 40, 91, 97, 93, 44, 32, 91, 98, 93, 44, 32, 40, 118, 41, 32, 61, 62, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 118, 32, 61, 32, 118, 91, 48, 93, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 91, 110, 101, 119, 32, 106, 98, 40, 99, 44, 32, 118, 46, 120, 97, 44, 32, 102, 97, 108, 115, 101, 44, 32, 102, 97, 108, 115, 101, 44, 32, 116, 114, 117, 101, 44, 32, 118, 44, 32, 100, 44, 32, 102, 44, 32, 104, 44, 32, 109, 44, 32, 117, 41, 93, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 125, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 68, 58, 32, 40, 97, 44, 32, 98, 41, 32, 61, 62, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 98, 32, 61, 32, 81, 40, 98, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 118, 97, 114, 32, 99, 32, 61, 32, 34, 115, 116, 100, 58, 58, 115, 116, 114, 105, 110, 103, 34, 32, 61, 61, 61, 32, 98, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 79, 40, 97, 44, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 110, 97, 109, 101, 58, 32, 98, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 102, 114, 111, 109, 87, 105, 114, 101, 84, 121, 112, 101, 58, 32, 102, 117, 110, 99, 116, 105, 111, 110, 40, 100, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 118, 97, 114, 32, 101, 32, 61, 32, 70, 91, 100, 32, 62, 62, 32, 50, 93, 44, 32, 102, 32, 61, 32, 100, 32, 43, 32, 52, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 99, 41, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 102, 111, 114, 32, 40, 118, 97, 114, 32, 108, 32, 61, 32, 102, 44, 32, 104, 32, 61, 32, 48, 59, 32, 104, 32, 60, 61, 32, 101, 59, 32, 43, 43, 104, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 118, 97, 114, 32, 110, 32, 61, 32, 102, 32, 43, 32, 104, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 104, 32, 61, 61, 32, 101, 32, 124, 124, 32, 48, 32, 61, 61, 32, 65, 91, 110, 93, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 108, 32, 61, 32, 108, 32, 63, 32, 74, 40, 65, 44, 32, 108, 44, 32, 110, 32, 45, 32, 108, 41, 32, 58, 32, 34, 34, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 118, 111, 105, 100, 32, 48, 32, 61, 61, 61, 32, 109, 41, 32, 118, 97, 114, 32, 109, 32, 61, 32, 108, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 101, 108, 115, 101, 32, 109, 32, 43, 61, 32, 83, 116, 114, 105, 110, 103, 46, 102, 114, 111, 109, 67, 104, 97, 114, 67, 111, 100, 101, 40, 48, 41, 44, 32, 109, 32, 43, 61, 32, 108, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 108, 32, 61, 32, 110, 32, 43, 32, 49, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 101, 108, 115, 101, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 109, 32, 61, 32, 65, 114, 114, 97, 121, 40, 101, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 102, 111, 114, 32, 40, 104, 32, 61, 32, 48, 59, 32, 104, 32, 60, 32, 101, 59, 32, 43, 43, 104, 41, 32, 109, 91, 104, 93, 32, 61, 32, 83, 116, 114, 105, 110, 103, 46, 102, 114, 111, 109, 67, 104, 97, 114, 67, 111, 100, 101, 40, 65, 91, 102, 32, 43, 32, 104, 93, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 109, 32, 61, 32, 109, 46, 106, 111, 105, 110, 40, 34, 34, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 85, 40, 100, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 109, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 125, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 116, 111, 87, 105, 114, 101, 84, 121, 112, 101, 58, 32, 102, 117, 110, 99, 116, 105, 111, 110, 40, 100, 44, 32, 101, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 101, 32, 105, 110, 115, 116, 97, 110, 99, 101, 111, 102, 32, 65, 114, 114, 97, 121, 66, 117, 102, 102, 101, 114, 32, 38, 38, 32, 40, 101, 32, 61, 32, 110, 101, 119, 32, 85, 105, 110, 116, 56, 65, 114, 114, 97, 121, 40, 101, 41, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 118, 97, 114, 32, 102, 32, 61, 32, 34, 115, 116, 114, 105, 110, 103, 34, 32, 61, 61, 32, 116, 121, 112, 101, 111, 102, 32, 101, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 33, 40, 102, 32, 124, 124, 32, 101, 32, 105, 110, 115, 116, 97, 110, 99, 101, 111, 102, 32, 85, 105, 110, 116, 56, 65, 114, 114, 97, 121, 32, 124, 124, 32, 101, 32, 105, 110, 115, 116, 97, 110, 99, 101, 111, 102, 32, 85, 105, 110, 116, 56, 67, 108, 97, 109, 112, 101, 100, 65, 114, 114, 97, 121, 32, 124, 124, 32, 101, 32, 105, 110, 115, 116, 97, 110, 99, 101, 111, 102, 32, 73, 110, 116, 56, 65, 114, 114, 97, 121, 41, 41, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 116, 104, 114, 111, 119, 32, 110, 101, 119, 32, 82, 40, 34, 67, 97, 110, 110, 111, 116, 32, 112, 97, 115, 115, 32, 110, 111, 110, 45, 115, 116, 114, 105, 110, 103, 32, 116, 111, 32, 115, 116, 100, 58, 58, 115, 116, 114, 105, 110, 103, 34, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 118, 97, 114, 32, 108, 32, 61, 32, 99, 32, 38, 38, 32, 102, 32, 63, 32, 68, 97, 40, 101, 41, 32, 58, 32, 101, 46, 108, 101, 110, 103, 116, 104, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 118, 97, 114, 32, 104, 32, 61, 32, 98, 99, 40, 52, 32, 43, 32, 108, 32, 43, 32, 49, 41, 44, 32, 110, 32, 61, 32, 104, 32, 43, 32, 52, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 70, 91, 104, 32, 62, 62, 32, 50, 93, 32, 61, 32, 108, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 99, 32, 38, 38, 32, 102, 41, 32, 69, 97, 40, 101, 44, 32, 65, 44, 32, 110, 44, 32, 108, 32, 43, 32, 49, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 101, 108, 115, 101, 32, 105, 102, 32, 40, 102, 41, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 102, 111, 114, 32, 40, 102, 32, 61, 32, 48, 59, 32, 102, 32, 60, 32, 108, 59, 32, 43, 43, 102, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 118, 97, 114, 32, 109, 32, 61, 32, 101, 46, 99, 104, 97, 114, 67, 111, 100, 101, 65, 116, 40, 102, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 50, 53, 53, 32, 60, 32, 109, 41, 32, 116, 104, 114, 111, 119, 32, 85, 40, 110, 41, 44, 32, 110, 101, 119, 32, 82, 40, 34, 83, 116, 114, 105, 110, 103, 32, 104, 97, 115, 32, 85, 84, 70, 45, 49, 54, 32, 99, 111, 100, 101, 32, 117, 110, 105, 116, 115, 32, 116, 104, 97, 116, 32, 100, 111, 32, 110, 111, 116, 32, 102, 105, 116, 32, 105, 110, 32, 56, 32, 98, 105, 116, 115, 34, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 65, 91, 110, 32, 43, 32, 102, 93, 32, 61, 32, 109, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 101, 108, 115, 101, 32, 102, 111, 114, 32, 40, 102, 32, 61, 32, 48, 59, 32, 102, 32, 60, 32, 108, 59, 32, 43, 43, 102, 41, 32, 65, 91, 110, 32, 43, 32, 102, 93, 32, 61, 32, 101, 91, 102, 93, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 110, 117, 108, 108, 32, 33, 61, 61, 32, 100, 32, 38, 38, 32, 100, 46, 112, 117, 115, 104, 40, 85, 44, 32, 104, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 104, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 125, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 97, 114, 103, 80, 97, 99, 107, 65, 100, 118, 97, 110, 99, 101, 58, 32, 56, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 97, 100, 86, 97, 108, 117, 101, 70, 114, 111, 109, 80, 111, 105, 110, 116, 101, 114, 58, 32, 75, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 69, 97, 40, 100, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 85, 40, 100, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 125, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 117, 58, 32, 40, 97, 44, 32, 98, 44, 32, 99, 41, 32, 61, 62, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 99, 32, 61, 32, 81, 40, 99, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 50, 32, 61, 61, 61, 32, 98, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 118, 97, 114, 32, 100, 32, 61, 32, 70, 98, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 118, 97, 114, 32, 101, 32, 61, 32, 71, 98, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 118, 97, 114, 32, 102, 32, 61, 32, 72, 98, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 118, 97, 114, 32, 108, 32, 61, 32, 40, 104, 41, 32, 61, 62, 32, 67, 91, 104, 32, 62, 62, 32, 49, 93, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 125, 32, 101, 108, 115, 101, 32, 52, 32, 61, 61, 61, 32, 98, 32, 38, 38, 32, 40, 100, 32, 61, 32, 73, 98, 44, 32, 101, 32, 61, 32, 74, 98, 44, 32, 102, 32, 61, 32, 75, 98, 44, 32, 108, 32, 61, 32, 40, 104, 41, 32, 61, 62, 32, 70, 91, 104, 32, 62, 62, 32, 50, 93, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 79, 40, 97, 44, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 110, 97, 109, 101, 58, 32, 99, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 102, 114, 111, 109, 87, 105, 114, 101, 84, 121, 112, 101, 58, 32, 40, 104, 41, 32, 61, 62, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 102, 111, 114, 32, 40, 118, 97, 114, 32, 110, 32, 61, 32, 70, 91, 104, 32, 62, 62, 32, 50, 93, 44, 32, 109, 44, 32, 112, 32, 61, 32, 104, 32, 43, 32, 52, 44, 32, 117, 32, 61, 32, 48, 59, 32, 117, 32, 60, 61, 32, 110, 59, 32, 43, 43, 117, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 118, 97, 114, 32, 118, 32, 61, 32, 104, 32, 43, 32, 52, 32, 43, 32, 117, 32, 42, 32, 98, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 117, 32, 61, 61, 32, 110, 32, 124, 124, 32, 48, 32, 61, 61, 32, 108, 40, 118, 41, 41, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 112, 32, 61, 32, 100, 40, 112, 44, 32, 118, 32, 45, 32, 112, 41, 44, 32, 118, 111, 105, 100, 32, 48, 32, 61, 61, 61, 32, 109, 32, 63, 32, 109, 32, 61, 32, 112, 32, 58, 32, 40, 109, 32, 43, 61, 32, 83, 116, 114, 105, 110, 103, 46, 102, 114, 111, 109, 67, 104, 97, 114, 67, 111, 100, 101, 40, 48, 41, 44, 32, 109, 32, 43, 61, 32, 112, 41, 44, 32, 112, 32, 61, 32, 118, 32, 43, 32, 98, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 85, 40, 104, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 109, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 125, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 116, 111, 87, 105, 114, 101, 84, 121, 112, 101, 58, 32, 40, 104, 44, 32, 110, 41, 32, 61, 62, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 34, 115, 116, 114, 105, 110, 103, 34, 32, 33, 61, 32, 116, 121, 112, 101, 111, 102, 32, 110, 41, 32, 116, 104, 114, 111, 119, 32, 110, 101, 119, 32, 82, 40, 96, 67, 97, 110, 110, 111, 116, 32, 112, 97, 115, 115, 32, 110, 111, 110, 45, 115, 116, 114, 105, 110, 103, 32, 116, 111, 32, 67, 43, 43, 32, 115, 116, 114, 105, 110, 103, 32, 116, 121, 112, 101, 32, 36, 123, 99, 125, 96, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 118, 97, 114, 32, 109, 32, 61, 32, 102, 40, 110, 41, 44, 32, 112, 32, 61, 32, 98, 99, 40, 52, 32, 43, 32, 109, 32, 43, 32, 98, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 70, 91, 112, 32, 62, 62, 32, 50, 93, 32, 61, 32, 109, 32, 47, 32, 98, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 101, 40, 110, 44, 32, 112, 32, 43, 32, 52, 44, 32, 109, 32, 43, 32, 98, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 110, 117, 108, 108, 32, 33, 61, 61, 32, 104, 32, 38, 38, 32, 104, 46, 112, 117, 115, 104, 40, 85, 44, 32, 112, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 112, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 125, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 97, 114, 103, 80, 97, 99, 107, 65, 100, 118, 97, 110, 99, 101, 58, 32, 56, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 97, 100, 86, 97, 108, 117, 101, 70, 114, 111, 109, 80, 111, 105, 110, 116, 101, 114, 58, 32, 75, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 69, 97, 40, 104, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 85, 40, 104, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 125, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 115, 58, 32, 40, 97, 44, 32, 98, 44, 32, 99, 44, 32, 100, 44, 32, 101, 44, 32, 102, 41, 32, 61, 62, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 70, 97, 91, 97, 93, 32, 61, 32, 123, 32, 110, 97, 109, 101, 58, 32, 81, 40, 98, 41, 44, 32, 85, 97, 58, 32, 84, 40, 99, 44, 32, 100, 41, 44, 32, 70, 97, 58, 32, 84, 40, 101, 44, 32, 102, 41, 44, 32, 89, 97, 58, 32, 91, 93, 32, 125, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 106, 58, 32, 40, 97, 44, 32, 98, 44, 32, 99, 44, 32, 100, 44, 32, 101, 44, 32, 102, 44, 32, 108, 44, 32, 104, 44, 32, 110, 44, 32, 109, 41, 32, 61, 62, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 70, 97, 91, 97, 93, 46, 89, 97, 46, 112, 117, 115, 104, 40, 123, 32, 98, 98, 58, 32, 81, 40, 98, 41, 44, 32, 104, 98, 58, 32, 99, 44, 32, 102, 98, 58, 32, 84, 40, 100, 44, 32, 101, 41, 44, 32, 103, 98, 58, 32, 102, 44, 32, 110, 98, 58, 32, 108, 44, 32, 109, 98, 58, 32, 84, 40, 104, 44, 32, 110, 41, 44, 32, 111, 98, 58, 32, 109, 32, 125, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 90, 58, 32, 40, 97, 44, 32, 98, 41, 32, 61, 62, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 98, 32, 61, 32, 81, 40, 98, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 79, 40, 97, 44, 32, 123, 32, 117, 98, 58, 32, 116, 114, 117, 101, 44, 32, 110, 97, 109, 101, 58, 32, 98, 44, 32, 97, 114, 103, 80, 97, 99, 107, 65, 100, 118, 97, 110, 99, 101, 58, 32, 48, 44, 32, 102, 114, 111, 109, 87, 105, 114, 101, 84, 121, 112, 101, 58, 32, 40, 41, 32, 61, 62, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 125, 44, 32, 116, 111, 87, 105, 114, 101, 84, 121, 112, 101, 58, 32, 40, 41, 32, 61, 62, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 125, 32, 125, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 74, 58, 32, 40, 41, 32, 61, 62, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 116, 104, 114, 111, 119, 32, 73, 110, 102, 105, 110, 105, 116, 121, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 97, 97, 58, 32, 40, 97, 44, 32, 98, 44, 32, 99, 44, 32, 100, 41, 32, 61, 62, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 97, 32, 61, 32, 76, 98, 91, 97, 93, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 98, 32, 61, 32, 121, 98, 40, 98, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 97, 40, 110, 117, 108, 108, 44, 32, 98, 44, 32, 99, 44, 32, 100, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 70, 58, 32, 119, 98, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 36, 58, 32, 40, 97, 44, 32, 98, 44, 32, 99, 41, 32, 61, 62, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 118, 97, 114, 32, 100, 32, 61, 32, 78, 98, 40, 97, 44, 32, 98, 41, 44, 32, 101, 32, 61, 32, 100, 46, 115, 104, 105, 102, 116, 40, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 97, 45, 45, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 118, 97, 114, 32, 102, 32, 61, 32, 65, 114, 114, 97, 121, 40, 97, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 98, 32, 61, 32, 96, 109, 101, 116, 104, 111, 100, 67, 97, 108, 108, 101, 114, 60, 40, 36, 123, 100, 46, 109, 97, 112, 40, 40, 108, 41, 32, 61, 62, 32, 108, 46, 110, 97, 109, 101, 41, 46, 106, 111, 105, 110, 40, 34, 44, 32, 34, 41, 125, 41, 32, 61, 62, 32, 36, 123, 101, 46, 110, 97, 109, 101, 125, 62, 96, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 77, 98, 40, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 90, 97, 40, 98, 44, 32, 40, 108, 44, 32, 104, 44, 32, 110, 44, 32, 109, 41, 32, 61, 62, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 102, 111, 114, 32, 40, 118, 97, 114, 32, 112, 32, 61, 32, 48, 44, 32, 117, 32, 61, 32, 48, 59, 32, 117, 32, 60, 32, 97, 59, 32, 43, 43, 117, 41, 32, 102, 91, 117, 93, 32, 61, 32, 100, 91, 117, 93, 46, 114, 101, 97, 100, 86, 97, 108, 117, 101, 70, 114, 111, 109, 80, 111, 105, 110, 116, 101, 114, 40, 109, 32, 43, 32, 112, 41, 44, 32, 112, 32, 43, 61, 32, 100, 91, 117, 93, 46, 97, 114, 103, 80, 97, 99, 107, 65, 100, 118, 97, 110, 99, 101, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 104, 32, 61, 32, 49, 32, 61, 61, 61, 32, 99, 32, 63, 32, 79, 98, 40, 104, 44, 32, 102, 41, 32, 58, 32, 104, 46, 97, 112, 112, 108, 121, 40, 108, 44, 32, 102, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 108, 32, 61, 32, 91, 93, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 104, 32, 61, 32, 101, 46, 116, 111, 87, 105, 114, 101, 84, 121, 112, 101, 40, 108, 44, 32, 104, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 108, 46, 108, 101, 110, 103, 116, 104, 32, 38, 38, 32, 40, 70, 91, 110, 32, 62, 62, 32, 50, 93, 32, 61, 32, 104, 98, 40, 108, 41, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 104, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 125, 41, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 98, 97, 58, 32, 40, 97, 41, 32, 61, 62, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 57, 32, 60, 32, 97, 32, 38, 38, 32, 40, 86, 91, 97, 32, 43, 32, 49, 93, 32, 43, 61, 32, 49, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 95, 58, 32, 40, 97, 41, 32, 61, 62, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 118, 97, 114, 32, 98, 32, 61, 32, 121, 98, 40, 97, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 71, 97, 40, 98, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 119, 98, 40, 97, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 111, 58, 32, 40, 97, 44, 32, 98, 41, 32, 61, 62, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 97, 32, 61, 32, 66, 98, 40, 97, 44, 32, 34, 95, 101, 109, 118, 97, 108, 95, 116, 97, 107, 101, 95, 118, 97, 108, 117, 101, 34, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 97, 32, 61, 32, 97, 46, 114, 101, 97, 100, 86, 97, 108, 117, 101, 70, 114, 111, 109, 80, 111, 105, 110, 116, 101, 114, 40, 98, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 104, 98, 40, 97, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 87, 58, 32, 40, 41, 32, 61, 62, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 114, 97, 40, 34, 34, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 86, 58, 32, 40, 41, 32, 61, 62, 32, 112, 101, 114, 102, 111, 114, 109, 97, 110, 99, 101, 46, 110, 111, 119, 40, 41, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 76, 58, 32, 40, 97, 41, 32, 61, 62, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 118, 97, 114, 32, 98, 32, 61, 32, 65, 46, 108, 101, 110, 103, 116, 104, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 97, 32, 62, 62, 62, 61, 32, 48, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 50, 49, 52, 55, 52, 56, 51, 54, 52, 56, 32, 60, 32, 97, 41, 32, 114, 101, 116, 117, 114, 110, 32, 102, 97, 108, 115, 101, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 102, 111, 114, 32, 40, 118, 97, 114, 32, 99, 32, 61, 32, 49, 59, 32, 52, 32, 62, 61, 32, 99, 59, 32, 99, 32, 42, 61, 32, 50, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 118, 97, 114, 32, 100, 32, 61, 32, 98, 32, 42, 32, 40, 49, 32, 43, 32, 48, 46, 50, 32, 47, 32, 99, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 100, 32, 61, 32, 77, 97, 116, 104, 46, 109, 105, 110, 40, 100, 44, 32, 97, 32, 43, 32, 49, 48, 48, 54, 54, 51, 50, 57, 54, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 118, 97, 114, 32, 101, 32, 61, 32, 77, 97, 116, 104, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 100, 32, 61, 32, 77, 97, 116, 104, 46, 109, 97, 120, 40, 97, 44, 32, 100, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 97, 58, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 101, 32, 61, 32, 40, 101, 46, 109, 105, 110, 46, 99, 97, 108, 108, 40, 101, 44, 32, 50, 49, 52, 55, 52, 56, 51, 54, 52, 56, 44, 32, 100, 32, 43, 32, 40, 54, 53, 53, 51, 54, 32, 45, 32, 100, 32, 37, 32, 54, 53, 53, 51, 54, 41, 32, 37, 32, 54, 53, 53, 51, 54, 41, 32, 45, 32, 102, 97, 46, 98, 117, 102, 102, 101, 114, 46, 98, 121, 116, 101, 76, 101, 110, 103, 116, 104, 32, 43, 32, 54, 53, 53, 51, 53, 41, 32, 47, 32, 54, 53, 53, 51, 54, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 116, 114, 121, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 102, 97, 46, 103, 114, 111, 119, 40, 101, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 108, 97, 40, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 118, 97, 114, 32, 102, 32, 61, 32, 49, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 98, 114, 101, 97, 107, 32, 97, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 125, 32, 99, 97, 116, 99, 104, 32, 40, 108, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 102, 32, 61, 32, 118, 111, 105, 100, 32, 48, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 102, 41, 32, 114, 101, 116, 117, 114, 110, 32, 116, 114, 117, 101, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 102, 97, 108, 115, 101, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 83, 58, 32, 40, 97, 44, 32, 98, 41, 32, 61, 62, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 118, 97, 114, 32, 99, 32, 61, 32, 48, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 82, 98, 40, 41, 46, 102, 111, 114, 69, 97, 99, 104, 40, 40, 100, 44, 32, 101, 41, 32, 61, 62, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 118, 97, 114, 32, 102, 32, 61, 32, 98, 32, 43, 32, 99, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 101, 32, 61, 32, 70, 91, 97, 32, 43, 32, 52, 32, 42, 32, 101, 32, 62, 62, 32, 50, 93, 32, 61, 32, 102, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 102, 111, 114, 32, 40, 102, 32, 61, 32, 48, 59, 32, 102, 32, 60, 32, 100, 46, 108, 101, 110, 103, 116, 104, 59, 32, 43, 43, 102, 41, 32, 121, 91, 101, 43, 43, 93, 32, 61, 32, 100, 46, 99, 104, 97, 114, 67, 111, 100, 101, 65, 116, 40, 102, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 121, 91, 101, 93, 32, 61, 32, 48, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 99, 32, 43, 61, 32, 100, 46, 108, 101, 110, 103, 116, 104, 32, 43, 32, 49, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 125, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 48, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 84, 58, 32, 40, 97, 44, 32, 98, 41, 32, 61, 62, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 118, 97, 114, 32, 99, 32, 61, 32, 82, 98, 40, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 70, 91, 97, 32, 62, 62, 32, 50, 93, 32, 61, 32, 99, 46, 108, 101, 110, 103, 116, 104, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 118, 97, 114, 32, 100, 32, 61, 32, 48, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 99, 46, 102, 111, 114, 69, 97, 99, 104, 40, 40, 101, 41, 32, 61, 62, 32, 100, 32, 43, 61, 32, 101, 46, 108, 101, 110, 103, 116, 104, 32, 43, 32, 49, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 70, 91, 98, 32, 62, 62, 32, 50, 93, 32, 61, 32, 100, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 48, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 116, 58, 32, 40, 41, 32, 61, 62, 32, 53, 50, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 122, 58, 32, 40, 41, 32, 61, 62, 32, 53, 50, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 72, 58, 32, 102, 117, 110, 99, 116, 105, 111, 110, 40, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 55, 48, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 81, 58, 32, 40, 97, 44, 32, 98, 44, 32, 99, 44, 32, 100, 41, 32, 61, 62, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 102, 111, 114, 32, 40, 118, 97, 114, 32, 101, 32, 61, 32, 48, 44, 32, 102, 32, 61, 32, 48, 59, 32, 102, 32, 60, 32, 99, 59, 32, 102, 43, 43, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 118, 97, 114, 32, 108, 32, 61, 32, 70, 91, 98, 32, 62, 62, 32, 50, 93, 44, 32, 104, 32, 61, 32, 70, 91, 98, 32, 43, 32, 52, 32, 62, 62, 32, 50, 93, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 98, 32, 43, 61, 32, 56, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 102, 111, 114, 32, 40, 118, 97, 114, 32, 110, 32, 61, 32, 48, 59, 32, 110, 32, 60, 32, 104, 59, 32, 110, 43, 43, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 118, 97, 114, 32, 109, 32, 61, 32, 65, 91, 108, 32, 43, 32, 110, 93, 44, 32, 112, 32, 61, 32, 83, 98, 91, 97, 93, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 48, 32, 61, 61, 61, 32, 109, 32, 124, 124, 32, 49, 48, 32, 61, 61, 61, 32, 109, 32, 63, 32, 40, 40, 49, 32, 61, 61, 61, 32, 97, 32, 63, 32, 101, 97, 32, 58, 32, 119, 41, 40, 74, 40, 112, 44, 32, 48, 41, 41, 44, 32, 112, 46, 108, 101, 110, 103, 116, 104, 32, 61, 32, 48, 41, 32, 58, 32, 112, 46, 112, 117, 115, 104, 40, 109, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 101, 32, 43, 61, 32, 104, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 70, 91, 100, 32, 62, 62, 32, 50, 93, 32, 61, 32, 101, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 48, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 85, 58, 32, 40, 97, 44, 32, 98, 41, 32, 61, 62, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 85, 98, 40, 65, 46, 115, 117, 98, 97, 114, 114, 97, 121, 40, 97, 44, 32, 97, 32, 43, 32, 98, 41, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 48, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 105, 58, 32, 99, 99, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 100, 58, 32, 100, 99, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 101, 58, 32, 101, 99, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 112, 58, 32, 102, 99, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 121, 58, 32, 103, 99, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 98, 58, 32, 104, 99, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 97, 58, 32, 105, 99, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 104, 58, 32, 106, 99, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 110, 58, 32, 107, 99, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 71, 58, 32, 108, 99, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 75, 58, 32, 40, 97, 44, 32, 98, 44, 32, 99, 44, 32, 100, 41, 32, 61, 62, 32, 90, 98, 40, 97, 44, 32, 98, 44, 32, 99, 44, 32, 100, 41, 10, 32, 32, 32, 32, 32, 32, 125, 44, 32, 87, 32, 61, 32, 102, 117, 110, 99, 116, 105, 111, 110, 40, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 102, 117, 110, 99, 116, 105, 111, 110, 32, 97, 40, 99, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 87, 32, 61, 32, 99, 46, 101, 120, 112, 111, 114, 116, 115, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 102, 97, 32, 61, 32, 87, 46, 100, 97, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 108, 97, 40, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 83, 32, 61, 32, 87, 46, 104, 97, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 110, 97, 46, 117, 110, 115, 104, 105, 102, 116, 40, 87, 46, 101, 97, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 71, 45, 45, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 107, 46, 109, 111, 110, 105, 116, 111, 114, 82, 117, 110, 68, 101, 112, 101, 110, 100, 101, 110, 99, 105, 101, 115, 63, 46, 40, 71, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 48, 32, 61, 61, 32, 71, 32, 38, 38, 32, 40, 110, 117, 108, 108, 32, 33, 61, 61, 32, 113, 97, 32, 38, 38, 32, 40, 99, 108, 101, 97, 114, 73, 110, 116, 101, 114, 118, 97, 108, 40, 113, 97, 41, 44, 32, 113, 97, 32, 61, 32, 110, 117, 108, 108, 41, 44, 32, 72, 32, 38, 38, 32, 40, 99, 32, 61, 32, 72, 44, 32, 72, 32, 61, 32, 110, 117, 108, 108, 44, 32, 99, 40, 41, 41, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 87, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 32, 32, 32, 32, 118, 97, 114, 32, 98, 32, 61, 32, 123, 32, 97, 58, 32, 109, 99, 32, 125, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 71, 43, 43, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 107, 46, 109, 111, 110, 105, 116, 111, 114, 82, 117, 110, 68, 101, 112, 101, 110, 100, 101, 110, 99, 105, 101, 115, 63, 46, 40, 71, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 107, 46, 105, 110, 115, 116, 97, 110, 116, 105, 97, 116, 101, 87, 97, 115, 109, 41, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 116, 114, 121, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 107, 46, 105, 110, 115, 116, 97, 110, 116, 105, 97, 116, 101, 87, 97, 115, 109, 40, 98, 44, 32, 97, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 125, 32, 99, 97, 116, 99, 104, 32, 40, 99, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 119, 40, 96, 77, 111, 100, 117, 108, 101, 46, 105, 110, 115, 116, 97, 110, 116, 105, 97, 116, 101, 87, 97, 115, 109, 32, 99, 97, 108, 108, 98, 97, 99, 107, 32, 102, 97, 105, 108, 101, 100, 32, 119, 105, 116, 104, 32, 101, 114, 114, 111, 114, 58, 32, 36, 123, 99, 125, 96, 41, 44, 32, 98, 97, 40, 99, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 32, 32, 32, 32, 120, 97, 40, 98, 44, 32, 102, 117, 110, 99, 116, 105, 111, 110, 40, 99, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 97, 40, 99, 46, 105, 110, 115, 116, 97, 110, 99, 101, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 41, 46, 99, 97, 116, 99, 104, 40, 98, 97, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 123, 125, 59, 10, 32, 32, 32, 32, 32, 32, 125, 40, 41, 44, 32, 98, 99, 32, 61, 32, 40, 97, 41, 32, 61, 62, 32, 40, 98, 99, 32, 61, 32, 87, 46, 102, 97, 41, 40, 97, 41, 44, 32, 111, 98, 32, 61, 32, 40, 97, 41, 32, 61, 62, 32, 40, 111, 98, 32, 61, 32, 87, 46, 103, 97, 41, 40, 97, 41, 44, 32, 85, 32, 61, 32, 40, 97, 41, 32, 61, 62, 32, 40, 85, 32, 61, 32, 87, 46, 105, 97, 41, 40, 97, 41, 44, 32, 88, 32, 61, 32, 40, 97, 44, 32, 98, 41, 32, 61, 62, 32, 40, 88, 32, 61, 32, 87, 46, 106, 97, 41, 40, 97, 44, 32, 98, 41, 44, 32, 89, 32, 61, 32, 40, 97, 41, 32, 61, 62, 32, 40, 89, 32, 61, 32, 87, 46, 107, 97, 41, 40, 97, 41, 44, 32, 90, 32, 61, 32, 40, 41, 32, 61, 62, 32, 40, 90, 32, 61, 32, 87, 46, 108, 97, 41, 40, 41, 59, 10, 32, 32, 32, 32, 32, 32, 107, 46, 100, 121, 110, 67, 97, 108, 108, 95, 105, 105, 106, 106, 32, 61, 32, 40, 97, 44, 32, 98, 44, 32, 99, 44, 32, 100, 44, 32, 101, 44, 32, 102, 41, 32, 61, 62, 32, 40, 107, 46, 100, 121, 110, 67, 97, 108, 108, 95, 105, 105, 106, 106, 32, 61, 32, 87, 46, 110, 97, 41, 40, 97, 44, 32, 98, 44, 32, 99, 44, 32, 100, 44, 32, 101, 44, 32, 102, 41, 59, 10, 32, 32, 32, 32, 32, 32, 107, 46, 100, 121, 110, 67, 97, 108, 108, 95, 118, 105, 106, 106, 32, 61, 32, 40, 97, 44, 32, 98, 44, 32, 99, 44, 32, 100, 44, 32, 101, 44, 32, 102, 41, 32, 61, 62, 32, 40, 107, 46, 100, 121, 110, 67, 97, 108, 108, 95, 118, 105, 106, 106, 32, 61, 32, 87, 46, 111, 97, 41, 40, 97, 44, 32, 98, 44, 32, 99, 44, 32, 100, 44, 32, 101, 44, 32, 102, 41, 59, 10, 32, 32, 32, 32, 32, 32, 107, 46, 100, 121, 110, 67, 97, 108, 108, 95, 106, 105, 105, 105, 32, 61, 32, 40, 97, 44, 32, 98, 44, 32, 99, 44, 32, 100, 41, 32, 61, 62, 32, 40, 107, 46, 100, 121, 110, 67, 97, 108, 108, 95, 106, 105, 105, 105, 32, 61, 32, 87, 46, 112, 97, 41, 40, 97, 44, 32, 98, 44, 32, 99, 44, 32, 100, 41, 59, 10, 32, 32, 32, 32, 32, 32, 107, 46, 100, 121, 110, 67, 97, 108, 108, 95, 106, 105, 105, 32, 61, 32, 40, 97, 44, 32, 98, 44, 32, 99, 41, 32, 61, 62, 32, 40, 107, 46, 100, 121, 110, 67, 97, 108, 108, 95, 106, 105, 105, 32, 61, 32, 87, 46, 113, 97, 41, 40, 97, 44, 32, 98, 44, 32, 99, 41, 59, 10, 32, 32, 32, 32, 32, 32, 118, 97, 114, 32, 110, 99, 32, 61, 32, 107, 46, 100, 121, 110, 67, 97, 108, 108, 95, 118, 105, 105, 105, 106, 32, 61, 32, 40, 97, 44, 32, 98, 44, 32, 99, 44, 32, 100, 44, 32, 101, 44, 32, 102, 41, 32, 61, 62, 32, 40, 110, 99, 32, 61, 32, 107, 46, 100, 121, 110, 67, 97, 108, 108, 95, 118, 105, 105, 105, 106, 32, 61, 32, 87, 46, 114, 97, 41, 40, 97, 44, 32, 98, 44, 32, 99, 44, 32, 100, 44, 32, 101, 44, 32, 102, 41, 59, 10, 32, 32, 32, 32, 32, 32, 107, 46, 100, 121, 110, 67, 97, 108, 108, 95, 106, 105, 106, 105, 32, 61, 32, 40, 97, 44, 32, 98, 44, 32, 99, 44, 32, 100, 44, 32, 101, 41, 32, 61, 62, 32, 40, 107, 46, 100, 121, 110, 67, 97, 108, 108, 95, 106, 105, 106, 105, 32, 61, 32, 87, 46, 115, 97, 41, 40, 97, 44, 32, 98, 44, 32, 99, 44, 32, 100, 44, 32, 101, 41, 59, 10, 32, 32, 32, 32, 32, 32, 107, 46, 100, 121, 110, 67, 97, 108, 108, 95, 118, 105, 105, 106, 105, 105, 32, 61, 32, 40, 97, 44, 32, 98, 44, 32, 99, 44, 32, 100, 44, 32, 101, 44, 32, 102, 44, 32, 108, 41, 32, 61, 62, 32, 40, 107, 46, 100, 121, 110, 67, 97, 108, 108, 95, 118, 105, 105, 106, 105, 105, 32, 61, 32, 87, 46, 116, 97, 41, 40, 97, 44, 32, 98, 44, 32, 99, 44, 32, 100, 44, 32, 101, 44, 32, 102, 44, 32, 108, 41, 59, 10, 32, 32, 32, 32, 32, 32, 107, 46, 100, 121, 110, 67, 97, 108, 108, 95, 105, 105, 105, 105, 105, 106, 32, 61, 32, 40, 97, 44, 32, 98, 44, 32, 99, 44, 32, 100, 44, 32, 101, 44, 32, 102, 44, 32, 108, 41, 32, 61, 62, 32, 40, 107, 46, 100, 121, 110, 67, 97, 108, 108, 95, 105, 105, 105, 105, 105, 106, 32, 61, 32, 87, 46, 117, 97, 41, 40, 97, 44, 32, 98, 44, 32, 99, 44, 32, 100, 44, 32, 101, 44, 32, 102, 44, 32, 108, 41, 59, 10, 32, 32, 32, 32, 32, 32, 107, 46, 100, 121, 110, 67, 97, 108, 108, 95, 105, 105, 105, 105, 105, 106, 106, 32, 61, 32, 40, 97, 44, 32, 98, 44, 32, 99, 44, 32, 100, 44, 32, 101, 44, 32, 102, 44, 32, 108, 44, 32, 104, 44, 32, 110, 41, 32, 61, 62, 32, 40, 107, 46, 100, 121, 110, 67, 97, 108, 108, 95, 105, 105, 105, 105, 105, 106, 106, 32, 61, 32, 87, 46, 118, 97, 41, 40, 97, 44, 32, 98, 44, 32, 99, 44, 32, 100, 44, 32, 101, 44, 32, 102, 44, 32, 108, 44, 32, 104, 44, 32, 110, 41, 59, 10, 32, 32, 32, 32, 32, 32, 107, 46, 100, 121, 110, 67, 97, 108, 108, 95, 105, 105, 105, 105, 105, 105, 106, 106, 32, 61, 32, 40, 97, 44, 32, 98, 44, 32, 99, 44, 32, 100, 44, 32, 101, 44, 32, 102, 44, 32, 108, 44, 32, 104, 44, 32, 110, 44, 32, 109, 41, 32, 61, 62, 32, 40, 107, 46, 100, 121, 110, 67, 97, 108, 108, 95, 105, 105, 105, 105, 105, 105, 106, 106, 32, 61, 32, 87, 46, 119, 97, 41, 40, 97, 44, 32, 98, 44, 32, 99, 44, 32, 100, 44, 32, 101, 44, 32, 102, 44, 32, 108, 44, 32, 104, 44, 32, 110, 44, 32, 109, 41, 59, 10, 32, 32, 32, 32, 32, 32, 102, 117, 110, 99, 116, 105, 111, 110, 32, 104, 99, 40, 97, 44, 32, 98, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 118, 97, 114, 32, 99, 32, 61, 32, 90, 40, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 116, 114, 121, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 83, 46, 103, 101, 116, 40, 97, 41, 40, 98, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 32, 99, 97, 116, 99, 104, 32, 40, 100, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 89, 40, 99, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 100, 32, 33, 61, 61, 32, 100, 32, 43, 32, 48, 41, 32, 116, 104, 114, 111, 119, 32, 100, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 88, 40, 49, 44, 32, 48, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 32, 32, 102, 117, 110, 99, 116, 105, 111, 110, 32, 105, 99, 40, 97, 44, 32, 98, 44, 32, 99, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 118, 97, 114, 32, 100, 32, 61, 32, 90, 40, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 116, 114, 121, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 83, 46, 103, 101, 116, 40, 97, 41, 40, 98, 44, 32, 99, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 32, 99, 97, 116, 99, 104, 32, 40, 101, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 89, 40, 100, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 101, 32, 33, 61, 61, 32, 101, 32, 43, 32, 48, 41, 32, 116, 104, 114, 111, 119, 32, 101, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 88, 40, 49, 44, 32, 48, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 32, 32, 102, 117, 110, 99, 116, 105, 111, 110, 32, 101, 99, 40, 97, 44, 32, 98, 44, 32, 99, 44, 32, 100, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 118, 97, 114, 32, 101, 32, 61, 32, 90, 40, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 116, 114, 121, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 83, 46, 103, 101, 116, 40, 97, 41, 40, 98, 44, 32, 99, 44, 32, 100, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 32, 99, 97, 116, 99, 104, 32, 40, 102, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 89, 40, 101, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 102, 32, 33, 61, 61, 32, 102, 32, 43, 32, 48, 41, 32, 116, 104, 114, 111, 119, 32, 102, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 88, 40, 49, 44, 32, 48, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 32, 32, 102, 117, 110, 99, 116, 105, 111, 110, 32, 100, 99, 40, 97, 44, 32, 98, 44, 32, 99, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 118, 97, 114, 32, 100, 32, 61, 32, 90, 40, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 116, 114, 121, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 83, 46, 103, 101, 116, 40, 97, 41, 40, 98, 44, 32, 99, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 32, 99, 97, 116, 99, 104, 32, 40, 101, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 89, 40, 100, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 101, 32, 33, 61, 61, 32, 101, 32, 43, 32, 48, 41, 32, 116, 104, 114, 111, 119, 32, 101, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 88, 40, 49, 44, 32, 48, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 32, 32, 102, 117, 110, 99, 116, 105, 111, 110, 32, 99, 99, 40, 97, 44, 32, 98, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 118, 97, 114, 32, 99, 32, 61, 32, 90, 40, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 116, 114, 121, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 83, 46, 103, 101, 116, 40, 97, 41, 40, 98, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 32, 99, 97, 116, 99, 104, 32, 40, 100, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 89, 40, 99, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 100, 32, 33, 61, 61, 32, 100, 32, 43, 32, 48, 41, 32, 116, 104, 114, 111, 119, 32, 100, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 88, 40, 49, 44, 32, 48, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 32, 32, 102, 117, 110, 99, 116, 105, 111, 110, 32, 102, 99, 40, 97, 44, 32, 98, 44, 32, 99, 44, 32, 100, 44, 32, 101, 44, 32, 102, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 118, 97, 114, 32, 108, 32, 61, 32, 90, 40, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 116, 114, 121, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 83, 46, 103, 101, 116, 40, 97, 41, 40, 98, 44, 32, 99, 44, 32, 100, 44, 32, 101, 44, 32, 102, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 32, 99, 97, 116, 99, 104, 32, 40, 104, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 89, 40, 108, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 104, 32, 33, 61, 61, 32, 104, 32, 43, 32, 48, 41, 32, 116, 104, 114, 111, 119, 32, 104, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 88, 40, 49, 44, 32, 48, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 32, 32, 102, 117, 110, 99, 116, 105, 111, 110, 32, 107, 99, 40, 97, 44, 32, 98, 44, 32, 99, 44, 32, 100, 44, 32, 101, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 118, 97, 114, 32, 102, 32, 61, 32, 90, 40, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 116, 114, 121, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 83, 46, 103, 101, 116, 40, 97, 41, 40, 98, 44, 32, 99, 44, 32, 100, 44, 32, 101, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 32, 99, 97, 116, 99, 104, 32, 40, 108, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 89, 40, 102, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 108, 32, 33, 61, 61, 32, 108, 32, 43, 32, 48, 41, 32, 116, 104, 114, 111, 119, 32, 108, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 88, 40, 49, 44, 32, 48, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 32, 32, 102, 117, 110, 99, 116, 105, 111, 110, 32, 106, 99, 40, 97, 44, 32, 98, 44, 32, 99, 44, 32, 100, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 118, 97, 114, 32, 101, 32, 61, 32, 90, 40, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 116, 114, 121, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 83, 46, 103, 101, 116, 40, 97, 41, 40, 98, 44, 32, 99, 44, 32, 100, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 32, 99, 97, 116, 99, 104, 32, 40, 102, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 89, 40, 101, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 102, 32, 33, 61, 61, 32, 102, 32, 43, 32, 48, 41, 32, 116, 104, 114, 111, 119, 32, 102, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 88, 40, 49, 44, 32, 48, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 32, 32, 102, 117, 110, 99, 116, 105, 111, 110, 32, 103, 99, 40, 97, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 118, 97, 114, 32, 98, 32, 61, 32, 90, 40, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 116, 114, 121, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 83, 46, 103, 101, 116, 40, 97, 41, 40, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 32, 99, 97, 116, 99, 104, 32, 40, 99, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 89, 40, 98, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 99, 32, 33, 61, 61, 32, 99, 32, 43, 32, 48, 41, 32, 116, 104, 114, 111, 119, 32, 99, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 88, 40, 49, 44, 32, 48, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 32, 32, 102, 117, 110, 99, 116, 105, 111, 110, 32, 108, 99, 40, 97, 44, 32, 98, 44, 32, 99, 44, 32, 100, 44, 32, 101, 44, 32, 102, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 118, 97, 114, 32, 108, 32, 61, 32, 90, 40, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 116, 114, 121, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 110, 99, 40, 97, 44, 32, 98, 44, 32, 99, 44, 32, 100, 44, 32, 101, 44, 32, 102, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 32, 99, 97, 116, 99, 104, 32, 40, 104, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 89, 40, 108, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 104, 32, 33, 61, 61, 32, 104, 32, 43, 32, 48, 41, 32, 116, 104, 114, 111, 119, 32, 104, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 88, 40, 49, 44, 32, 48, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 32, 32, 118, 97, 114, 32, 111, 99, 59, 10, 32, 32, 32, 32, 32, 32, 72, 32, 61, 32, 102, 117, 110, 99, 116, 105, 111, 110, 32, 112, 99, 40, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 111, 99, 32, 124, 124, 32, 113, 99, 40, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 111, 99, 32, 124, 124, 32, 40, 72, 32, 61, 32, 112, 99, 41, 59, 10, 32, 32, 32, 32, 32, 32, 125, 59, 10, 32, 32, 32, 32, 32, 32, 102, 117, 110, 99, 116, 105, 111, 110, 32, 113, 99, 40, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 102, 117, 110, 99, 116, 105, 111, 110, 32, 97, 40, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 33, 111, 99, 32, 38, 38, 32, 40, 111, 99, 32, 61, 32, 116, 114, 117, 101, 44, 32, 107, 46, 99, 97, 108, 108, 101, 100, 82, 117, 110, 32, 61, 32, 116, 114, 117, 101, 44, 32, 33, 104, 97, 41, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 121, 97, 40, 110, 97, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 97, 97, 40, 107, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 107, 46, 111, 110, 82, 117, 110, 116, 105, 109, 101, 73, 110, 105, 116, 105, 97, 108, 105, 122, 101, 100, 41, 32, 107, 46, 111, 110, 82, 117, 110, 116, 105, 109, 101, 73, 110, 105, 116, 105, 97, 108, 105, 122, 101, 100, 40, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 107, 46, 112, 111, 115, 116, 82, 117, 110, 41, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 102, 111, 114, 32, 40, 34, 102, 117, 110, 99, 116, 105, 111, 110, 34, 32, 61, 61, 32, 116, 121, 112, 101, 111, 102, 32, 107, 46, 112, 111, 115, 116, 82, 117, 110, 32, 38, 38, 32, 40, 107, 46, 112, 111, 115, 116, 82, 117, 110, 32, 61, 32, 91, 107, 46, 112, 111, 115, 116, 82, 117, 110, 93, 41, 59, 32, 107, 46, 112, 111, 115, 116, 82, 117, 110, 46, 108, 101, 110, 103, 116, 104, 59, 32, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 118, 97, 114, 32, 98, 32, 61, 32, 107, 46, 112, 111, 115, 116, 82, 117, 110, 46, 115, 104, 105, 102, 116, 40, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 111, 97, 46, 117, 110, 115, 104, 105, 102, 116, 40, 98, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 121, 97, 40, 111, 97, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 33, 40, 48, 32, 60, 32, 71, 41, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 107, 46, 112, 114, 101, 82, 117, 110, 41, 32, 102, 111, 114, 32, 40, 34, 102, 117, 110, 99, 116, 105, 111, 110, 34, 32, 61, 61, 32, 116, 121, 112, 101, 111, 102, 32, 107, 46, 112, 114, 101, 82, 117, 110, 32, 38, 38, 32, 40, 107, 46, 112, 114, 101, 82, 117, 110, 32, 61, 32, 91, 107, 46, 112, 114, 101, 82, 117, 110, 93, 41, 59, 32, 107, 46, 112, 114, 101, 82, 117, 110, 46, 108, 101, 110, 103, 116, 104, 59, 32, 41, 32, 112, 97, 40, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 121, 97, 40, 109, 97, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 48, 32, 60, 32, 71, 32, 124, 124, 32, 40, 107, 46, 115, 101, 116, 83, 116, 97, 116, 117, 115, 32, 63, 32, 40, 107, 46, 115, 101, 116, 83, 116, 97, 116, 117, 115, 40, 34, 82, 117, 110, 110, 105, 110, 103, 46, 46, 46, 34, 41, 44, 32, 115, 101, 116, 84, 105, 109, 101, 111, 117, 116, 40, 102, 117, 110, 99, 116, 105, 111, 110, 40, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 115, 101, 116, 84, 105, 109, 101, 111, 117, 116, 40, 102, 117, 110, 99, 116, 105, 111, 110, 40, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 107, 46, 115, 101, 116, 83, 116, 97, 116, 117, 115, 40, 34, 34, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 125, 44, 32, 49, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 97, 40, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 125, 44, 32, 49, 41, 41, 32, 58, 32, 97, 40, 41, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 107, 46, 112, 114, 101, 73, 110, 105, 116, 41, 10, 32, 32, 32, 32, 32, 32, 32, 32, 102, 111, 114, 32, 40, 34, 102, 117, 110, 99, 116, 105, 111, 110, 34, 32, 61, 61, 32, 116, 121, 112, 101, 111, 102, 32, 107, 46, 112, 114, 101, 73, 110, 105, 116, 32, 38, 38, 32, 40, 107, 46, 112, 114, 101, 73, 110, 105, 116, 32, 61, 32, 91, 107, 46, 112, 114, 101, 73, 110, 105, 116, 93, 41, 59, 32, 48, 32, 60, 32, 107, 46, 112, 114, 101, 73, 110, 105, 116, 46, 108, 101, 110, 103, 116, 104, 59, 32, 41, 32, 107, 46, 112, 114, 101, 73, 110, 105, 116, 46, 112, 111, 112, 40, 41, 40, 41, 59, 10, 32, 32, 32, 32, 32, 32, 113, 99, 40, 41, 59, 10, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 114, 101, 97, 100, 121, 80, 114, 111, 109, 105, 115, 101, 59, 10, 32, 32, 32, 32, 125, 59, 10, 32, 32, 125, 41, 40, 41, 59, 10, 32, 32, 118, 97, 114, 32, 100, 111, 116, 108, 111, 116, 116, 105, 101, 95, 112, 108, 97, 121, 101, 114, 95, 100, 101, 102, 97, 117, 108, 116, 32, 61, 32, 99, 114, 101, 97, 116, 101, 68, 111, 116, 76, 111, 116, 116, 105, 101, 80, 108, 97, 121, 101, 114, 77, 111, 100, 117, 108, 101, 59, 10, 10, 32, 32, 47, 47, 32, 115, 114, 99, 47, 99, 111, 114, 101, 47, 100, 111, 116, 108, 111, 116, 116, 105, 101, 45, 119, 97, 115, 109, 45, 108, 111, 97, 100, 101, 114, 46, 116, 115, 10, 32, 32, 118, 97, 114, 32, 68, 111, 116, 76, 111, 116, 116, 105, 101, 87, 97, 115, 109, 76, 111, 97, 100, 101, 114, 32, 61, 32, 99, 108, 97, 115, 115, 32, 123, 10, 32, 32, 32, 32, 99, 111, 110, 115, 116, 114, 117, 99, 116, 111, 114, 40, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 116, 104, 114, 111, 119, 32, 110, 101, 119, 32, 69, 114, 114, 111, 114, 40, 34, 82, 101, 110, 100, 101, 114, 101, 114, 76, 111, 97, 100, 101, 114, 32, 105, 115, 32, 97, 32, 115, 116, 97, 116, 105, 99, 32, 99, 108, 97, 115, 115, 32, 97, 110, 100, 32, 99, 97, 110, 110, 111, 116, 32, 98, 101, 32, 105, 110, 115, 116, 97, 110, 116, 105, 97, 116, 101, 100, 46, 34, 41, 59, 10, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 115, 116, 97, 116, 105, 99, 32, 97, 115, 121, 110, 99, 32, 95, 116, 114, 121, 76, 111, 97, 100, 40, 117, 114, 108, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 99, 111, 110, 115, 116, 32, 109, 111, 100, 117, 108, 101, 32, 61, 32, 97, 119, 97, 105, 116, 32, 100, 111, 116, 108, 111, 116, 116, 105, 101, 95, 112, 108, 97, 121, 101, 114, 95, 100, 101, 102, 97, 117, 108, 116, 40, 123, 32, 108, 111, 99, 97, 116, 101, 70, 105, 108, 101, 58, 32, 40, 41, 32, 61, 62, 32, 117, 114, 108, 32, 125, 41, 59, 10, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 109, 111, 100, 117, 108, 101, 59, 10, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 47, 42, 42, 10, 32, 32, 32, 32, 32, 42, 32, 84, 114, 105, 101, 115, 32, 116, 111, 32, 108, 111, 97, 100, 32, 116, 104, 101, 32, 87, 65, 83, 77, 32, 109, 111, 100, 117, 108, 101, 32, 102, 114, 111, 109, 32, 116, 104, 101, 32, 112, 114, 105, 109, 97, 114, 121, 32, 85, 82, 76, 44, 32, 102, 97, 108, 108, 105, 110, 103, 32, 98, 97, 99, 107, 32, 116, 111, 32, 97, 32, 98, 97, 99, 107, 117, 112, 32, 85, 82, 76, 32, 105, 102, 32, 110, 101, 99, 101, 115, 115, 97, 114, 121, 46, 10, 32, 32, 32, 32, 32, 42, 32, 84, 104, 114, 111, 119, 115, 32, 97, 110, 32, 101, 114, 114, 111, 114, 32, 105, 102, 32, 98, 111, 116, 104, 32, 85, 82, 76, 115, 32, 102, 97, 105, 108, 32, 116, 111, 32, 108, 111, 97, 100, 32, 116, 104, 101, 32, 109, 111, 100, 117, 108, 101, 46, 10, 32, 32, 32, 32, 32, 42, 32, 64, 114, 101, 116, 117, 114, 110, 115, 32, 80, 114, 111, 109, 105, 115, 101, 60, 77, 111, 100, 117, 108, 101, 62, 32, 45, 32, 65, 32, 112, 114, 111, 109, 105, 115, 101, 32, 116, 104, 97, 116, 32, 114, 101, 115, 111, 108, 118, 101, 115, 32, 116, 111, 32, 116, 104, 101, 32, 108, 111, 97, 100, 101, 100, 32, 109, 111, 100, 117, 108, 101, 46, 10, 32, 32, 32, 32, 32, 42, 47, 10, 32, 32, 32, 32, 115, 116, 97, 116, 105, 99, 32, 97, 115, 121, 110, 99, 32, 95, 108, 111, 97, 100, 87, 105, 116, 104, 66, 97, 99, 107, 117, 112, 40, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 33, 116, 104, 105, 115, 46, 95, 77, 111, 100, 117, 108, 101, 80, 114, 111, 109, 105, 115, 101, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 116, 104, 105, 115, 46, 95, 77, 111, 100, 117, 108, 101, 80, 114, 111, 109, 105, 115, 101, 32, 61, 32, 116, 104, 105, 115, 46, 95, 116, 114, 121, 76, 111, 97, 100, 40, 116, 104, 105, 115, 46, 95, 119, 97, 115, 109, 85, 82, 76, 41, 46, 99, 97, 116, 99, 104, 40, 97, 115, 121, 110, 99, 32, 40, 105, 110, 105, 116, 105, 97, 108, 69, 114, 114, 111, 114, 41, 32, 61, 62, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 99, 111, 110, 115, 116, 32, 98, 97, 99, 107, 117, 112, 85, 114, 108, 32, 61, 32, 96, 104, 116, 116, 112, 115, 58, 47, 47, 117, 110, 112, 107, 103, 46, 99, 111, 109, 47, 36, 123, 80, 65, 67, 75, 65, 71, 69, 95, 78, 65, 77, 69, 125, 64, 36, 123, 80, 65, 67, 75, 65, 71, 69, 95, 86, 69, 82, 83, 73, 79, 78, 125, 47, 100, 105, 115, 116, 47, 100, 111, 116, 108, 111, 116, 116, 105, 101, 45, 112, 108, 97, 121, 101, 114, 46, 119, 97, 115, 109, 96, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 99, 111, 110, 115, 111, 108, 101, 46, 119, 97, 114, 110, 40, 96, 80, 114, 105, 109, 97, 114, 121, 32, 87, 65, 83, 77, 32, 108, 111, 97, 100, 32, 102, 97, 105, 108, 101, 100, 32, 102, 114, 111, 109, 32, 36, 123, 116, 104, 105, 115, 46, 95, 119, 97, 115, 109, 85, 82, 76, 125, 46, 32, 69, 114, 114, 111, 114, 58, 32, 36, 123, 105, 110, 105, 116, 105, 97, 108, 69, 114, 114, 111, 114, 46, 109, 101, 115, 115, 97, 103, 101, 125, 96, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 99, 111, 110, 115, 111, 108, 101, 46, 119, 97, 114, 110, 40, 96, 65, 116, 116, 101, 109, 112, 116, 105, 110, 103, 32, 116, 111, 32, 108, 111, 97, 100, 32, 87, 65, 83, 77, 32, 102, 114, 111, 109, 32, 98, 97, 99, 107, 117, 112, 32, 85, 82, 76, 58, 32, 36, 123, 98, 97, 99, 107, 117, 112, 85, 114, 108, 125, 96, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 116, 114, 121, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 97, 119, 97, 105, 116, 32, 116, 104, 105, 115, 46, 95, 116, 114, 121, 76, 111, 97, 100, 40, 98, 97, 99, 107, 117, 112, 85, 114, 108, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 125, 32, 99, 97, 116, 99, 104, 32, 40, 98, 97, 99, 107, 117, 112, 69, 114, 114, 111, 114, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 99, 111, 110, 115, 111, 108, 101, 46, 101, 114, 114, 111, 114, 40, 96, 80, 114, 105, 109, 97, 114, 121, 32, 87, 65, 83, 77, 32, 85, 82, 76, 32, 102, 97, 105, 108, 101, 100, 58, 32, 36, 123, 105, 110, 105, 116, 105, 97, 108, 69, 114, 114, 111, 114, 46, 109, 101, 115, 115, 97, 103, 101, 125, 96, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 99, 111, 110, 115, 111, 108, 101, 46, 101, 114, 114, 111, 114, 40, 96, 66, 97, 99, 107, 117, 112, 32, 87, 65, 83, 77, 32, 85, 82, 76, 32, 102, 97, 105, 108, 101, 100, 58, 32, 36, 123, 98, 97, 99, 107, 117, 112, 69, 114, 114, 111, 114, 46, 109, 101, 115, 115, 97, 103, 101, 125, 96, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 116, 104, 114, 111, 119, 32, 110, 101, 119, 32, 69, 114, 114, 111, 114, 40, 34, 87, 65, 83, 77, 32, 108, 111, 97, 100, 105, 110, 103, 32, 102, 97, 105, 108, 101, 100, 32, 102, 114, 111, 109, 32, 97, 108, 108, 32, 115, 111, 117, 114, 99, 101, 115, 46, 34, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 41, 59, 10, 32, 32, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 116, 104, 105, 115, 46, 95, 77, 111, 100, 117, 108, 101, 80, 114, 111, 109, 105, 115, 101, 59, 10, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 47, 42, 42, 10, 32, 32, 32, 32, 32, 42, 32, 80, 117, 98, 108, 105, 99, 32, 109, 101, 116, 104, 111, 100, 32, 116, 111, 32, 108, 111, 97, 100, 32, 116, 104, 101, 32, 87, 101, 98, 65, 115, 115, 101, 109, 98, 108, 121, 32, 109, 111, 100, 117, 108, 101, 46, 10, 32, 32, 32, 32, 32, 42, 32, 85, 116, 105, 108, 105, 122, 101, 115, 32, 97, 32, 112, 114, 105, 109, 97, 114, 121, 32, 97, 110, 100, 32, 98, 97, 99, 107, 117, 112, 32, 85, 82, 76, 32, 102, 111, 114, 32, 114, 111, 98, 117, 115, 116, 110, 101, 115, 115, 46, 10, 32, 32, 32, 32, 32, 42, 32, 64, 114, 101, 116, 117, 114, 110, 115, 32, 80, 114, 111, 109, 105, 115, 101, 60, 77, 111, 100, 117, 108, 101, 62, 32, 45, 32, 65, 32, 112, 114, 111, 109, 105, 115, 101, 32, 116, 104, 97, 116, 32, 114, 101, 115, 111, 108, 118, 101, 115, 32, 116, 111, 32, 116, 104, 101, 32, 108, 111, 97, 100, 101, 100, 32, 109, 111, 100, 117, 108, 101, 46, 10, 32, 32, 32, 32, 32, 42, 47, 10, 32, 32, 32, 32, 115, 116, 97, 116, 105, 99, 32, 97, 115, 121, 110, 99, 32, 108, 111, 97, 100, 40, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 116, 104, 105, 115, 46, 95, 108, 111, 97, 100, 87, 105, 116, 104, 66, 97, 99, 107, 117, 112, 40, 41, 59, 10, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 47, 42, 42, 10, 32, 32, 32, 32, 32, 42, 32, 83, 101, 116, 115, 32, 97, 32, 110, 101, 119, 32, 85, 82, 76, 32, 102, 111, 114, 32, 116, 104, 101, 32, 87, 65, 83, 77, 32, 102, 105, 108, 101, 32, 97, 110, 100, 32, 105, 110, 118, 97, 108, 105, 100, 97, 116, 101, 115, 32, 116, 104, 101, 32, 99, 117, 114, 114, 101, 110, 116, 32, 109, 111, 100, 117, 108, 101, 32, 112, 114, 111, 109, 105, 115, 101, 46, 10, 32, 32, 32, 32, 32, 42, 10, 32, 32, 32, 32, 32, 42, 32, 64, 112, 97, 114, 97, 109, 32, 115, 116, 114, 105, 110, 103, 32, 45, 32, 32, 84, 104, 101, 32, 110, 101, 119, 32, 85, 82, 76, 32, 102, 111, 114, 32, 116, 104, 101, 32, 87, 65, 83, 77, 32, 102, 105, 108, 101, 46, 10, 32, 32, 32, 32, 32, 42, 47, 10, 32, 32, 32, 32, 115, 116, 97, 116, 105, 99, 32, 115, 101, 116, 87, 97, 115, 109, 85, 114, 108, 40, 117, 114, 108, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 116, 104, 105, 115, 46, 95, 119, 97, 115, 109, 85, 82, 76, 32, 61, 32, 117, 114, 108, 59, 10, 32, 32, 32, 32, 32, 32, 116, 104, 105, 115, 46, 95, 77, 111, 100, 117, 108, 101, 80, 114, 111, 109, 105, 115, 101, 32, 61, 32, 110, 117, 108, 108, 59, 10, 32, 32, 32, 32, 125, 10, 32, 32, 125, 59, 10, 32, 32, 47, 47, 32, 101, 115, 108, 105, 110, 116, 45, 100, 105, 115, 97, 98, 108, 101, 45, 110, 101, 120, 116, 45, 108, 105, 110, 101, 32, 64, 116, 121, 112, 101, 115, 99, 114, 105, 112, 116, 45, 101, 115, 108, 105, 110, 116, 47, 110, 97, 109, 105, 110, 103, 45, 99, 111, 110, 118, 101, 110, 116, 105, 111, 110, 10, 32, 32, 95, 95, 112, 117, 98, 108, 105, 99, 70, 105, 101, 108, 100, 40, 68, 111, 116, 76, 111, 116, 116, 105, 101, 87, 97, 115, 109, 76, 111, 97, 100, 101, 114, 44, 32, 34, 95, 77, 111, 100, 117, 108, 101, 80, 114, 111, 109, 105, 115, 101, 34, 44, 32, 110, 117, 108, 108, 41, 59, 10, 32, 32, 47, 47, 32, 85, 82, 76, 32, 102, 111, 114, 32, 116, 104, 101, 32, 87, 65, 83, 77, 32, 102, 105, 108, 101, 44, 32, 99, 111, 110, 115, 116, 114, 117, 99, 116, 101, 100, 32, 117, 115, 105, 110, 103, 32, 112, 97, 99, 107, 97, 103, 101, 32, 105, 110, 102, 111, 114, 109, 97, 116, 105, 111, 110, 10, 32, 32, 95, 95, 112, 117, 98, 108, 105, 99, 70, 105, 101, 108, 100, 40, 68, 111, 116, 76, 111, 116, 116, 105, 101, 87, 97, 115, 109, 76, 111, 97, 100, 101, 114, 44, 32, 34, 95, 119, 97, 115, 109, 85, 82, 76, 34, 44, 32, 96, 104, 116, 116, 112, 115, 58, 47, 47, 99, 100, 110, 46, 106, 115, 100, 101, 108, 105, 118, 114, 46, 110, 101, 116, 47, 110, 112, 109, 47, 36, 123, 80, 65, 67, 75, 65, 71, 69, 95, 78, 65, 77, 69, 125, 64, 36, 123, 80, 65, 67, 75, 65, 71, 69, 95, 86, 69, 82, 83, 73, 79, 78, 125, 47, 100, 105, 115, 116, 47, 100, 111, 116, 108, 111, 116, 116, 105, 101, 45, 112, 108, 97, 121, 101, 114, 46, 119, 97, 115, 109, 96, 41, 59, 10, 10, 32, 32, 47, 47, 32, 115, 114, 99, 47, 101, 118, 101, 110, 116, 45, 109, 97, 110, 97, 103, 101, 114, 46, 116, 115, 10, 32, 32, 118, 97, 114, 32, 69, 118, 101, 110, 116, 77, 97, 110, 97, 103, 101, 114, 32, 61, 32, 99, 108, 97, 115, 115, 32, 123, 10, 32, 32, 32, 32, 99, 111, 110, 115, 116, 114, 117, 99, 116, 111, 114, 40, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 95, 95, 112, 117, 98, 108, 105, 99, 70, 105, 101, 108, 100, 40, 116, 104, 105, 115, 44, 32, 34, 95, 101, 118, 101, 110, 116, 76, 105, 115, 116, 101, 110, 101, 114, 115, 34, 44, 32, 47, 42, 32, 64, 95, 95, 80, 85, 82, 69, 95, 95, 32, 42, 47, 32, 110, 101, 119, 32, 77, 97, 112, 40, 41, 41, 59, 10, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 97, 100, 100, 69, 118, 101, 110, 116, 76, 105, 115, 116, 101, 110, 101, 114, 40, 116, 121, 112, 101, 44, 32, 108, 105, 115, 116, 101, 110, 101, 114, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 108, 101, 116, 32, 108, 105, 115, 116, 101, 110, 101, 114, 115, 32, 61, 32, 116, 104, 105, 115, 46, 95, 101, 118, 101, 110, 116, 76, 105, 115, 116, 101, 110, 101, 114, 115, 46, 103, 101, 116, 40, 116, 121, 112, 101, 41, 59, 10, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 33, 108, 105, 115, 116, 101, 110, 101, 114, 115, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 108, 105, 115, 116, 101, 110, 101, 114, 115, 32, 61, 32, 47, 42, 32, 64, 95, 95, 80, 85, 82, 69, 95, 95, 32, 42, 47, 32, 110, 101, 119, 32, 83, 101, 116, 40, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 116, 104, 105, 115, 46, 95, 101, 118, 101, 110, 116, 76, 105, 115, 116, 101, 110, 101, 114, 115, 46, 115, 101, 116, 40, 116, 121, 112, 101, 44, 32, 108, 105, 115, 116, 101, 110, 101, 114, 115, 41, 59, 10, 32, 32, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 32, 32, 108, 105, 115, 116, 101, 110, 101, 114, 115, 46, 97, 100, 100, 40, 108, 105, 115, 116, 101, 110, 101, 114, 41, 59, 10, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 114, 101, 109, 111, 118, 101, 69, 118, 101, 110, 116, 76, 105, 115, 116, 101, 110, 101, 114, 40, 116, 121, 112, 101, 44, 32, 108, 105, 115, 116, 101, 110, 101, 114, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 99, 111, 110, 115, 116, 32, 108, 105, 115, 116, 101, 110, 101, 114, 115, 32, 61, 32, 116, 104, 105, 115, 46, 95, 101, 118, 101, 110, 116, 76, 105, 115, 116, 101, 110, 101, 114, 115, 46, 103, 101, 116, 40, 116, 121, 112, 101, 41, 59, 10, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 33, 108, 105, 115, 116, 101, 110, 101, 114, 115, 41, 32, 114, 101, 116, 117, 114, 110, 59, 10, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 108, 105, 115, 116, 101, 110, 101, 114, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 108, 105, 115, 116, 101, 110, 101, 114, 115, 46, 100, 101, 108, 101, 116, 101, 40, 108, 105, 115, 116, 101, 110, 101, 114, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 108, 105, 115, 116, 101, 110, 101, 114, 115, 46, 115, 105, 122, 101, 32, 61, 61, 61, 32, 48, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 116, 104, 105, 115, 46, 95, 101, 118, 101, 110, 116, 76, 105, 115, 116, 101, 110, 101, 114, 115, 46, 100, 101, 108, 101, 116, 101, 40, 116, 121, 112, 101, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 32, 32, 125, 32, 101, 108, 115, 101, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 116, 104, 105, 115, 46, 95, 101, 118, 101, 110, 116, 76, 105, 115, 116, 101, 110, 101, 114, 115, 46, 100, 101, 108, 101, 116, 101, 40, 116, 121, 112, 101, 41, 59, 10, 32, 32, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 100, 105, 115, 112, 97, 116, 99, 104, 40, 101, 118, 101, 110, 116, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 99, 111, 110, 115, 116, 32, 108, 105, 115, 116, 101, 110, 101, 114, 115, 32, 61, 32, 116, 104, 105, 115, 46, 95, 101, 118, 101, 110, 116, 76, 105, 115, 116, 101, 110, 101, 114, 115, 46, 103, 101, 116, 40, 101, 118, 101, 110, 116, 46, 116, 121, 112, 101, 41, 59, 10, 32, 32, 32, 32, 32, 32, 108, 105, 115, 116, 101, 110, 101, 114, 115, 63, 46, 102, 111, 114, 69, 97, 99, 104, 40, 40, 108, 105, 115, 116, 101, 110, 101, 114, 41, 32, 61, 62, 32, 108, 105, 115, 116, 101, 110, 101, 114, 40, 101, 118, 101, 110, 116, 41, 41, 59, 10, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 114, 101, 109, 111, 118, 101, 65, 108, 108, 69, 118, 101, 110, 116, 76, 105, 115, 116, 101, 110, 101, 114, 115, 40, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 116, 104, 105, 115, 46, 95, 101, 118, 101, 110, 116, 76, 105, 115, 116, 101, 110, 101, 114, 115, 46, 99, 108, 101, 97, 114, 40, 41, 59, 10, 32, 32, 32, 32, 125, 10, 32, 32, 125, 59, 10, 10, 32, 32, 47, 47, 32, 115, 114, 99, 47, 111, 102, 102, 115, 99, 114, 101, 101, 110, 45, 111, 98, 115, 101, 114, 118, 101, 114, 46, 116, 115, 10, 32, 32, 118, 97, 114, 32, 79, 102, 102, 115, 99, 114, 101, 101, 110, 79, 98, 115, 101, 114, 118, 101, 114, 32, 61, 32, 99, 108, 97, 115, 115, 32, 123, 10, 32, 32, 32, 32, 115, 116, 97, 116, 105, 99, 32, 95, 105, 110, 105, 116, 105, 97, 108, 105, 122, 101, 79, 98, 115, 101, 114, 118, 101, 114, 40, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 116, 104, 105, 115, 46, 95, 111, 98, 115, 101, 114, 118, 101, 114, 41, 32, 114, 101, 116, 117, 114, 110, 59, 10, 32, 32, 32, 32, 32, 32, 99, 111, 110, 115, 116, 32, 105, 110, 116, 101, 114, 115, 101, 99, 116, 105, 111, 110, 79, 98, 115, 101, 114, 118, 101, 114, 67, 97, 108, 108, 98, 97, 99, 107, 32, 61, 32, 40, 101, 110, 116, 114, 105, 101, 115, 41, 32, 61, 62, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 101, 110, 116, 114, 105, 101, 115, 46, 102, 111, 114, 69, 97, 99, 104, 40, 40, 101, 110, 116, 114, 121, 41, 32, 61, 62, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 99, 111, 110, 115, 116, 32, 105, 110, 115, 116, 97, 110, 99, 101, 32, 61, 32, 116, 104, 105, 115, 46, 95, 111, 98, 115, 101, 114, 118, 101, 100, 67, 97, 110, 118, 97, 115, 101, 115, 46, 103, 101, 116, 40, 101, 110, 116, 114, 121, 46, 116, 97, 114, 103, 101, 116, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 105, 110, 115, 116, 97, 110, 99, 101, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 101, 110, 116, 114, 121, 46, 105, 115, 73, 110, 116, 101, 114, 115, 101, 99, 116, 105, 110, 103, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 105, 110, 115, 116, 97, 110, 99, 101, 46, 117, 110, 102, 114, 101, 101, 122, 101, 40, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 125, 32, 101, 108, 115, 101, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 105, 110, 115, 116, 97, 110, 99, 101, 46, 102, 114, 101, 101, 122, 101, 40, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 41, 59, 10, 32, 32, 32, 32, 32, 32, 125, 59, 10, 32, 32, 32, 32, 32, 32, 116, 104, 105, 115, 46, 95, 111, 98, 115, 101, 114, 118, 101, 114, 32, 61, 32, 110, 101, 119, 32, 73, 110, 116, 101, 114, 115, 101, 99, 116, 105, 111, 110, 79, 98, 115, 101, 114, 118, 101, 114, 40, 105, 110, 116, 101, 114, 115, 101, 99, 116, 105, 111, 110, 79, 98, 115, 101, 114, 118, 101, 114, 67, 97, 108, 108, 98, 97, 99, 107, 44, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 116, 104, 114, 101, 115, 104, 111, 108, 100, 58, 32, 48, 10, 32, 32, 32, 32, 32, 32, 125, 41, 59, 10, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 115, 116, 97, 116, 105, 99, 32, 111, 98, 115, 101, 114, 118, 101, 40, 99, 97, 110, 118, 97, 115, 44, 32, 100, 111, 116, 76, 111, 116, 116, 105, 101, 73, 110, 115, 116, 97, 110, 99, 101, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 116, 104, 105, 115, 46, 95, 105, 110, 105, 116, 105, 97, 108, 105, 122, 101, 79, 98, 115, 101, 114, 118, 101, 114, 40, 41, 59, 10, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 116, 104, 105, 115, 46, 95, 111, 98, 115, 101, 114, 118, 101, 100, 67, 97, 110, 118, 97, 115, 101, 115, 46, 104, 97, 115, 40, 99, 97, 110, 118, 97, 115, 41, 41, 32, 114, 101, 116, 117, 114, 110, 59, 10, 32, 32, 32, 32, 32, 32, 116, 104, 105, 115, 46, 95, 111, 98, 115, 101, 114, 118, 101, 100, 67, 97, 110, 118, 97, 115, 101, 115, 46, 115, 101, 116, 40, 99, 97, 110, 118, 97, 115, 44, 32, 100, 111, 116, 76, 111, 116, 116, 105, 101, 73, 110, 115, 116, 97, 110, 99, 101, 41, 59, 10, 32, 32, 32, 32, 32, 32, 116, 104, 105, 115, 46, 95, 111, 98, 115, 101, 114, 118, 101, 114, 63, 46, 111, 98, 115, 101, 114, 118, 101, 40, 99, 97, 110, 118, 97, 115, 41, 59, 10, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 115, 116, 97, 116, 105, 99, 32, 117, 110, 111, 98, 115, 101, 114, 118, 101, 40, 99, 97, 110, 118, 97, 115, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 116, 104, 105, 115, 46, 95, 111, 98, 115, 101, 114, 118, 101, 114, 63, 46, 117, 110, 111, 98, 115, 101, 114, 118, 101, 40, 99, 97, 110, 118, 97, 115, 41, 59, 10, 32, 32, 32, 32, 32, 32, 116, 104, 105, 115, 46, 95, 111, 98, 115, 101, 114, 118, 101, 100, 67, 97, 110, 118, 97, 115, 101, 115, 46, 100, 101, 108, 101, 116, 101, 40, 99, 97, 110, 118, 97, 115, 41, 59, 10, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 116, 104, 105, 115, 46, 95, 111, 98, 115, 101, 114, 118, 101, 100, 67, 97, 110, 118, 97, 115, 101, 115, 46, 115, 105, 122, 101, 32, 61, 61, 61, 32, 48, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 116, 104, 105, 115, 46, 95, 111, 98, 115, 101, 114, 118, 101, 114, 63, 46, 100, 105, 115, 99, 111, 110, 110, 101, 99, 116, 40, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 116, 104, 105, 115, 46, 95, 111, 98, 115, 101, 114, 118, 101, 114, 32, 61, 32, 110, 117, 108, 108, 59, 10, 32, 32, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 125, 10, 32, 32, 125, 59, 10, 32, 32, 95, 95, 112, 117, 98, 108, 105, 99, 70, 105, 101, 108, 100, 40, 79, 102, 102, 115, 99, 114, 101, 101, 110, 79, 98, 115, 101, 114, 118, 101, 114, 44, 32, 34, 95, 111, 98, 115, 101, 114, 118, 101, 114, 34, 44, 32, 110, 117, 108, 108, 41, 59, 10, 32, 32, 95, 95, 112, 117, 98, 108, 105, 99, 70, 105, 101, 108, 100, 40, 79, 102, 102, 115, 99, 114, 101, 101, 110, 79, 98, 115, 101, 114, 118, 101, 114, 44, 32, 34, 95, 111, 98, 115, 101, 114, 118, 101, 100, 67, 97, 110, 118, 97, 115, 101, 115, 34, 44, 32, 47, 42, 32, 64, 95, 95, 80, 85, 82, 69, 95, 95, 32, 42, 47, 32, 110, 101, 119, 32, 77, 97, 112, 40, 41, 41, 59, 10, 10, 32, 32, 47, 47, 32, 115, 114, 99, 47, 114, 101, 115, 105, 122, 101, 45, 111, 98, 115, 101, 114, 118, 101, 114, 46, 116, 115, 10, 32, 32, 118, 97, 114, 32, 82, 69, 83, 73, 90, 69, 95, 68, 69, 66, 79, 85, 78, 67, 69, 95, 84, 73, 77, 69, 32, 61, 32, 49, 48, 48, 59, 10, 32, 32, 118, 97, 114, 32, 67, 97, 110, 118, 97, 115, 82, 101, 115, 105, 122, 101, 79, 98, 115, 101, 114, 118, 101, 114, 32, 61, 32, 99, 108, 97, 115, 115, 32, 123, 10, 32, 32, 32, 32, 115, 116, 97, 116, 105, 99, 32, 95, 105, 110, 105, 116, 105, 97, 108, 105, 122, 101, 79, 98, 115, 101, 114, 118, 101, 114, 40, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 116, 104, 105, 115, 46, 95, 111, 98, 115, 101, 114, 118, 101, 114, 41, 32, 114, 101, 116, 117, 114, 110, 59, 10, 32, 32, 32, 32, 32, 32, 99, 111, 110, 115, 116, 32, 114, 101, 115, 105, 122, 101, 72, 97, 110, 100, 108, 101, 114, 32, 61, 32, 40, 101, 110, 116, 114, 105, 101, 115, 41, 32, 61, 62, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 101, 110, 116, 114, 105, 101, 115, 46, 102, 111, 114, 69, 97, 99, 104, 40, 40, 101, 110, 116, 114, 121, 41, 32, 61, 62, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 99, 111, 110, 115, 116, 32, 101, 108, 101, 109, 101, 110, 116, 32, 61, 32, 116, 104, 105, 115, 46, 95, 111, 98, 115, 101, 114, 118, 101, 100, 67, 97, 110, 118, 97, 115, 101, 115, 46, 103, 101, 116, 40, 101, 110, 116, 114, 121, 46, 116, 97, 114, 103, 101, 116, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 33, 101, 108, 101, 109, 101, 110, 116, 41, 32, 114, 101, 116, 117, 114, 110, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 99, 111, 110, 115, 116, 32, 91, 100, 111, 116, 76, 111, 116, 116, 105, 101, 73, 110, 115, 116, 97, 110, 99, 101, 44, 32, 116, 105, 109, 101, 111, 117, 116, 93, 32, 61, 32, 101, 108, 101, 109, 101, 110, 116, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 99, 108, 101, 97, 114, 84, 105, 109, 101, 111, 117, 116, 40, 116, 105, 109, 101, 111, 117, 116, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 99, 111, 110, 115, 116, 32, 110, 101, 119, 84, 105, 109, 101, 111, 117, 116, 32, 61, 32, 115, 101, 116, 84, 105, 109, 101, 111, 117, 116, 40, 40, 41, 32, 61, 62, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 100, 111, 116, 76, 111, 116, 116, 105, 101, 73, 110, 115, 116, 97, 110, 99, 101, 46, 114, 101, 115, 105, 122, 101, 40, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 125, 44, 32, 82, 69, 83, 73, 90, 69, 95, 68, 69, 66, 79, 85, 78, 67, 69, 95, 84, 73, 77, 69, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 116, 104, 105, 115, 46, 95, 111, 98, 115, 101, 114, 118, 101, 100, 67, 97, 110, 118, 97, 115, 101, 115, 46, 115, 101, 116, 40, 101, 110, 116, 114, 121, 46, 116, 97, 114, 103, 101, 116, 44, 32, 91, 100, 111, 116, 76, 111, 116, 116, 105, 101, 73, 110, 115, 116, 97, 110, 99, 101, 44, 32, 110, 101, 119, 84, 105, 109, 101, 111, 117, 116, 93, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 41, 59, 10, 32, 32, 32, 32, 32, 32, 125, 59, 10, 32, 32, 32, 32, 32, 32, 116, 104, 105, 115, 46, 95, 111, 98, 115, 101, 114, 118, 101, 114, 32, 61, 32, 110, 101, 119, 32, 82, 101, 115, 105, 122, 101, 79, 98, 115, 101, 114, 118, 101, 114, 40, 114, 101, 115, 105, 122, 101, 72, 97, 110, 100, 108, 101, 114, 41, 59, 10, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 115, 116, 97, 116, 105, 99, 32, 111, 98, 115, 101, 114, 118, 101, 40, 99, 97, 110, 118, 97, 115, 44, 32, 100, 111, 116, 76, 111, 116, 116, 105, 101, 73, 110, 115, 116, 97, 110, 99, 101, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 116, 104, 105, 115, 46, 95, 105, 110, 105, 116, 105, 97, 108, 105, 122, 101, 79, 98, 115, 101, 114, 118, 101, 114, 40, 41, 59, 10, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 116, 104, 105, 115, 46, 95, 111, 98, 115, 101, 114, 118, 101, 100, 67, 97, 110, 118, 97, 115, 101, 115, 46, 104, 97, 115, 40, 99, 97, 110, 118, 97, 115, 41, 41, 32, 114, 101, 116, 117, 114, 110, 59, 10, 32, 32, 32, 32, 32, 32, 116, 104, 105, 115, 46, 95, 111, 98, 115, 101, 114, 118, 101, 100, 67, 97, 110, 118, 97, 115, 101, 115, 46, 115, 101, 116, 40, 99, 97, 110, 118, 97, 115, 44, 32, 91, 100, 111, 116, 76, 111, 116, 116, 105, 101, 73, 110, 115, 116, 97, 110, 99, 101, 44, 32, 48, 93, 41, 59, 10, 32, 32, 32, 32, 32, 32, 116, 104, 105, 115, 46, 95, 111, 98, 115, 101, 114, 118, 101, 114, 63, 46, 111, 98, 115, 101, 114, 118, 101, 40, 99, 97, 110, 118, 97, 115, 41, 59, 10, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 115, 116, 97, 116, 105, 99, 32, 117, 110, 111, 98, 115, 101, 114, 118, 101, 40, 99, 97, 110, 118, 97, 115, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 116, 104, 105, 115, 46, 95, 111, 98, 115, 101, 114, 118, 101, 114, 63, 46, 117, 110, 111, 98, 115, 101, 114, 118, 101, 40, 99, 97, 110, 118, 97, 115, 41, 59, 10, 32, 32, 32, 32, 32, 32, 116, 104, 105, 115, 46, 95, 111, 98, 115, 101, 114, 118, 101, 100, 67, 97, 110, 118, 97, 115, 101, 115, 46, 100, 101, 108, 101, 116, 101, 40, 99, 97, 110, 118, 97, 115, 41, 59, 10, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 116, 104, 105, 115, 46, 95, 111, 98, 115, 101, 114, 118, 101, 100, 67, 97, 110, 118, 97, 115, 101, 115, 46, 115, 105, 122, 101, 32, 61, 61, 61, 32, 48, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 116, 104, 105, 115, 46, 95, 111, 98, 115, 101, 114, 118, 101, 114, 63, 46, 100, 105, 115, 99, 111, 110, 110, 101, 99, 116, 40, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 116, 104, 105, 115, 46, 95, 111, 98, 115, 101, 114, 118, 101, 114, 32, 61, 32, 110, 117, 108, 108, 59, 10, 32, 32, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 125, 10, 32, 32, 125, 59, 10, 32, 32, 95, 95, 112, 117, 98, 108, 105, 99, 70, 105, 101, 108, 100, 40, 67, 97, 110, 118, 97, 115, 82, 101, 115, 105, 122, 101, 79, 98, 115, 101, 114, 118, 101, 114, 44, 32, 34, 95, 111, 98, 115, 101, 114, 118, 101, 114, 34, 44, 32, 110, 117, 108, 108, 41, 59, 10, 32, 32, 95, 95, 112, 117, 98, 108, 105, 99, 70, 105, 101, 108, 100, 40, 67, 97, 110, 118, 97, 115, 82, 101, 115, 105, 122, 101, 79, 98, 115, 101, 114, 118, 101, 114, 44, 32, 34, 95, 111, 98, 115, 101, 114, 118, 101, 100, 67, 97, 110, 118, 97, 115, 101, 115, 34, 44, 32, 47, 42, 32, 64, 95, 95, 80, 85, 82, 69, 95, 95, 32, 42, 47, 32, 110, 101, 119, 32, 77, 97, 112, 40, 41, 41, 59, 10, 10, 32, 32, 47, 47, 32, 115, 114, 99, 47, 117, 116, 105, 108, 115, 46, 116, 115, 10, 32, 32, 102, 117, 110, 99, 116, 105, 111, 110, 32, 105, 115, 72, 101, 120, 67, 111, 108, 111, 114, 40, 99, 111, 108, 111, 114, 41, 32, 123, 10, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 47, 94, 35, 40, 91, 92, 100, 97, 45, 102, 93, 123, 54, 125, 124, 91, 92, 100, 97, 45, 102, 93, 123, 56, 125, 41, 36, 47, 105, 117, 46, 116, 101, 115, 116, 40, 99, 111, 108, 111, 114, 41, 59, 10, 32, 32, 125, 10, 32, 32, 102, 117, 110, 99, 116, 105, 111, 110, 32, 104, 101, 120, 83, 116, 114, 105, 110, 103, 84, 111, 82, 71, 66, 65, 73, 110, 116, 40, 99, 111, 108, 111, 114, 72, 101, 120, 41, 32, 123, 10, 32, 32, 32, 32, 105, 102, 32, 40, 33, 105, 115, 72, 101, 120, 67, 111, 108, 111, 114, 40, 99, 111, 108, 111, 114, 72, 101, 120, 41, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 48, 59, 10, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 108, 101, 116, 32, 104, 101, 120, 32, 61, 32, 99, 111, 108, 111, 114, 72, 101, 120, 46, 114, 101, 112, 108, 97, 99, 101, 40, 34, 35, 34, 44, 32, 34, 34, 41, 59, 10, 32, 32, 32, 32, 104, 101, 120, 32, 61, 32, 104, 101, 120, 46, 108, 101, 110, 103, 116, 104, 32, 61, 61, 61, 32, 54, 32, 63, 32, 96, 36, 123, 104, 101, 120, 125, 102, 102, 96, 32, 58, 32, 104, 101, 120, 59, 10, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 112, 97, 114, 115, 101, 73, 110, 116, 40, 104, 101, 120, 44, 32, 49, 54, 41, 59, 10, 32, 32, 125, 10, 32, 32, 102, 117, 110, 99, 116, 105, 111, 110, 32, 105, 115, 68, 111, 116, 76, 111, 116, 116, 105, 101, 40, 102, 105, 108, 101, 68, 97, 116, 97, 41, 32, 123, 10, 32, 32, 32, 32, 105, 102, 32, 40, 102, 105, 108, 101, 68, 97, 116, 97, 46, 98, 121, 116, 101, 76, 101, 110, 103, 116, 104, 32, 60, 32, 52, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 102, 97, 108, 115, 101, 59, 10, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 99, 111, 110, 115, 116, 32, 102, 105, 108, 101, 83, 105, 103, 110, 97, 116, 117, 114, 101, 32, 61, 32, 110, 101, 119, 32, 85, 105, 110, 116, 56, 65, 114, 114, 97, 121, 40, 102, 105, 108, 101, 68, 97, 116, 97, 46, 115, 108, 105, 99, 101, 40, 48, 44, 32, 90, 73, 80, 95, 83, 73, 71, 78, 65, 84, 85, 82, 69, 46, 98, 121, 116, 101, 76, 101, 110, 103, 116, 104, 41, 41, 59, 10, 32, 32, 32, 32, 102, 111, 114, 32, 40, 108, 101, 116, 32, 105, 32, 61, 32, 48, 59, 32, 105, 32, 60, 32, 90, 73, 80, 95, 83, 73, 71, 78, 65, 84, 85, 82, 69, 46, 108, 101, 110, 103, 116, 104, 59, 32, 105, 32, 43, 61, 32, 49, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 90, 73, 80, 95, 83, 73, 71, 78, 65, 84, 85, 82, 69, 91, 105, 93, 32, 33, 61, 61, 32, 102, 105, 108, 101, 83, 105, 103, 110, 97, 116, 117, 114, 101, 91, 105, 93, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 102, 97, 108, 115, 101, 59, 10, 32, 32, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 116, 114, 117, 101, 59, 10, 32, 32, 125, 10, 32, 32, 102, 117, 110, 99, 116, 105, 111, 110, 32, 105, 115, 76, 111, 116, 116, 105, 101, 74, 83, 79, 78, 40, 106, 115, 111, 110, 41, 32, 123, 10, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 76, 79, 84, 84, 73, 69, 95, 74, 83, 79, 78, 95, 77, 65, 78, 68, 65, 84, 79, 82, 89, 95, 70, 73, 69, 76, 68, 83, 46, 101, 118, 101, 114, 121, 40, 40, 102, 105, 101, 108, 100, 41, 32, 61, 62, 32, 79, 98, 106, 101, 99, 116, 46, 112, 114, 111, 116, 111, 116, 121, 112, 101, 46, 104, 97, 115, 79, 119, 110, 80, 114, 111, 112, 101, 114, 116, 121, 46, 99, 97, 108, 108, 40, 106, 115, 111, 110, 44, 32, 102, 105, 101, 108, 100, 41, 41, 59, 10, 32, 32, 125, 10, 32, 32, 102, 117, 110, 99, 116, 105, 111, 110, 32, 105, 115, 76, 111, 116, 116, 105, 101, 40, 102, 105, 108, 101, 68, 97, 116, 97, 41, 32, 123, 10, 32, 32, 32, 32, 105, 102, 32, 40, 116, 121, 112, 101, 111, 102, 32, 102, 105, 108, 101, 68, 97, 116, 97, 32, 61, 61, 61, 32, 34, 115, 116, 114, 105, 110, 103, 34, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 116, 114, 121, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 105, 115, 76, 111, 116, 116, 105, 101, 74, 83, 79, 78, 40, 74, 83, 79, 78, 46, 112, 97, 114, 115, 101, 40, 102, 105, 108, 101, 68, 97, 116, 97, 41, 41, 59, 10, 32, 32, 32, 32, 32, 32, 125, 32, 99, 97, 116, 99, 104, 32, 40, 95, 101, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 102, 97, 108, 115, 101, 59, 10, 32, 32, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 125, 32, 101, 108, 115, 101, 32, 123, 10, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 105, 115, 76, 111, 116, 116, 105, 101, 74, 83, 79, 78, 40, 102, 105, 108, 101, 68, 97, 116, 97, 41, 59, 10, 32, 32, 32, 32, 125, 10, 32, 32, 125, 10, 32, 32, 102, 117, 110, 99, 116, 105, 111, 110, 32, 103, 101, 116, 68, 101, 102, 97, 117, 108, 116, 68, 80, 82, 40, 41, 32, 123, 10, 32, 32, 32, 32, 99, 111, 110, 115, 116, 32, 100, 112, 114, 32, 61, 32, 73, 83, 95, 66, 82, 79, 87, 83, 69, 82, 32, 63, 32, 119, 105, 110, 100, 111, 119, 46, 100, 101, 118, 105, 99, 101, 80, 105, 120, 101, 108, 82, 97, 116, 105, 111, 32, 58, 32, 49, 59, 10, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 49, 32, 43, 32, 40, 100, 112, 114, 32, 45, 32, 49, 41, 32, 42, 32, 68, 69, 70, 65, 85, 76, 84, 95, 68, 80, 82, 95, 70, 65, 67, 84, 79, 82, 59, 10, 32, 32, 125, 10, 32, 32, 102, 117, 110, 99, 116, 105, 111, 110, 32, 105, 115, 69, 108, 101, 109, 101, 110, 116, 73, 110, 86, 105, 101, 119, 112, 111, 114, 116, 40, 101, 108, 101, 109, 101, 110, 116, 41, 32, 123, 10, 32, 32, 32, 32, 99, 111, 110, 115, 116, 32, 114, 101, 99, 116, 32, 61, 32, 101, 108, 101, 109, 101, 110, 116, 46, 103, 101, 116, 66, 111, 117, 110, 100, 105, 110, 103, 67, 108, 105, 101, 110, 116, 82, 101, 99, 116, 40, 41, 59, 10, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 114, 101, 99, 116, 46, 116, 111, 112, 32, 62, 61, 32, 48, 32, 38, 38, 32, 114, 101, 99, 116, 46, 108, 101, 102, 116, 32, 62, 61, 32, 48, 32, 38, 38, 32, 114, 101, 99, 116, 46, 98, 111, 116, 116, 111, 109, 32, 60, 61, 32, 40, 119, 105, 110, 100, 111, 119, 46, 105, 110, 110, 101, 114, 72, 101, 105, 103, 104, 116, 32, 124, 124, 32, 100, 111, 99, 117, 109, 101, 110, 116, 46, 100, 111, 99, 117, 109, 101, 110, 116, 69, 108, 101, 109, 101, 110, 116, 46, 99, 108, 105, 101, 110, 116, 72, 101, 105, 103, 104, 116, 41, 32, 38, 38, 32, 114, 101, 99, 116, 46, 114, 105, 103, 104, 116, 32, 60, 61, 32, 40, 119, 105, 110, 100, 111, 119, 46, 105, 110, 110, 101, 114, 87, 105, 100, 116, 104, 32, 124, 124, 32, 100, 111, 99, 117, 109, 101, 110, 116, 46, 100, 111, 99, 117, 109, 101, 110, 116, 69, 108, 101, 109, 101, 110, 116, 46, 99, 108, 105, 101, 110, 116, 87, 105, 100, 116, 104, 41, 59, 10, 32, 32, 125, 10, 10, 32, 32, 47, 47, 32, 115, 114, 99, 47, 100, 111, 116, 108, 111, 116, 116, 105, 101, 46, 116, 115, 10, 32, 32, 118, 97, 114, 32, 99, 114, 101, 97, 116, 101, 67, 111, 114, 101, 77, 111, 100, 101, 32, 61, 32, 40, 109, 111, 100, 101, 44, 32, 109, 111, 100, 117, 108, 101, 41, 32, 61, 62, 32, 123, 10, 32, 32, 32, 32, 105, 102, 32, 40, 109, 111, 100, 101, 32, 61, 61, 61, 32, 34, 114, 101, 118, 101, 114, 115, 101, 34, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 109, 111, 100, 117, 108, 101, 46, 77, 111, 100, 101, 46, 82, 101, 118, 101, 114, 115, 101, 59, 10, 32, 32, 32, 32, 125, 32, 101, 108, 115, 101, 32, 105, 102, 32, 40, 109, 111, 100, 101, 32, 61, 61, 61, 32, 34, 98, 111, 117, 110, 99, 101, 34, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 109, 111, 100, 117, 108, 101, 46, 77, 111, 100, 101, 46, 66, 111, 117, 110, 99, 101, 59, 10, 32, 32, 32, 32, 125, 32, 101, 108, 115, 101, 32, 105, 102, 32, 40, 109, 111, 100, 101, 32, 61, 61, 61, 32, 34, 114, 101, 118, 101, 114, 115, 101, 45, 98, 111, 117, 110, 99, 101, 34, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 109, 111, 100, 117, 108, 101, 46, 77, 111, 100, 101, 46, 82, 101, 118, 101, 114, 115, 101, 66, 111, 117, 110, 99, 101, 59, 10, 32, 32, 32, 32, 125, 32, 101, 108, 115, 101, 32, 123, 10, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 109, 111, 100, 117, 108, 101, 46, 77, 111, 100, 101, 46, 70, 111, 114, 119, 97, 114, 100, 59, 10, 32, 32, 32, 32, 125, 10, 32, 32, 125, 59, 10, 32, 32, 118, 97, 114, 32, 99, 114, 101, 97, 116, 101, 67, 111, 114, 101, 70, 105, 116, 32, 61, 32, 40, 102, 105, 116, 44, 32, 109, 111, 100, 117, 108, 101, 41, 32, 61, 62, 32, 123, 10, 32, 32, 32, 32, 105, 102, 32, 40, 102, 105, 116, 32, 61, 61, 61, 32, 34, 99, 111, 110, 116, 97, 105, 110, 34, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 109, 111, 100, 117, 108, 101, 46, 70, 105, 116, 46, 67, 111, 110, 116, 97, 105, 110, 59, 10, 32, 32, 32, 32, 125, 32, 101, 108, 115, 101, 32, 105, 102, 32, 40, 102, 105, 116, 32, 61, 61, 61, 32, 34, 99, 111, 118, 101, 114, 34, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 109, 111, 100, 117, 108, 101, 46, 70, 105, 116, 46, 67, 111, 118, 101, 114, 59, 10, 32, 32, 32, 32, 125, 32, 101, 108, 115, 101, 32, 105, 102, 32, 40, 102, 105, 116, 32, 61, 61, 61, 32, 34, 102, 105, 108, 108, 34, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 109, 111, 100, 117, 108, 101, 46, 70, 105, 116, 46, 70, 105, 108, 108, 59, 10, 32, 32, 32, 32, 125, 32, 101, 108, 115, 101, 32, 105, 102, 32, 40, 102, 105, 116, 32, 61, 61, 61, 32, 34, 102, 105, 116, 45, 104, 101, 105, 103, 104, 116, 34, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 109, 111, 100, 117, 108, 101, 46, 70, 105, 116, 46, 70, 105, 116, 72, 101, 105, 103, 104, 116, 59, 10, 32, 32, 32, 32, 125, 32, 101, 108, 115, 101, 32, 105, 102, 32, 40, 102, 105, 116, 32, 61, 61, 61, 32, 34, 102, 105, 116, 45, 119, 105, 100, 116, 104, 34, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 109, 111, 100, 117, 108, 101, 46, 70, 105, 116, 46, 70, 105, 116, 87, 105, 100, 116, 104, 59, 10, 32, 32, 32, 32, 125, 32, 101, 108, 115, 101, 32, 123, 10, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 109, 111, 100, 117, 108, 101, 46, 70, 105, 116, 46, 78, 111, 110, 101, 59, 10, 32, 32, 32, 32, 125, 10, 32, 32, 125, 59, 10, 32, 32, 118, 97, 114, 32, 99, 114, 101, 97, 116, 101, 67, 111, 114, 101, 65, 108, 105, 103, 110, 32, 61, 32, 40, 97, 108, 105, 103, 110, 44, 32, 109, 111, 100, 117, 108, 101, 41, 32, 61, 62, 32, 123, 10, 32, 32, 32, 32, 99, 111, 110, 115, 116, 32, 99, 111, 114, 101, 65, 108, 105, 103, 110, 32, 61, 32, 110, 101, 119, 32, 109, 111, 100, 117, 108, 101, 46, 86, 101, 99, 116, 111, 114, 70, 108, 111, 97, 116, 40, 41, 59, 10, 32, 32, 32, 32, 99, 111, 114, 101, 65, 108, 105, 103, 110, 46, 112, 117, 115, 104, 95, 98, 97, 99, 107, 40, 97, 108, 105, 103, 110, 91, 48, 93, 41, 59, 10, 32, 32, 32, 32, 99, 111, 114, 101, 65, 108, 105, 103, 110, 46, 112, 117, 115, 104, 95, 98, 97, 99, 107, 40, 97, 108, 105, 103, 110, 91, 49, 93, 41, 59, 10, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 99, 111, 114, 101, 65, 108, 105, 103, 110, 59, 10, 32, 32, 125, 59, 10, 32, 32, 118, 97, 114, 32, 99, 114, 101, 97, 116, 101, 67, 111, 114, 101, 83, 101, 103, 109, 101, 110, 116, 32, 61, 32, 40, 115, 101, 103, 109, 101, 110, 116, 44, 32, 109, 111, 100, 117, 108, 101, 41, 32, 61, 62, 32, 123, 10, 32, 32, 32, 32, 99, 111, 110, 115, 116, 32, 99, 111, 114, 101, 115, 101, 103, 109, 101, 110, 116, 32, 61, 32, 110, 101, 119, 32, 109, 111, 100, 117, 108, 101, 46, 86, 101, 99, 116, 111, 114, 70, 108, 111, 97, 116, 40, 41, 59, 10, 32, 32, 32, 32, 105, 102, 32, 40, 115, 101, 103, 109, 101, 110, 116, 46, 108, 101, 110, 103, 116, 104, 32, 33, 61, 61, 32, 50, 41, 32, 114, 101, 116, 117, 114, 110, 32, 99, 111, 114, 101, 115, 101, 103, 109, 101, 110, 116, 59, 10, 32, 32, 32, 32, 99, 111, 114, 101, 115, 101, 103, 109, 101, 110, 116, 46, 112, 117, 115, 104, 95, 98, 97, 99, 107, 40, 115, 101, 103, 109, 101, 110, 116, 91, 48, 93, 41, 59, 10, 32, 32, 32, 32, 99, 111, 114, 101, 115, 101, 103, 109, 101, 110, 116, 46, 112, 117, 115, 104, 95, 98, 97, 99, 107, 40, 115, 101, 103, 109, 101, 110, 116, 91, 49, 93, 41, 59, 10, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 99, 111, 114, 101, 115, 101, 103, 109, 101, 110, 116, 59, 10, 32, 32, 125, 59, 10, 32, 32, 118, 97, 114, 32, 95, 68, 111, 116, 76, 111, 116, 116, 105, 101, 32, 61, 32, 99, 108, 97, 115, 115, 32, 95, 68, 111, 116, 76, 111, 116, 116, 105, 101, 32, 123, 10, 32, 32, 32, 32, 99, 111, 110, 115, 116, 114, 117, 99, 116, 111, 114, 40, 99, 111, 110, 102, 105, 103, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 95, 95, 112, 117, 98, 108, 105, 99, 70, 105, 101, 108, 100, 40, 116, 104, 105, 115, 44, 32, 34, 95, 99, 97, 110, 118, 97, 115, 34, 41, 59, 10, 32, 32, 32, 32, 32, 32, 95, 95, 112, 117, 98, 108, 105, 99, 70, 105, 101, 108, 100, 40, 116, 104, 105, 115, 44, 32, 34, 95, 99, 111, 110, 116, 101, 120, 116, 34, 44, 32, 110, 117, 108, 108, 41, 59, 10, 32, 32, 32, 32, 32, 32, 95, 95, 112, 117, 98, 108, 105, 99, 70, 105, 101, 108, 100, 40, 116, 104, 105, 115, 44, 32, 34, 95, 101, 118, 101, 110, 116, 77, 97, 110, 97, 103, 101, 114, 34, 41, 59, 10, 32, 32, 32, 32, 32, 32, 95, 95, 112, 117, 98, 108, 105, 99, 70, 105, 101, 108, 100, 40, 116, 104, 105, 115, 44, 32, 34, 95, 97, 110, 105, 109, 97, 116, 105, 111, 110, 70, 114, 97, 109, 101, 73, 100, 34, 44, 32, 110, 117, 108, 108, 41, 59, 10, 32, 32, 32, 32, 32, 32, 95, 95, 112, 117, 98, 108, 105, 99, 70, 105, 101, 108, 100, 40, 116, 104, 105, 115, 44, 32, 34, 95, 102, 114, 97, 109, 101, 77, 97, 110, 97, 103, 101, 114, 34, 41, 59, 10, 32, 32, 32, 32, 32, 32, 95, 95, 112, 117, 98, 108, 105, 99, 70, 105, 101, 108, 100, 40, 116, 104, 105, 115, 44, 32, 34, 95, 100, 111, 116, 76, 111, 116, 116, 105, 101, 67, 111, 114, 101, 34, 44, 32, 110, 117, 108, 108, 41, 59, 10, 32, 32, 32, 32, 32, 32, 95, 95, 112, 117, 98, 108, 105, 99, 70, 105, 101, 108, 100, 40, 116, 104, 105, 115, 44, 32, 34, 95, 114, 101, 110, 100, 101, 114, 67, 111, 110, 102, 105, 103, 34, 44, 32, 123, 125, 41, 59, 10, 32, 32, 32, 32, 32, 32, 95, 95, 112, 117, 98, 108, 105, 99, 70, 105, 101, 108, 100, 40, 116, 104, 105, 115, 44, 32, 34, 95, 105, 115, 70, 114, 111, 122, 101, 110, 34, 44, 32, 102, 97, 108, 115, 101, 41, 59, 10, 32, 32, 32, 32, 32, 32, 95, 95, 112, 117, 98, 108, 105, 99, 70, 105, 101, 108, 100, 40, 116, 104, 105, 115, 44, 32, 34, 95, 98, 97, 99, 107, 103, 114, 111, 117, 110, 100, 67, 111, 108, 111, 114, 34, 44, 32, 110, 117, 108, 108, 41, 59, 10, 32, 32, 32, 32, 32, 32, 95, 95, 112, 117, 98, 108, 105, 99, 70, 105, 101, 108, 100, 40, 116, 104, 105, 115, 44, 32, 34, 95, 112, 111, 105, 110, 116, 101, 114, 85, 112, 77, 101, 116, 104, 111, 100, 34, 41, 59, 10, 32, 32, 32, 32, 32, 32, 95, 95, 112, 117, 98, 108, 105, 99, 70, 105, 101, 108, 100, 40, 116, 104, 105, 115, 44, 32, 34, 95, 112, 111, 105, 110, 116, 101, 114, 68, 111, 119, 110, 77, 101, 116, 104, 111, 100, 34, 41, 59, 10, 32, 32, 32, 32, 32, 32, 95, 95, 112, 117, 98, 108, 105, 99, 70, 105, 101, 108, 100, 40, 116, 104, 105, 115, 44, 32, 34, 95, 112, 111, 105, 110, 116, 101, 114, 77, 111, 118, 101, 77, 101, 116, 104, 111, 100, 34, 41, 59, 10, 32, 32, 32, 32, 32, 32, 95, 95, 112, 117, 98, 108, 105, 99, 70, 105, 101, 108, 100, 40, 116, 104, 105, 115, 44, 32, 34, 95, 112, 111, 105, 110, 116, 101, 114, 69, 110, 116, 101, 114, 77, 101, 116, 104, 111, 100, 34, 41, 59, 10, 32, 32, 32, 32, 32, 32, 95, 95, 112, 117, 98, 108, 105, 99, 70, 105, 101, 108, 100, 40, 116, 104, 105, 115, 44, 32, 34, 95, 112, 111, 105, 110, 116, 101, 114, 69, 120, 105, 116, 77, 101, 116, 104, 111, 100, 34, 41, 59, 10, 32, 32, 32, 32, 32, 32, 95, 95, 112, 117, 98, 108, 105, 99, 70, 105, 101, 108, 100, 40, 116, 104, 105, 115, 44, 32, 34, 95, 111, 110, 67, 111, 109, 112, 108, 101, 116, 101, 77, 101, 116, 104, 111, 100, 34, 41, 59, 10, 32, 32, 32, 32, 32, 32, 116, 104, 105, 115, 46, 95, 99, 97, 110, 118, 97, 115, 32, 61, 32, 99, 111, 110, 102, 105, 103, 46, 99, 97, 110, 118, 97, 115, 59, 10, 32, 32, 32, 32, 32, 32, 116, 104, 105, 115, 46, 95, 99, 111, 110, 116, 101, 120, 116, 32, 61, 32, 116, 104, 105, 115, 46, 95, 99, 97, 110, 118, 97, 115, 46, 103, 101, 116, 67, 111, 110, 116, 101, 120, 116, 40, 34, 50, 100, 34, 41, 59, 10, 32, 32, 32, 32, 32, 32, 116, 104, 105, 115, 46, 95, 101, 118, 101, 110, 116, 77, 97, 110, 97, 103, 101, 114, 32, 61, 32, 110, 101, 119, 32, 69, 118, 101, 110, 116, 77, 97, 110, 97, 103, 101, 114, 40, 41, 59, 10, 32, 32, 32, 32, 32, 32, 116, 104, 105, 115, 46, 95, 102, 114, 97, 109, 101, 77, 97, 110, 97, 103, 101, 114, 32, 61, 32, 110, 101, 119, 32, 65, 110, 105, 109, 97, 116, 105, 111, 110, 70, 114, 97, 109, 101, 77, 97, 110, 97, 103, 101, 114, 40, 41, 59, 10, 32, 32, 32, 32, 32, 32, 116, 104, 105, 115, 46, 95, 114, 101, 110, 100, 101, 114, 67, 111, 110, 102, 105, 103, 32, 61, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 46, 46, 46, 99, 111, 110, 102, 105, 103, 46, 114, 101, 110, 100, 101, 114, 67, 111, 110, 102, 105, 103, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 100, 101, 118, 105, 99, 101, 80, 105, 120, 101, 108, 82, 97, 116, 105, 111, 58, 32, 99, 111, 110, 102, 105, 103, 46, 114, 101, 110, 100, 101, 114, 67, 111, 110, 102, 105, 103, 63, 46, 100, 101, 118, 105, 99, 101, 80, 105, 120, 101, 108, 82, 97, 116, 105, 111, 32, 124, 124, 32, 103, 101, 116, 68, 101, 102, 97, 117, 108, 116, 68, 80, 82, 40, 41, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 47, 47, 32, 102, 114, 101, 101, 122, 101, 79, 110, 79, 102, 102, 115, 99, 114, 101, 101, 110, 32, 105, 115, 32, 116, 114, 117, 101, 32, 98, 121, 32, 100, 101, 102, 97, 117, 108, 116, 32, 116, 111, 32, 112, 114, 101, 118, 101, 110, 116, 32, 117, 110, 110, 101, 99, 101, 115, 115, 97, 114, 121, 32, 114, 101, 110, 100, 101, 114, 105, 110, 103, 32, 119, 104, 101, 110, 32, 116, 104, 101, 32, 99, 97, 110, 118, 97, 115, 32, 105, 115, 32, 111, 102, 102, 115, 99, 114, 101, 101, 110, 10, 32, 32, 32, 32, 32, 32, 32, 32, 102, 114, 101, 101, 122, 101, 79, 110, 79, 102, 102, 115, 99, 114, 101, 101, 110, 58, 32, 99, 111, 110, 102, 105, 103, 46, 114, 101, 110, 100, 101, 114, 67, 111, 110, 102, 105, 103, 63, 46, 102, 114, 101, 101, 122, 101, 79, 110, 79, 102, 102, 115, 99, 114, 101, 101, 110, 32, 63, 63, 32, 116, 114, 117, 101, 10, 32, 32, 32, 32, 32, 32, 125, 59, 10, 32, 32, 32, 32, 32, 32, 68, 111, 116, 76, 111, 116, 116, 105, 101, 87, 97, 115, 109, 76, 111, 97, 100, 101, 114, 46, 108, 111, 97, 100, 40, 41, 46, 116, 104, 101, 110, 40, 40, 109, 111, 100, 117, 108, 101, 41, 32, 61, 62, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 95, 68, 111, 116, 76, 111, 116, 116, 105, 101, 46, 95, 119, 97, 115, 109, 77, 111, 100, 117, 108, 101, 32, 61, 32, 109, 111, 100, 117, 108, 101, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 116, 104, 105, 115, 46, 95, 100, 111, 116, 76, 111, 116, 116, 105, 101, 67, 111, 114, 101, 32, 61, 32, 110, 101, 119, 32, 109, 111, 100, 117, 108, 101, 46, 68, 111, 116, 76, 111, 116, 116, 105, 101, 80, 108, 97, 121, 101, 114, 40, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 97, 117, 116, 111, 112, 108, 97, 121, 58, 32, 99, 111, 110, 102, 105, 103, 46, 97, 117, 116, 111, 112, 108, 97, 121, 32, 63, 63, 32, 102, 97, 108, 115, 101, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 98, 97, 99, 107, 103, 114, 111, 117, 110, 100, 67, 111, 108, 111, 114, 58, 32, 48, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 108, 111, 111, 112, 65, 110, 105, 109, 97, 116, 105, 111, 110, 58, 32, 99, 111, 110, 102, 105, 103, 46, 108, 111, 111, 112, 32, 63, 63, 32, 102, 97, 108, 115, 101, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 109, 111, 100, 101, 58, 32, 99, 114, 101, 97, 116, 101, 67, 111, 114, 101, 77, 111, 100, 101, 40, 99, 111, 110, 102, 105, 103, 46, 109, 111, 100, 101, 32, 63, 63, 32, 34, 102, 111, 114, 119, 97, 114, 100, 34, 44, 32, 109, 111, 100, 117, 108, 101, 41, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 115, 101, 103, 109, 101, 110, 116, 58, 32, 99, 114, 101, 97, 116, 101, 67, 111, 114, 101, 83, 101, 103, 109, 101, 110, 116, 40, 99, 111, 110, 102, 105, 103, 46, 115, 101, 103, 109, 101, 110, 116, 32, 63, 63, 32, 91, 93, 44, 32, 109, 111, 100, 117, 108, 101, 41, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 115, 112, 101, 101, 100, 58, 32, 99, 111, 110, 102, 105, 103, 46, 115, 112, 101, 101, 100, 32, 63, 63, 32, 49, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 117, 115, 101, 70, 114, 97, 109, 101, 73, 110, 116, 101, 114, 112, 111, 108, 97, 116, 105, 111, 110, 58, 32, 99, 111, 110, 102, 105, 103, 46, 117, 115, 101, 70, 114, 97, 109, 101, 73, 110, 116, 101, 114, 112, 111, 108, 97, 116, 105, 111, 110, 32, 63, 63, 32, 116, 114, 117, 101, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 109, 97, 114, 107, 101, 114, 58, 32, 99, 111, 110, 102, 105, 103, 46, 109, 97, 114, 107, 101, 114, 32, 63, 63, 32, 34, 34, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 108, 97, 121, 111, 117, 116, 58, 32, 99, 111, 110, 102, 105, 103, 46, 108, 97, 121, 111, 117, 116, 32, 63, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 97, 108, 105, 103, 110, 58, 32, 99, 114, 101, 97, 116, 101, 67, 111, 114, 101, 65, 108, 105, 103, 110, 40, 99, 111, 110, 102, 105, 103, 46, 108, 97, 121, 111, 117, 116, 46, 97, 108, 105, 103, 110, 44, 32, 109, 111, 100, 117, 108, 101, 41, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 102, 105, 116, 58, 32, 99, 114, 101, 97, 116, 101, 67, 111, 114, 101, 70, 105, 116, 40, 99, 111, 110, 102, 105, 103, 46, 108, 97, 121, 111, 117, 116, 46, 102, 105, 116, 44, 32, 109, 111, 100, 117, 108, 101, 41, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 125, 32, 58, 32, 109, 111, 100, 117, 108, 101, 46, 99, 114, 101, 97, 116, 101, 68, 101, 102, 97, 117, 108, 116, 76, 97, 121, 111, 117, 116, 40, 41, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 116, 104, 105, 115, 46, 95, 101, 118, 101, 110, 116, 77, 97, 110, 97, 103, 101, 114, 46, 100, 105, 115, 112, 97, 116, 99, 104, 40, 123, 32, 116, 121, 112, 101, 58, 32, 34, 114, 101, 97, 100, 121, 34, 32, 125, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 99, 111, 110, 102, 105, 103, 46, 100, 97, 116, 97, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 116, 104, 105, 115, 46, 95, 108, 111, 97, 100, 70, 114, 111, 109, 68, 97, 116, 97, 40, 99, 111, 110, 102, 105, 103, 46, 100, 97, 116, 97, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 32, 101, 108, 115, 101, 32, 105, 102, 32, 40, 99, 111, 110, 102, 105, 103, 46, 115, 114, 99, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 116, 104, 105, 115, 46, 95, 108, 111, 97, 100, 70, 114, 111, 109, 83, 114, 99, 40, 99, 111, 110, 102, 105, 103, 46, 115, 114, 99, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 99, 111, 110, 102, 105, 103, 46, 98, 97, 99, 107, 103, 114, 111, 117, 110, 100, 67, 111, 108, 111, 114, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 116, 104, 105, 115, 46, 115, 101, 116, 66, 97, 99, 107, 103, 114, 111, 117, 110, 100, 67, 111, 108, 111, 114, 40, 99, 111, 110, 102, 105, 103, 46, 98, 97, 99, 107, 103, 114, 111, 117, 110, 100, 67, 111, 108, 111, 114, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 32, 32, 125, 41, 46, 99, 97, 116, 99, 104, 40, 40, 101, 114, 114, 111, 114, 41, 32, 61, 62, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 116, 104, 105, 115, 46, 95, 101, 118, 101, 110, 116, 77, 97, 110, 97, 103, 101, 114, 46, 100, 105, 115, 112, 97, 116, 99, 104, 40, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 116, 121, 112, 101, 58, 32, 34, 108, 111, 97, 100, 69, 114, 114, 111, 114, 34, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 101, 114, 114, 111, 114, 58, 32, 110, 101, 119, 32, 69, 114, 114, 111, 114, 40, 96, 70, 97, 105, 108, 101, 100, 32, 116, 111, 32, 108, 111, 97, 100, 32, 119, 97, 115, 109, 32, 109, 111, 100, 117, 108, 101, 58, 32, 36, 123, 101, 114, 114, 111, 114, 125, 96, 41, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 41, 59, 10, 32, 32, 32, 32, 32, 32, 125, 41, 59, 10, 32, 32, 32, 32, 32, 32, 116, 104, 105, 115, 46, 95, 112, 111, 105, 110, 116, 101, 114, 85, 112, 77, 101, 116, 104, 111, 100, 32, 61, 32, 116, 104, 105, 115, 46, 95, 111, 110, 80, 111, 105, 110, 116, 101, 114, 85, 112, 46, 98, 105, 110, 100, 40, 116, 104, 105, 115, 41, 59, 10, 32, 32, 32, 32, 32, 32, 116, 104, 105, 115, 46, 95, 112, 111, 105, 110, 116, 101, 114, 68, 111, 119, 110, 77, 101, 116, 104, 111, 100, 32, 61, 32, 116, 104, 105, 115, 46, 95, 111, 110, 80, 111, 105, 110, 116, 101, 114, 68, 111, 119, 110, 46, 98, 105, 110, 100, 40, 116, 104, 105, 115, 41, 59, 10, 32, 32, 32, 32, 32, 32, 116, 104, 105, 115, 46, 95, 112, 111, 105, 110, 116, 101, 114, 77, 111, 118, 101, 77, 101, 116, 104, 111, 100, 32, 61, 32, 116, 104, 105, 115, 46, 95, 111, 110, 80, 111, 105, 110, 116, 101, 114, 77, 111, 118, 101, 46, 98, 105, 110, 100, 40, 116, 104, 105, 115, 41, 59, 10, 32, 32, 32, 32, 32, 32, 116, 104, 105, 115, 46, 95, 112, 111, 105, 110, 116, 101, 114, 69, 110, 116, 101, 114, 77, 101, 116, 104, 111, 100, 32, 61, 32, 116, 104, 105, 115, 46, 95, 111, 110, 80, 111, 105, 110, 116, 101, 114, 69, 110, 116, 101, 114, 46, 98, 105, 110, 100, 40, 116, 104, 105, 115, 41, 59, 10, 32, 32, 32, 32, 32, 32, 116, 104, 105, 115, 46, 95, 112, 111, 105, 110, 116, 101, 114, 69, 120, 105, 116, 77, 101, 116, 104, 111, 100, 32, 61, 32, 116, 104, 105, 115, 46, 95, 111, 110, 80, 111, 105, 110, 116, 101, 114, 76, 101, 97, 118, 101, 46, 98, 105, 110, 100, 40, 116, 104, 105, 115, 41, 59, 10, 32, 32, 32, 32, 32, 32, 116, 104, 105, 115, 46, 95, 111, 110, 67, 111, 109, 112, 108, 101, 116, 101, 77, 101, 116, 104, 111, 100, 32, 61, 32, 116, 104, 105, 115, 46, 95, 111, 110, 67, 111, 109, 112, 108, 101, 116, 101, 46, 98, 105, 110, 100, 40, 116, 104, 105, 115, 41, 59, 10, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 95, 100, 105, 115, 112, 97, 116, 99, 104, 69, 114, 114, 111, 114, 40, 109, 101, 115, 115, 97, 103, 101, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 99, 111, 110, 115, 111, 108, 101, 46, 101, 114, 114, 111, 114, 40, 109, 101, 115, 115, 97, 103, 101, 41, 59, 10, 32, 32, 32, 32, 32, 32, 116, 104, 105, 115, 46, 95, 101, 118, 101, 110, 116, 77, 97, 110, 97, 103, 101, 114, 46, 100, 105, 115, 112, 97, 116, 99, 104, 40, 123, 32, 116, 121, 112, 101, 58, 32, 34, 108, 111, 97, 100, 69, 114, 114, 111, 114, 34, 44, 32, 101, 114, 114, 111, 114, 58, 32, 110, 101, 119, 32, 69, 114, 114, 111, 114, 40, 109, 101, 115, 115, 97, 103, 101, 41, 32, 125, 41, 59, 10, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 97, 115, 121, 110, 99, 32, 95, 102, 101, 116, 99, 104, 68, 97, 116, 97, 40, 115, 114, 99, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 99, 111, 110, 115, 116, 32, 114, 101, 115, 112, 111, 110, 115, 101, 32, 61, 32, 97, 119, 97, 105, 116, 32, 102, 101, 116, 99, 104, 40, 115, 114, 99, 41, 59, 10, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 33, 114, 101, 115, 112, 111, 110, 115, 101, 46, 111, 107, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 116, 104, 114, 111, 119, 32, 110, 101, 119, 32, 69, 114, 114, 111, 114, 40, 96, 70, 97, 105, 108, 101, 100, 32, 116, 111, 32, 102, 101, 116, 99, 104, 32, 97, 110, 105, 109, 97, 116, 105, 111, 110, 32, 100, 97, 116, 97, 32, 102, 114, 111, 109, 32, 85, 82, 76, 58, 32, 36, 123, 115, 114, 99, 125, 46, 32, 36, 123, 114, 101, 115, 112, 111, 110, 115, 101, 46, 115, 116, 97, 116, 117, 115, 125, 58, 32, 36, 123, 114, 101, 115, 112, 111, 110, 115, 101, 46, 115, 116, 97, 116, 117, 115, 84, 101, 120, 116, 125, 96, 41, 59, 10, 32, 32, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 32, 32, 99, 111, 110, 115, 116, 32, 100, 97, 116, 97, 32, 61, 32, 97, 119, 97, 105, 116, 32, 114, 101, 115, 112, 111, 110, 115, 101, 46, 97, 114, 114, 97, 121, 66, 117, 102, 102, 101, 114, 40, 41, 59, 10, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 105, 115, 68, 111, 116, 76, 111, 116, 116, 105, 101, 40, 100, 97, 116, 97, 41, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 100, 97, 116, 97, 59, 10, 32, 32, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 110, 101, 119, 32, 84, 101, 120, 116, 68, 101, 99, 111, 100, 101, 114, 40, 41, 46, 100, 101, 99, 111, 100, 101, 40, 100, 97, 116, 97, 41, 59, 10, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 95, 108, 111, 97, 100, 70, 114, 111, 109, 68, 97, 116, 97, 40, 100, 97, 116, 97, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 116, 104, 105, 115, 46, 95, 100, 111, 116, 76, 111, 116, 116, 105, 101, 67, 111, 114, 101, 32, 61, 61, 61, 32, 110, 117, 108, 108, 41, 32, 114, 101, 116, 117, 114, 110, 59, 10, 32, 32, 32, 32, 32, 32, 99, 111, 110, 115, 116, 32, 119, 105, 100, 116, 104, 32, 61, 32, 116, 104, 105, 115, 46, 95, 99, 97, 110, 118, 97, 115, 46, 119, 105, 100, 116, 104, 59, 10, 32, 32, 32, 32, 32, 32, 99, 111, 110, 115, 116, 32, 104, 101, 105, 103, 104, 116, 32, 61, 32, 116, 104, 105, 115, 46, 95, 99, 97, 110, 118, 97, 115, 46, 104, 101, 105, 103, 104, 116, 59, 10, 32, 32, 32, 32, 32, 32, 108, 101, 116, 32, 108, 111, 97, 100, 101, 100, 32, 61, 32, 102, 97, 108, 115, 101, 59, 10, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 116, 121, 112, 101, 111, 102, 32, 100, 97, 116, 97, 32, 61, 61, 61, 32, 34, 115, 116, 114, 105, 110, 103, 34, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 33, 105, 115, 76, 111, 116, 116, 105, 101, 40, 100, 97, 116, 97, 41, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 116, 104, 105, 115, 46, 95, 100, 105, 115, 112, 97, 116, 99, 104, 69, 114, 114, 111, 114, 40, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 34, 73, 110, 118, 97, 108, 105, 100, 32, 76, 111, 116, 116, 105, 101, 32, 74, 83, 79, 78, 32, 115, 116, 114, 105, 110, 103, 58, 32, 84, 104, 101, 32, 112, 114, 111, 118, 105, 100, 101, 100, 32, 115, 116, 114, 105, 110, 103, 32, 100, 111, 101, 115, 32, 110, 111, 116, 32, 99, 111, 110, 102, 111, 114, 109, 32, 116, 111, 32, 116, 104, 101, 32, 76, 111, 116, 116, 105, 101, 32, 74, 83, 79, 78, 32, 102, 111, 114, 109, 97, 116, 46, 34, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 32, 32, 32, 32, 108, 111, 97, 100, 101, 100, 32, 61, 32, 116, 104, 105, 115, 46, 95, 100, 111, 116, 76, 111, 116, 116, 105, 101, 67, 111, 114, 101, 46, 108, 111, 97, 100, 65, 110, 105, 109, 97, 116, 105, 111, 110, 68, 97, 116, 97, 40, 100, 97, 116, 97, 44, 32, 119, 105, 100, 116, 104, 44, 32, 104, 101, 105, 103, 104, 116, 41, 59, 10, 32, 32, 32, 32, 32, 32, 125, 32, 101, 108, 115, 101, 32, 105, 102, 32, 40, 100, 97, 116, 97, 32, 105, 110, 115, 116, 97, 110, 99, 101, 111, 102, 32, 65, 114, 114, 97, 121, 66, 117, 102, 102, 101, 114, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 33, 105, 115, 68, 111, 116, 76, 111, 116, 116, 105, 101, 40, 100, 97, 116, 97, 41, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 116, 104, 105, 115, 46, 95, 100, 105, 115, 112, 97, 116, 99, 104, 69, 114, 114, 111, 114, 40, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 34, 73, 110, 118, 97, 108, 105, 100, 32, 100, 111, 116, 76, 111, 116, 116, 105, 101, 32, 65, 114, 114, 97, 121, 66, 117, 102, 102, 101, 114, 58, 32, 84, 104, 101, 32, 112, 114, 111, 118, 105, 100, 101, 100, 32, 65, 114, 114, 97, 121, 66, 117, 102, 102, 101, 114, 32, 100, 111, 101, 115, 32, 110, 111, 116, 32, 99, 111, 110, 102, 111, 114, 109, 32, 116, 111, 32, 116, 104, 101, 32, 100, 111, 116, 76, 111, 116, 116, 105, 101, 32, 102, 111, 114, 109, 97, 116, 46, 34, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 32, 32, 32, 32, 108, 111, 97, 100, 101, 100, 32, 61, 32, 116, 104, 105, 115, 46, 95, 100, 111, 116, 76, 111, 116, 116, 105, 101, 67, 111, 114, 101, 46, 108, 111, 97, 100, 68, 111, 116, 76, 111, 116, 116, 105, 101, 68, 97, 116, 97, 40, 100, 97, 116, 97, 44, 32, 119, 105, 100, 116, 104, 44, 32, 104, 101, 105, 103, 104, 116, 41, 59, 10, 32, 32, 32, 32, 32, 32, 125, 32, 101, 108, 115, 101, 32, 105, 102, 32, 40, 116, 121, 112, 101, 111, 102, 32, 100, 97, 116, 97, 32, 61, 61, 61, 32, 34, 111, 98, 106, 101, 99, 116, 34, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 33, 105, 115, 76, 111, 116, 116, 105, 101, 40, 100, 97, 116, 97, 41, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 116, 104, 105, 115, 46, 95, 100, 105, 115, 112, 97, 116, 99, 104, 69, 114, 114, 111, 114, 40, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 34, 73, 110, 118, 97, 108, 105, 100, 32, 76, 111, 116, 116, 105, 101, 32, 74, 83, 79, 78, 32, 111, 98, 106, 101, 99, 116, 58, 32, 84, 104, 101, 32, 112, 114, 111, 118, 105, 100, 101, 100, 32, 111, 98, 106, 101, 99, 116, 32, 100, 111, 101, 115, 32, 110, 111, 116, 32, 99, 111, 110, 102, 111, 114, 109, 32, 116, 111, 32, 116, 104, 101, 32, 76, 111, 116, 116, 105, 101, 32, 74, 83, 79, 78, 32, 102, 111, 114, 109, 97, 116, 46, 34, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 32, 32, 32, 32, 108, 111, 97, 100, 101, 100, 32, 61, 32, 116, 104, 105, 115, 46, 95, 100, 111, 116, 76, 111, 116, 116, 105, 101, 67, 111, 114, 101, 46, 108, 111, 97, 100, 65, 110, 105, 109, 97, 116, 105, 111, 110, 68, 97, 116, 97, 40, 74, 83, 79, 78, 46, 115, 116, 114, 105, 110, 103, 105, 102, 121, 40, 100, 97, 116, 97, 41, 44, 32, 119, 105, 100, 116, 104, 44, 32, 104, 101, 105, 103, 104, 116, 41, 59, 10, 32, 32, 32, 32, 32, 32, 125, 32, 101, 108, 115, 101, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 116, 104, 105, 115, 46, 95, 100, 105, 115, 112, 97, 116, 99, 104, 69, 114, 114, 111, 114, 40, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 96, 85, 110, 115, 117, 112, 112, 111, 114, 116, 101, 100, 32, 100, 97, 116, 97, 32, 116, 121, 112, 101, 32, 102, 111, 114, 32, 97, 110, 105, 109, 97, 116, 105, 111, 110, 32, 100, 97, 116, 97, 46, 32, 69, 120, 112, 101, 99, 116, 101, 100, 58, 32, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 45, 32, 115, 116, 114, 105, 110, 103, 32, 40, 76, 111, 116, 116, 105, 101, 32, 74, 83, 79, 78, 41, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 45, 32, 65, 114, 114, 97, 121, 66, 117, 102, 102, 101, 114, 32, 40, 100, 111, 116, 76, 111, 116, 116, 105, 101, 41, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 45, 32, 111, 98, 106, 101, 99, 116, 32, 40, 76, 111, 116, 116, 105, 101, 32, 74, 83, 79, 78, 41, 46, 32, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 82, 101, 99, 101, 105, 118, 101, 100, 58, 32, 36, 123, 116, 121, 112, 101, 111, 102, 32, 100, 97, 116, 97, 125, 96, 10, 32, 32, 32, 32, 32, 32, 32, 32, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 59, 10, 32, 32, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 108, 111, 97, 100, 101, 100, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 116, 104, 105, 115, 46, 95, 101, 118, 101, 110, 116, 77, 97, 110, 97, 103, 101, 114, 46, 100, 105, 115, 112, 97, 116, 99, 104, 40, 123, 32, 116, 121, 112, 101, 58, 32, 34, 108, 111, 97, 100, 34, 32, 125, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 73, 83, 95, 66, 82, 79, 87, 83, 69, 82, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 116, 104, 105, 115, 46, 114, 101, 115, 105, 122, 101, 40, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 32, 32, 32, 32, 116, 104, 105, 115, 46, 95, 101, 118, 101, 110, 116, 77, 97, 110, 97, 103, 101, 114, 46, 100, 105, 115, 112, 97, 116, 99, 104, 40, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 116, 121, 112, 101, 58, 32, 34, 102, 114, 97, 109, 101, 34, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 99, 117, 114, 114, 101, 110, 116, 70, 114, 97, 109, 101, 58, 32, 116, 104, 105, 115, 46, 95, 100, 111, 116, 76, 111, 116, 116, 105, 101, 67, 111, 114, 101, 46, 99, 117, 114, 114, 101, 110, 116, 70, 114, 97, 109, 101, 40, 41, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 116, 104, 105, 115, 46, 95, 114, 101, 110, 100, 101, 114, 40, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 116, 104, 105, 115, 46, 95, 100, 111, 116, 76, 111, 116, 116, 105, 101, 67, 111, 114, 101, 46, 99, 111, 110, 102, 105, 103, 40, 41, 46, 97, 117, 116, 111, 112, 108, 97, 121, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 116, 104, 105, 115, 46, 95, 100, 111, 116, 76, 111, 116, 116, 105, 101, 67, 111, 114, 101, 46, 112, 108, 97, 121, 40, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 116, 104, 105, 115, 46, 95, 100, 111, 116, 76, 111, 116, 116, 105, 101, 67, 111, 114, 101, 46, 105, 115, 80, 108, 97, 121, 105, 110, 103, 40, 41, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 116, 104, 105, 115, 46, 95, 101, 118, 101, 110, 116, 77, 97, 110, 97, 103, 101, 114, 46, 100, 105, 115, 112, 97, 116, 99, 104, 40, 123, 32, 116, 121, 112, 101, 58, 32, 34, 112, 108, 97, 121, 34, 32, 125, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 116, 104, 105, 115, 46, 95, 97, 110, 105, 109, 97, 116, 105, 111, 110, 70, 114, 97, 109, 101, 73, 100, 32, 61, 32, 116, 104, 105, 115, 46, 95, 102, 114, 97, 109, 101, 77, 97, 110, 97, 103, 101, 114, 46, 114, 101, 113, 117, 101, 115, 116, 65, 110, 105, 109, 97, 116, 105, 111, 110, 70, 114, 97, 109, 101, 40, 116, 104, 105, 115, 46, 95, 100, 114, 97, 119, 46, 98, 105, 110, 100, 40, 116, 104, 105, 115, 41, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 125, 32, 101, 108, 115, 101, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 99, 111, 110, 115, 111, 108, 101, 46, 101, 114, 114, 111, 114, 40, 34, 115, 111, 109, 101, 116, 104, 105, 110, 103, 32, 119, 101, 110, 116, 32, 119, 114, 111, 110, 103, 44, 32, 116, 104, 101, 32, 97, 110, 105, 109, 97, 116, 105, 111, 110, 32, 119, 97, 115, 32, 115, 117, 112, 112, 111, 115, 101, 32, 116, 111, 32, 97, 117, 116, 111, 112, 108, 97, 121, 34, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 73, 83, 95, 66, 82, 79, 87, 83, 69, 82, 32, 38, 38, 32, 116, 104, 105, 115, 46, 95, 99, 97, 110, 118, 97, 115, 32, 105, 110, 115, 116, 97, 110, 99, 101, 111, 102, 32, 72, 84, 77, 76, 67, 97, 110, 118, 97, 115, 69, 108, 101, 109, 101, 110, 116, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 116, 104, 105, 115, 46, 95, 114, 101, 110, 100, 101, 114, 67, 111, 110, 102, 105, 103, 46, 102, 114, 101, 101, 122, 101, 79, 110, 79, 102, 102, 115, 99, 114, 101, 101, 110, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 79, 102, 102, 115, 99, 114, 101, 101, 110, 79, 98, 115, 101, 114, 118, 101, 114, 46, 111, 98, 115, 101, 114, 118, 101, 40, 116, 104, 105, 115, 46, 95, 99, 97, 110, 118, 97, 115, 44, 32, 116, 104, 105, 115, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 116, 104, 105, 115, 46, 95, 114, 101, 110, 100, 101, 114, 67, 111, 110, 102, 105, 103, 46, 97, 117, 116, 111, 82, 101, 115, 105, 122, 101, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 67, 97, 110, 118, 97, 115, 82, 101, 115, 105, 122, 101, 79, 98, 115, 101, 114, 118, 101, 114, 46, 111, 98, 115, 101, 114, 118, 101, 40, 116, 104, 105, 115, 46, 95, 99, 97, 110, 118, 97, 115, 44, 32, 116, 104, 105, 115, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 32, 32, 125, 32, 101, 108, 115, 101, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 116, 104, 105, 115, 46, 95, 100, 105, 115, 112, 97, 116, 99, 104, 69, 114, 114, 111, 114, 40, 34, 70, 97, 105, 108, 101, 100, 32, 116, 111, 32, 108, 111, 97, 100, 32, 97, 110, 105, 109, 97, 116, 105, 111, 110, 32, 100, 97, 116, 97, 34, 41, 59, 10, 32, 32, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 95, 108, 111, 97, 100, 70, 114, 111, 109, 83, 114, 99, 40, 115, 114, 99, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 116, 104, 105, 115, 46, 95, 102, 101, 116, 99, 104, 68, 97, 116, 97, 40, 115, 114, 99, 41, 46, 116, 104, 101, 110, 40, 40, 100, 97, 116, 97, 41, 32, 61, 62, 32, 116, 104, 105, 115, 46, 95, 108, 111, 97, 100, 70, 114, 111, 109, 68, 97, 116, 97, 40, 100, 97, 116, 97, 41, 41, 46, 99, 97, 116, 99, 104, 40, 40, 101, 114, 114, 111, 114, 41, 32, 61, 62, 32, 116, 104, 105, 115, 46, 95, 100, 105, 115, 112, 97, 116, 99, 104, 69, 114, 114, 111, 114, 40, 96, 70, 97, 105, 108, 101, 100, 32, 116, 111, 32, 108, 111, 97, 100, 32, 97, 110, 105, 109, 97, 116, 105, 111, 110, 32, 100, 97, 116, 97, 32, 102, 114, 111, 109, 32, 85, 82, 76, 58, 32, 36, 123, 115, 114, 99, 125, 46, 32, 36, 123, 101, 114, 114, 111, 114, 125, 96, 41, 41, 59, 10, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 103, 101, 116, 32, 97, 99, 116, 105, 118, 101, 65, 110, 105, 109, 97, 116, 105, 111, 110, 73, 100, 40, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 116, 104, 105, 115, 46, 95, 100, 111, 116, 76, 111, 116, 116, 105, 101, 67, 111, 114, 101, 63, 46, 97, 99, 116, 105, 118, 101, 65, 110, 105, 109, 97, 116, 105, 111, 110, 73, 100, 40, 41, 59, 10, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 103, 101, 116, 32, 97, 99, 116, 105, 118, 101, 84, 104, 101, 109, 101, 73, 100, 40, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 116, 104, 105, 115, 46, 95, 100, 111, 116, 76, 111, 116, 116, 105, 101, 67, 111, 114, 101, 63, 46, 97, 99, 116, 105, 118, 101, 84, 104, 101, 109, 101, 73, 100, 40, 41, 59, 10, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 103, 101, 116, 32, 108, 97, 121, 111, 117, 116, 40, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 99, 111, 110, 115, 116, 32, 108, 97, 121, 111, 117, 116, 32, 61, 32, 116, 104, 105, 115, 46, 95, 100, 111, 116, 76, 111, 116, 116, 105, 101, 67, 111, 114, 101, 63, 46, 99, 111, 110, 102, 105, 103, 40, 41, 46, 108, 97, 121, 111, 117, 116, 59, 10, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 108, 97, 121, 111, 117, 116, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 97, 108, 105, 103, 110, 58, 32, 91, 108, 97, 121, 111, 117, 116, 46, 97, 108, 105, 103, 110, 46, 103, 101, 116, 40, 48, 41, 44, 32, 108, 97, 121, 111, 117, 116, 46, 97, 108, 105, 103, 110, 46, 103, 101, 116, 40, 49, 41, 93, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 102, 105, 116, 58, 32, 40, 40, 41, 32, 61, 62, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 115, 119, 105, 116, 99, 104, 32, 40, 108, 97, 121, 111, 117, 116, 46, 102, 105, 116, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 99, 97, 115, 101, 32, 95, 68, 111, 116, 76, 111, 116, 116, 105, 101, 46, 95, 119, 97, 115, 109, 77, 111, 100, 117, 108, 101, 63, 46, 70, 105, 116, 46, 67, 111, 110, 116, 97, 105, 110, 58, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 34, 99, 111, 110, 116, 97, 105, 110, 34, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 99, 97, 115, 101, 32, 95, 68, 111, 116, 76, 111, 116, 116, 105, 101, 46, 95, 119, 97, 115, 109, 77, 111, 100, 117, 108, 101, 63, 46, 70, 105, 116, 46, 67, 111, 118, 101, 114, 58, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 34, 99, 111, 118, 101, 114, 34, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 99, 97, 115, 101, 32, 95, 68, 111, 116, 76, 111, 116, 116, 105, 101, 46, 95, 119, 97, 115, 109, 77, 111, 100, 117, 108, 101, 63, 46, 70, 105, 116, 46, 70, 105, 108, 108, 58, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 34, 102, 105, 108, 108, 34, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 99, 97, 115, 101, 32, 95, 68, 111, 116, 76, 111, 116, 116, 105, 101, 46, 95, 119, 97, 115, 109, 77, 111, 100, 117, 108, 101, 63, 46, 70, 105, 116, 46, 70, 105, 116, 72, 101, 105, 103, 104, 116, 58, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 34, 102, 105, 116, 45, 104, 101, 105, 103, 104, 116, 34, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 99, 97, 115, 101, 32, 95, 68, 111, 116, 76, 111, 116, 116, 105, 101, 46, 95, 119, 97, 115, 109, 77, 111, 100, 117, 108, 101, 63, 46, 70, 105, 116, 46, 70, 105, 116, 87, 105, 100, 116, 104, 58, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 34, 102, 105, 116, 45, 119, 105, 100, 116, 104, 34, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 99, 97, 115, 101, 32, 95, 68, 111, 116, 76, 111, 116, 116, 105, 101, 46, 95, 119, 97, 115, 109, 77, 111, 100, 117, 108, 101, 63, 46, 70, 105, 116, 46, 78, 111, 110, 101, 58, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 34, 110, 111, 110, 101, 34, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 100, 101, 102, 97, 117, 108, 116, 58, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 34, 99, 111, 110, 116, 97, 105, 110, 34, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 125, 41, 40, 41, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 59, 10, 32, 32, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 118, 111, 105, 100, 32, 48, 59, 10, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 103, 101, 116, 32, 109, 97, 114, 107, 101, 114, 40, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 99, 111, 110, 115, 116, 32, 109, 97, 114, 107, 101, 114, 32, 61, 32, 116, 104, 105, 115, 46, 95, 100, 111, 116, 76, 111, 116, 116, 105, 101, 67, 111, 114, 101, 63, 46, 99, 111, 110, 102, 105, 103, 40, 41, 46, 109, 97, 114, 107, 101, 114, 59, 10, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 109, 97, 114, 107, 101, 114, 59, 10, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 103, 101, 116, 32, 109, 97, 110, 105, 102, 101, 115, 116, 40, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 116, 114, 121, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 99, 111, 110, 115, 116, 32, 109, 97, 110, 105, 102, 101, 115, 116, 32, 61, 32, 116, 104, 105, 115, 46, 95, 100, 111, 116, 76, 111, 116, 116, 105, 101, 67, 111, 114, 101, 63, 46, 109, 97, 110, 105, 102, 101, 115, 116, 83, 116, 114, 105, 110, 103, 40, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 116, 104, 105, 115, 46, 95, 100, 111, 116, 76, 111, 116, 116, 105, 101, 67, 111, 114, 101, 32, 61, 61, 61, 32, 110, 117, 108, 108, 32, 124, 124, 32, 33, 109, 97, 110, 105, 102, 101, 115, 116, 41, 32, 114, 101, 116, 117, 114, 110, 32, 110, 117, 108, 108, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 99, 111, 110, 115, 116, 32, 109, 97, 110, 105, 102, 101, 115, 116, 74, 115, 111, 110, 32, 61, 32, 74, 83, 79, 78, 46, 112, 97, 114, 115, 101, 40, 109, 97, 110, 105, 102, 101, 115, 116, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 79, 98, 106, 101, 99, 116, 46, 107, 101, 121, 115, 40, 109, 97, 110, 105, 102, 101, 115, 116, 74, 115, 111, 110, 41, 46, 108, 101, 110, 103, 116, 104, 32, 61, 61, 61, 32, 48, 41, 32, 114, 101, 116, 117, 114, 110, 32, 110, 117, 108, 108, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 109, 97, 110, 105, 102, 101, 115, 116, 74, 115, 111, 110, 59, 10, 32, 32, 32, 32, 32, 32, 125, 32, 99, 97, 116, 99, 104, 32, 40, 95, 101, 114, 114, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 110, 117, 108, 108, 59, 10, 32, 32, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 103, 101, 116, 32, 114, 101, 110, 100, 101, 114, 67, 111, 110, 102, 105, 103, 40, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 116, 104, 105, 115, 46, 95, 114, 101, 110, 100, 101, 114, 67, 111, 110, 102, 105, 103, 59, 10, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 103, 101, 116, 32, 115, 101, 103, 109, 101, 110, 116, 40, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 99, 111, 110, 115, 116, 32, 115, 101, 103, 109, 101, 110, 116, 32, 61, 32, 116, 104, 105, 115, 46, 95, 100, 111, 116, 76, 111, 116, 116, 105, 101, 67, 111, 114, 101, 63, 46, 99, 111, 110, 102, 105, 103, 40, 41, 46, 115, 101, 103, 109, 101, 110, 116, 59, 10, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 115, 101, 103, 109, 101, 110, 116, 32, 38, 38, 32, 115, 101, 103, 109, 101, 110, 116, 46, 115, 105, 122, 101, 40, 41, 32, 61, 61, 61, 32, 50, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 91, 115, 101, 103, 109, 101, 110, 116, 46, 103, 101, 116, 40, 48, 41, 44, 32, 115, 101, 103, 109, 101, 110, 116, 46, 103, 101, 116, 40, 49, 41, 93, 59, 10, 32, 32, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 118, 111, 105, 100, 32, 48, 59, 10, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 103, 101, 116, 32, 108, 111, 111, 112, 40, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 116, 104, 105, 115, 46, 95, 100, 111, 116, 76, 111, 116, 116, 105, 101, 67, 111, 114, 101, 63, 46, 99, 111, 110, 102, 105, 103, 40, 41, 46, 108, 111, 111, 112, 65, 110, 105, 109, 97, 116, 105, 111, 110, 32, 63, 63, 32, 102, 97, 108, 115, 101, 59, 10, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 103, 101, 116, 32, 109, 111, 100, 101, 40, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 99, 111, 110, 115, 116, 32, 109, 111, 100, 101, 32, 61, 32, 116, 104, 105, 115, 46, 95, 100, 111, 116, 76, 111, 116, 116, 105, 101, 67, 111, 114, 101, 63, 46, 99, 111, 110, 102, 105, 103, 40, 41, 46, 109, 111, 100, 101, 59, 10, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 109, 111, 100, 101, 32, 61, 61, 61, 32, 95, 68, 111, 116, 76, 111, 116, 116, 105, 101, 46, 95, 119, 97, 115, 109, 77, 111, 100, 117, 108, 101, 63, 46, 77, 111, 100, 101, 46, 82, 101, 118, 101, 114, 115, 101, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 34, 114, 101, 118, 101, 114, 115, 101, 34, 59, 10, 32, 32, 32, 32, 32, 32, 125, 32, 101, 108, 115, 101, 32, 105, 102, 32, 40, 109, 111, 100, 101, 32, 61, 61, 61, 32, 95, 68, 111, 116, 76, 111, 116, 116, 105, 101, 46, 95, 119, 97, 115, 109, 77, 111, 100, 117, 108, 101, 63, 46, 77, 111, 100, 101, 46, 66, 111, 117, 110, 99, 101, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 34, 98, 111, 117, 110, 99, 101, 34, 59, 10, 32, 32, 32, 32, 32, 32, 125, 32, 101, 108, 115, 101, 32, 105, 102, 32, 40, 109, 111, 100, 101, 32, 61, 61, 61, 32, 95, 68, 111, 116, 76, 111, 116, 116, 105, 101, 46, 95, 119, 97, 115, 109, 77, 111, 100, 117, 108, 101, 63, 46, 77, 111, 100, 101, 46, 82, 101, 118, 101, 114, 115, 101, 66, 111, 117, 110, 99, 101, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 34, 114, 101, 118, 101, 114, 115, 101, 45, 98, 111, 117, 110, 99, 101, 34, 59, 10, 32, 32, 32, 32, 32, 32, 125, 32, 101, 108, 115, 101, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 34, 102, 111, 114, 119, 97, 114, 100, 34, 59, 10, 32, 32, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 103, 101, 116, 32, 105, 115, 70, 114, 111, 122, 101, 110, 40, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 116, 104, 105, 115, 46, 95, 105, 115, 70, 114, 111, 122, 101, 110, 59, 10, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 103, 101, 116, 32, 98, 97, 99, 107, 103, 114, 111, 117, 110, 100, 67, 111, 108, 111, 114, 40, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 116, 104, 105, 115, 46, 95, 98, 97, 99, 107, 103, 114, 111, 117, 110, 100, 67, 111, 108, 111, 114, 32, 63, 63, 32, 34, 34, 59, 10, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 103, 101, 116, 32, 97, 117, 116, 111, 112, 108, 97, 121, 40, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 116, 104, 105, 115, 46, 95, 100, 111, 116, 76, 111, 116, 116, 105, 101, 67, 111, 114, 101, 63, 46, 99, 111, 110, 102, 105, 103, 40, 41, 46, 97, 117, 116, 111, 112, 108, 97, 121, 32, 63, 63, 32, 102, 97, 108, 115, 101, 59, 10, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 103, 101, 116, 32, 117, 115, 101, 70, 114, 97, 109, 101, 73, 110, 116, 101, 114, 112, 111, 108, 97, 116, 105, 111, 110, 40, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 116, 104, 105, 115, 46, 95, 100, 111, 116, 76, 111, 116, 116, 105, 101, 67, 111, 114, 101, 63, 46, 99, 111, 110, 102, 105, 103, 40, 41, 46, 117, 115, 101, 70, 114, 97, 109, 101, 73, 110, 116, 101, 114, 112, 111, 108, 97, 116, 105, 111, 110, 32, 63, 63, 32, 102, 97, 108, 115, 101, 59, 10, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 103, 101, 116, 32, 115, 112, 101, 101, 100, 40, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 116, 104, 105, 115, 46, 95, 100, 111, 116, 76, 111, 116, 116, 105, 101, 67, 111, 114, 101, 63, 46, 99, 111, 110, 102, 105, 103, 40, 41, 46, 115, 112, 101, 101, 100, 32, 63, 63, 32, 48, 59, 10, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 103, 101, 116, 32, 105, 115, 82, 101, 97, 100, 121, 40, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 116, 104, 105, 115, 46, 95, 100, 111, 116, 76, 111, 116, 116, 105, 101, 67, 111, 114, 101, 32, 33, 61, 61, 32, 110, 117, 108, 108, 59, 10, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 103, 101, 116, 32, 105, 115, 76, 111, 97, 100, 101, 100, 40, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 116, 104, 105, 115, 46, 95, 100, 111, 116, 76, 111, 116, 116, 105, 101, 67, 111, 114, 101, 63, 46, 105, 115, 76, 111, 97, 100, 101, 100, 40, 41, 32, 63, 63, 32, 102, 97, 108, 115, 101, 59, 10, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 103, 101, 116, 32, 105, 115, 80, 108, 97, 121, 105, 110, 103, 40, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 116, 104, 105, 115, 46, 95, 100, 111, 116, 76, 111, 116, 116, 105, 101, 67, 111, 114, 101, 63, 46, 105, 115, 80, 108, 97, 121, 105, 110, 103, 40, 41, 32, 63, 63, 32, 102, 97, 108, 115, 101, 59, 10, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 103, 101, 116, 32, 105, 115, 80, 97, 117, 115, 101, 100, 40, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 116, 104, 105, 115, 46, 95, 100, 111, 116, 76, 111, 116, 116, 105, 101, 67, 111, 114, 101, 63, 46, 105, 115, 80, 97, 117, 115, 101, 100, 40, 41, 32, 63, 63, 32, 102, 97, 108, 115, 101, 59, 10, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 103, 101, 116, 32, 105, 115, 83, 116, 111, 112, 112, 101, 100, 40, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 116, 104, 105, 115, 46, 95, 100, 111, 116, 76, 111, 116, 116, 105, 101, 67, 111, 114, 101, 63, 46, 105, 115, 83, 116, 111, 112, 112, 101, 100, 40, 41, 32, 63, 63, 32, 102, 97, 108, 115, 101, 59, 10, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 103, 101, 116, 32, 99, 117, 114, 114, 101, 110, 116, 70, 114, 97, 109, 101, 40, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 116, 104, 105, 115, 46, 95, 100, 111, 116, 76, 111, 116, 116, 105, 101, 67, 111, 114, 101, 63, 46, 99, 117, 114, 114, 101, 110, 116, 70, 114, 97, 109, 101, 40, 41, 32, 63, 63, 32, 48, 59, 10, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 103, 101, 116, 32, 108, 111, 111, 112, 67, 111, 117, 110, 116, 40, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 116, 104, 105, 115, 46, 95, 100, 111, 116, 76, 111, 116, 116, 105, 101, 67, 111, 114, 101, 63, 46, 108, 111, 111, 112, 67, 111, 117, 110, 116, 40, 41, 32, 63, 63, 32, 48, 59, 10, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 103, 101, 116, 32, 116, 111, 116, 97, 108, 70, 114, 97, 109, 101, 115, 40, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 116, 104, 105, 115, 46, 95, 100, 111, 116, 76, 111, 116, 116, 105, 101, 67, 111, 114, 101, 63, 46, 116, 111, 116, 97, 108, 70, 114, 97, 109, 101, 115, 40, 41, 32, 63, 63, 32, 48, 59, 10, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 103, 101, 116, 32, 100, 117, 114, 97, 116, 105, 111, 110, 40, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 116, 104, 105, 115, 46, 95, 100, 111, 116, 76, 111, 116, 116, 105, 101, 67, 111, 114, 101, 63, 46, 100, 117, 114, 97, 116, 105, 111, 110, 40, 41, 32, 63, 63, 32, 48, 59, 10, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 103, 101, 116, 32, 115, 101, 103, 109, 101, 110, 116, 68, 117, 114, 97, 116, 105, 111, 110, 40, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 116, 104, 105, 115, 46, 95, 100, 111, 116, 76, 111, 116, 116, 105, 101, 67, 111, 114, 101, 63, 46, 115, 101, 103, 109, 101, 110, 116, 68, 117, 114, 97, 116, 105, 111, 110, 40, 41, 32, 63, 63, 32, 48, 59, 10, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 103, 101, 116, 32, 99, 97, 110, 118, 97, 115, 40, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 116, 104, 105, 115, 46, 95, 99, 97, 110, 118, 97, 115, 59, 10, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 108, 111, 97, 100, 40, 99, 111, 110, 102, 105, 103, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 116, 104, 105, 115, 46, 95, 100, 111, 116, 76, 111, 116, 116, 105, 101, 67, 111, 114, 101, 32, 61, 61, 61, 32, 110, 117, 108, 108, 32, 124, 124, 32, 95, 68, 111, 116, 76, 111, 116, 116, 105, 101, 46, 95, 119, 97, 115, 109, 77, 111, 100, 117, 108, 101, 32, 61, 61, 61, 32, 110, 117, 108, 108, 41, 32, 114, 101, 116, 117, 114, 110, 59, 10, 32, 32, 32, 32, 32, 32, 116, 104, 105, 115, 46, 95, 100, 111, 116, 76, 111, 116, 116, 105, 101, 67, 111, 114, 101, 46, 115, 101, 116, 67, 111, 110, 102, 105, 103, 40, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 97, 117, 116, 111, 112, 108, 97, 121, 58, 32, 99, 111, 110, 102, 105, 103, 46, 97, 117, 116, 111, 112, 108, 97, 121, 32, 63, 63, 32, 102, 97, 108, 115, 101, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 98, 97, 99, 107, 103, 114, 111, 117, 110, 100, 67, 111, 108, 111, 114, 58, 32, 48, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 108, 111, 111, 112, 65, 110, 105, 109, 97, 116, 105, 111, 110, 58, 32, 99, 111, 110, 102, 105, 103, 46, 108, 111, 111, 112, 32, 63, 63, 32, 102, 97, 108, 115, 101, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 109, 111, 100, 101, 58, 32, 99, 114, 101, 97, 116, 101, 67, 111, 114, 101, 77, 111, 100, 101, 40, 99, 111, 110, 102, 105, 103, 46, 109, 111, 100, 101, 32, 63, 63, 32, 34, 102, 111, 114, 119, 97, 114, 100, 34, 44, 32, 95, 68, 111, 116, 76, 111, 116, 116, 105, 101, 46, 95, 119, 97, 115, 109, 77, 111, 100, 117, 108, 101, 41, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 115, 101, 103, 109, 101, 110, 116, 58, 32, 99, 114, 101, 97, 116, 101, 67, 111, 114, 101, 83, 101, 103, 109, 101, 110, 116, 40, 99, 111, 110, 102, 105, 103, 46, 115, 101, 103, 109, 101, 110, 116, 32, 63, 63, 32, 91, 93, 44, 32, 95, 68, 111, 116, 76, 111, 116, 116, 105, 101, 46, 95, 119, 97, 115, 109, 77, 111, 100, 117, 108, 101, 41, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 115, 112, 101, 101, 100, 58, 32, 99, 111, 110, 102, 105, 103, 46, 115, 112, 101, 101, 100, 32, 63, 63, 32, 49, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 117, 115, 101, 70, 114, 97, 109, 101, 73, 110, 116, 101, 114, 112, 111, 108, 97, 116, 105, 111, 110, 58, 32, 99, 111, 110, 102, 105, 103, 46, 117, 115, 101, 70, 114, 97, 109, 101, 73, 110, 116, 101, 114, 112, 111, 108, 97, 116, 105, 111, 110, 32, 63, 63, 32, 116, 114, 117, 101, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 109, 97, 114, 107, 101, 114, 58, 32, 99, 111, 110, 102, 105, 103, 46, 109, 97, 114, 107, 101, 114, 32, 63, 63, 32, 34, 34, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 108, 97, 121, 111, 117, 116, 58, 32, 99, 111, 110, 102, 105, 103, 46, 108, 97, 121, 111, 117, 116, 32, 63, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 97, 108, 105, 103, 110, 58, 32, 99, 114, 101, 97, 116, 101, 67, 111, 114, 101, 65, 108, 105, 103, 110, 40, 99, 111, 110, 102, 105, 103, 46, 108, 97, 121, 111, 117, 116, 46, 97, 108, 105, 103, 110, 44, 32, 95, 68, 111, 116, 76, 111, 116, 116, 105, 101, 46, 95, 119, 97, 115, 109, 77, 111, 100, 117, 108, 101, 41, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 102, 105, 116, 58, 32, 99, 114, 101, 97, 116, 101, 67, 111, 114, 101, 70, 105, 116, 40, 99, 111, 110, 102, 105, 103, 46, 108, 97, 121, 111, 117, 116, 46, 102, 105, 116, 44, 32, 95, 68, 111, 116, 76, 111, 116, 116, 105, 101, 46, 95, 119, 97, 115, 109, 77, 111, 100, 117, 108, 101, 41, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 32, 58, 32, 95, 68, 111, 116, 76, 111, 116, 116, 105, 101, 46, 95, 119, 97, 115, 109, 77, 111, 100, 117, 108, 101, 46, 99, 114, 101, 97, 116, 101, 68, 101, 102, 97, 117, 108, 116, 76, 97, 121, 111, 117, 116, 40, 41, 10, 32, 32, 32, 32, 32, 32, 125, 41, 59, 10, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 99, 111, 110, 102, 105, 103, 46, 100, 97, 116, 97, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 116, 104, 105, 115, 46, 95, 108, 111, 97, 100, 70, 114, 111, 109, 68, 97, 116, 97, 40, 99, 111, 110, 102, 105, 103, 46, 100, 97, 116, 97, 41, 59, 10, 32, 32, 32, 32, 32, 32, 125, 32, 101, 108, 115, 101, 32, 105, 102, 32, 40, 99, 111, 110, 102, 105, 103, 46, 115, 114, 99, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 116, 104, 105, 115, 46, 95, 108, 111, 97, 100, 70, 114, 111, 109, 83, 114, 99, 40, 99, 111, 110, 102, 105, 103, 46, 115, 114, 99, 41, 59, 10, 32, 32, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 32, 32, 116, 104, 105, 115, 46, 115, 101, 116, 66, 97, 99, 107, 103, 114, 111, 117, 110, 100, 67, 111, 108, 111, 114, 40, 99, 111, 110, 102, 105, 103, 46, 98, 97, 99, 107, 103, 114, 111, 117, 110, 100, 67, 111, 108, 111, 114, 32, 63, 63, 32, 34, 34, 41, 59, 10, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 95, 114, 101, 110, 100, 101, 114, 40, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 116, 104, 105, 115, 46, 95, 100, 111, 116, 76, 111, 116, 116, 105, 101, 67, 111, 114, 101, 32, 61, 61, 61, 32, 110, 117, 108, 108, 32, 124, 124, 32, 116, 104, 105, 115, 46, 95, 99, 111, 110, 116, 101, 120, 116, 32, 61, 61, 61, 32, 110, 117, 108, 108, 41, 32, 114, 101, 116, 117, 114, 110, 32, 102, 97, 108, 115, 101, 59, 10, 32, 32, 32, 32, 32, 32, 99, 111, 110, 115, 116, 32, 114, 101, 110, 100, 101, 114, 101, 100, 32, 61, 32, 116, 104, 105, 115, 46, 95, 100, 111, 116, 76, 111, 116, 116, 105, 101, 67, 111, 114, 101, 46, 114, 101, 110, 100, 101, 114, 40, 41, 59, 10, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 114, 101, 110, 100, 101, 114, 101, 100, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 99, 111, 110, 115, 116, 32, 98, 117, 102, 102, 101, 114, 32, 61, 32, 116, 104, 105, 115, 46, 95, 100, 111, 116, 76, 111, 116, 116, 105, 101, 67, 111, 114, 101, 46, 98, 117, 102, 102, 101, 114, 40, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 99, 111, 110, 115, 116, 32, 99, 108, 97, 109, 112, 101, 100, 66, 117, 102, 102, 101, 114, 32, 61, 32, 110, 101, 119, 32, 85, 105, 110, 116, 56, 67, 108, 97, 109, 112, 101, 100, 65, 114, 114, 97, 121, 40, 98, 117, 102, 102, 101, 114, 44, 32, 48, 44, 32, 116, 104, 105, 115, 46, 95, 99, 97, 110, 118, 97, 115, 46, 119, 105, 100, 116, 104, 32, 42, 32, 116, 104, 105, 115, 46, 95, 99, 97, 110, 118, 97, 115, 46, 104, 101, 105, 103, 104, 116, 32, 42, 32, 52, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 108, 101, 116, 32, 105, 109, 97, 103, 101, 68, 97, 116, 97, 32, 61, 32, 110, 117, 108, 108, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 116, 121, 112, 101, 111, 102, 32, 73, 109, 97, 103, 101, 68, 97, 116, 97, 32, 61, 61, 61, 32, 34, 117, 110, 100, 101, 102, 105, 110, 101, 100, 34, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 105, 109, 97, 103, 101, 68, 97, 116, 97, 32, 61, 32, 116, 104, 105, 115, 46, 95, 99, 111, 110, 116, 101, 120, 116, 46, 99, 114, 101, 97, 116, 101, 73, 109, 97, 103, 101, 68, 97, 116, 97, 40, 116, 104, 105, 115, 46, 95, 99, 97, 110, 118, 97, 115, 46, 119, 105, 100, 116, 104, 44, 32, 116, 104, 105, 115, 46, 95, 99, 97, 110, 118, 97, 115, 46, 104, 101, 105, 103, 104, 116, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 105, 109, 97, 103, 101, 68, 97, 116, 97, 46, 100, 97, 116, 97, 46, 115, 101, 116, 40, 99, 108, 97, 109, 112, 101, 100, 66, 117, 102, 102, 101, 114, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 32, 101, 108, 115, 101, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 105, 109, 97, 103, 101, 68, 97, 116, 97, 32, 61, 32, 110, 101, 119, 32, 73, 109, 97, 103, 101, 68, 97, 116, 97, 40, 99, 108, 97, 109, 112, 101, 100, 66, 117, 102, 102, 101, 114, 44, 32, 116, 104, 105, 115, 46, 95, 99, 97, 110, 118, 97, 115, 46, 119, 105, 100, 116, 104, 44, 32, 116, 104, 105, 115, 46, 95, 99, 97, 110, 118, 97, 115, 46, 104, 101, 105, 103, 104, 116, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 32, 32, 32, 32, 116, 104, 105, 115, 46, 95, 99, 111, 110, 116, 101, 120, 116, 46, 112, 117, 116, 73, 109, 97, 103, 101, 68, 97, 116, 97, 40, 105, 109, 97, 103, 101, 68, 97, 116, 97, 44, 32, 48, 44, 32, 48, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 116, 104, 105, 115, 46, 95, 101, 118, 101, 110, 116, 77, 97, 110, 97, 103, 101, 114, 46, 100, 105, 115, 112, 97, 116, 99, 104, 40, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 116, 121, 112, 101, 58, 32, 34, 114, 101, 110, 100, 101, 114, 34, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 99, 117, 114, 114, 101, 110, 116, 70, 114, 97, 109, 101, 58, 32, 116, 104, 105, 115, 46, 95, 100, 111, 116, 76, 111, 116, 116, 105, 101, 67, 111, 114, 101, 46, 99, 117, 114, 114, 101, 110, 116, 70, 114, 97, 109, 101, 40, 41, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 116, 114, 117, 101, 59, 10, 32, 32, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 102, 97, 108, 115, 101, 59, 10, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 95, 100, 114, 97, 119, 40, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 116, 104, 105, 115, 46, 95, 100, 111, 116, 76, 111, 116, 116, 105, 101, 67, 111, 114, 101, 32, 61, 61, 61, 32, 110, 117, 108, 108, 32, 124, 124, 32, 116, 104, 105, 115, 46, 95, 99, 111, 110, 116, 101, 120, 116, 32, 61, 61, 61, 32, 110, 117, 108, 108, 32, 124, 124, 32, 33, 116, 104, 105, 115, 46, 95, 100, 111, 116, 76, 111, 116, 116, 105, 101, 67, 111, 114, 101, 46, 105, 115, 80, 108, 97, 121, 105, 110, 103, 40, 41, 41, 32, 114, 101, 116, 117, 114, 110, 59, 10, 32, 32, 32, 32, 32, 32, 99, 111, 110, 115, 116, 32, 110, 101, 120, 116, 70, 114, 97, 109, 101, 32, 61, 32, 116, 104, 105, 115, 46, 95, 100, 111, 116, 76, 111, 116, 116, 105, 101, 67, 111, 114, 101, 46, 114, 101, 113, 117, 101, 115, 116, 70, 114, 97, 109, 101, 40, 41, 59, 10, 32, 32, 32, 32, 32, 32, 99, 111, 110, 115, 116, 32, 117, 112, 100, 97, 116, 101, 100, 32, 61, 32, 116, 104, 105, 115, 46, 95, 100, 111, 116, 76, 111, 116, 116, 105, 101, 67, 111, 114, 101, 46, 115, 101, 116, 70, 114, 97, 109, 101, 40, 110, 101, 120, 116, 70, 114, 97, 109, 101, 41, 59, 10, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 117, 112, 100, 97, 116, 101, 100, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 116, 104, 105, 115, 46, 95, 101, 118, 101, 110, 116, 77, 97, 110, 97, 103, 101, 114, 46, 100, 105, 115, 112, 97, 116, 99, 104, 40, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 116, 121, 112, 101, 58, 32, 34, 102, 114, 97, 109, 101, 34, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 99, 117, 114, 114, 101, 110, 116, 70, 114, 97, 109, 101, 58, 32, 116, 104, 105, 115, 46, 95, 100, 111, 116, 76, 111, 116, 116, 105, 101, 67, 111, 114, 101, 46, 99, 117, 114, 114, 101, 110, 116, 70, 114, 97, 109, 101, 40, 41, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 99, 111, 110, 115, 116, 32, 114, 101, 110, 100, 101, 114, 101, 100, 32, 61, 32, 116, 104, 105, 115, 46, 95, 114, 101, 110, 100, 101, 114, 40, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 114, 101, 110, 100, 101, 114, 101, 100, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 116, 104, 105, 115, 46, 95, 100, 111, 116, 76, 111, 116, 116, 105, 101, 67, 111, 114, 101, 46, 105, 115, 67, 111, 109, 112, 108, 101, 116, 101, 40, 41, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 116, 104, 105, 115, 46, 95, 100, 111, 116, 76, 111, 116, 116, 105, 101, 67, 111, 114, 101, 46, 99, 111, 110, 102, 105, 103, 40, 41, 46, 108, 111, 111, 112, 65, 110, 105, 109, 97, 116, 105, 111, 110, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 116, 104, 105, 115, 46, 95, 101, 118, 101, 110, 116, 77, 97, 110, 97, 103, 101, 114, 46, 100, 105, 115, 112, 97, 116, 99, 104, 40, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 116, 121, 112, 101, 58, 32, 34, 108, 111, 111, 112, 34, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 108, 111, 111, 112, 67, 111, 117, 110, 116, 58, 32, 116, 104, 105, 115, 46, 95, 100, 111, 116, 76, 111, 116, 116, 105, 101, 67, 111, 114, 101, 46, 108, 111, 111, 112, 67, 111, 117, 110, 116, 40, 41, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 125, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 125, 32, 101, 108, 115, 101, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 116, 104, 105, 115, 46, 95, 101, 118, 101, 110, 116, 77, 97, 110, 97, 103, 101, 114, 46, 100, 105, 115, 112, 97, 116, 99, 104, 40, 123, 32, 116, 121, 112, 101, 58, 32, 34, 99, 111, 109, 112, 108, 101, 116, 101, 34, 32, 125, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 32, 32, 116, 104, 105, 115, 46, 95, 97, 110, 105, 109, 97, 116, 105, 111, 110, 70, 114, 97, 109, 101, 73, 100, 32, 61, 32, 116, 104, 105, 115, 46, 95, 102, 114, 97, 109, 101, 77, 97, 110, 97, 103, 101, 114, 46, 114, 101, 113, 117, 101, 115, 116, 65, 110, 105, 109, 97, 116, 105, 111, 110, 70, 114, 97, 109, 101, 40, 116, 104, 105, 115, 46, 95, 100, 114, 97, 119, 46, 98, 105, 110, 100, 40, 116, 104, 105, 115, 41, 41, 59, 10, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 112, 108, 97, 121, 40, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 116, 104, 105, 115, 46, 95, 100, 111, 116, 76, 111, 116, 116, 105, 101, 67, 111, 114, 101, 32, 61, 61, 61, 32, 110, 117, 108, 108, 41, 32, 114, 101, 116, 117, 114, 110, 59, 10, 32, 32, 32, 32, 32, 32, 99, 111, 110, 115, 116, 32, 111, 107, 32, 61, 32, 116, 104, 105, 115, 46, 95, 100, 111, 116, 76, 111, 116, 116, 105, 101, 67, 111, 114, 101, 46, 112, 108, 97, 121, 40, 41, 59, 10, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 111, 107, 32, 124, 124, 32, 116, 104, 105, 115, 46, 95, 100, 111, 116, 76, 111, 116, 116, 105, 101, 67, 111, 114, 101, 46, 105, 115, 80, 108, 97, 121, 105, 110, 103, 40, 41, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 116, 104, 105, 115, 46, 95, 105, 115, 70, 114, 111, 122, 101, 110, 32, 61, 32, 102, 97, 108, 115, 101, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 116, 104, 105, 115, 46, 95, 101, 118, 101, 110, 116, 77, 97, 110, 97, 103, 101, 114, 46, 100, 105, 115, 112, 97, 116, 99, 104, 40, 123, 32, 116, 121, 112, 101, 58, 32, 34, 112, 108, 97, 121, 34, 32, 125, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 116, 104, 105, 115, 46, 95, 97, 110, 105, 109, 97, 116, 105, 111, 110, 70, 114, 97, 109, 101, 73, 100, 32, 61, 32, 116, 104, 105, 115, 46, 95, 102, 114, 97, 109, 101, 77, 97, 110, 97, 103, 101, 114, 46, 114, 101, 113, 117, 101, 115, 116, 65, 110, 105, 109, 97, 116, 105, 111, 110, 70, 114, 97, 109, 101, 40, 116, 104, 105, 115, 46, 95, 100, 114, 97, 119, 46, 98, 105, 110, 100, 40, 116, 104, 105, 115, 41, 41, 59, 10, 32, 32, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 73, 83, 95, 66, 82, 79, 87, 83, 69, 82, 32, 38, 38, 32, 116, 104, 105, 115, 46, 95, 99, 97, 110, 118, 97, 115, 32, 105, 110, 115, 116, 97, 110, 99, 101, 111, 102, 32, 72, 84, 77, 76, 67, 97, 110, 118, 97, 115, 69, 108, 101, 109, 101, 110, 116, 32, 38, 38, 32, 116, 104, 105, 115, 46, 95, 114, 101, 110, 100, 101, 114, 67, 111, 110, 102, 105, 103, 46, 102, 114, 101, 101, 122, 101, 79, 110, 79, 102, 102, 115, 99, 114, 101, 101, 110, 32, 38, 38, 32, 33, 105, 115, 69, 108, 101, 109, 101, 110, 116, 73, 110, 86, 105, 101, 119, 112, 111, 114, 116, 40, 116, 104, 105, 115, 46, 95, 99, 97, 110, 118, 97, 115, 41, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 116, 104, 105, 115, 46, 102, 114, 101, 101, 122, 101, 40, 41, 59, 10, 32, 32, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 112, 97, 117, 115, 101, 40, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 116, 104, 105, 115, 46, 95, 100, 111, 116, 76, 111, 116, 116, 105, 101, 67, 111, 114, 101, 32, 61, 61, 61, 32, 110, 117, 108, 108, 41, 32, 114, 101, 116, 117, 114, 110, 59, 10, 32, 32, 32, 32, 32, 32, 99, 111, 110, 115, 116, 32, 111, 107, 32, 61, 32, 116, 104, 105, 115, 46, 95, 100, 111, 116, 76, 111, 116, 116, 105, 101, 67, 111, 114, 101, 46, 112, 97, 117, 115, 101, 40, 41, 59, 10, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 111, 107, 32, 124, 124, 32, 116, 104, 105, 115, 46, 95, 100, 111, 116, 76, 111, 116, 116, 105, 101, 67, 111, 114, 101, 46, 105, 115, 80, 97, 117, 115, 101, 100, 40, 41, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 116, 104, 105, 115, 46, 95, 101, 118, 101, 110, 116, 77, 97, 110, 97, 103, 101, 114, 46, 100, 105, 115, 112, 97, 116, 99, 104, 40, 123, 32, 116, 121, 112, 101, 58, 32, 34, 112, 97, 117, 115, 101, 34, 32, 125, 41, 59, 10, 32, 32, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 115, 116, 111, 112, 40, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 116, 104, 105, 115, 46, 95, 100, 111, 116, 76, 111, 116, 116, 105, 101, 67, 111, 114, 101, 32, 61, 61, 61, 32, 110, 117, 108, 108, 41, 32, 114, 101, 116, 117, 114, 110, 59, 10, 32, 32, 32, 32, 32, 32, 99, 111, 110, 115, 116, 32, 111, 107, 32, 61, 32, 116, 104, 105, 115, 46, 95, 100, 111, 116, 76, 111, 116, 116, 105, 101, 67, 111, 114, 101, 46, 115, 116, 111, 112, 40, 41, 59, 10, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 111, 107, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 116, 104, 105, 115, 46, 95, 101, 118, 101, 110, 116, 77, 97, 110, 97, 103, 101, 114, 46, 100, 105, 115, 112, 97, 116, 99, 104, 40, 123, 32, 116, 121, 112, 101, 58, 32, 34, 102, 114, 97, 109, 101, 34, 44, 32, 99, 117, 114, 114, 101, 110, 116, 70, 114, 97, 109, 101, 58, 32, 116, 104, 105, 115, 46, 95, 100, 111, 116, 76, 111, 116, 116, 105, 101, 67, 111, 114, 101, 46, 99, 117, 114, 114, 101, 110, 116, 70, 114, 97, 109, 101, 40, 41, 32, 125, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 116, 104, 105, 115, 46, 95, 114, 101, 110, 100, 101, 114, 40, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 116, 104, 105, 115, 46, 95, 101, 118, 101, 110, 116, 77, 97, 110, 97, 103, 101, 114, 46, 100, 105, 115, 112, 97, 116, 99, 104, 40, 123, 32, 116, 121, 112, 101, 58, 32, 34, 115, 116, 111, 112, 34, 32, 125, 41, 59, 10, 32, 32, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 115, 101, 116, 70, 114, 97, 109, 101, 40, 102, 114, 97, 109, 101, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 116, 104, 105, 115, 46, 95, 100, 111, 116, 76, 111, 116, 116, 105, 101, 67, 111, 114, 101, 32, 61, 61, 61, 32, 110, 117, 108, 108, 41, 32, 114, 101, 116, 117, 114, 110, 59, 10, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 102, 114, 97, 109, 101, 32, 60, 32, 48, 32, 124, 124, 32, 102, 114, 97, 109, 101, 32, 62, 32, 116, 104, 105, 115, 46, 95, 100, 111, 116, 76, 111, 116, 116, 105, 101, 67, 111, 114, 101, 46, 116, 111, 116, 97, 108, 70, 114, 97, 109, 101, 115, 40, 41, 41, 32, 114, 101, 116, 117, 114, 110, 59, 10, 32, 32, 32, 32, 32, 32, 99, 111, 110, 115, 116, 32, 111, 107, 32, 61, 32, 116, 104, 105, 115, 46, 95, 100, 111, 116, 76, 111, 116, 116, 105, 101, 67, 111, 114, 101, 46, 115, 101, 101, 107, 40, 102, 114, 97, 109, 101, 41, 59, 10, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 111, 107, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 116, 104, 105, 115, 46, 95, 101, 118, 101, 110, 116, 77, 97, 110, 97, 103, 101, 114, 46, 100, 105, 115, 112, 97, 116, 99, 104, 40, 123, 32, 116, 121, 112, 101, 58, 32, 34, 102, 114, 97, 109, 101, 34, 44, 32, 99, 117, 114, 114, 101, 110, 116, 70, 114, 97, 109, 101, 58, 32, 116, 104, 105, 115, 46, 95, 100, 111, 116, 76, 111, 116, 116, 105, 101, 67, 111, 114, 101, 46, 99, 117, 114, 114, 101, 110, 116, 70, 114, 97, 109, 101, 40, 41, 32, 125, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 116, 104, 105, 115, 46, 95, 114, 101, 110, 100, 101, 114, 40, 41, 59, 10, 32, 32, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 115, 101, 116, 83, 112, 101, 101, 100, 40, 115, 112, 101, 101, 100, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 116, 104, 105, 115, 46, 95, 100, 111, 116, 76, 111, 116, 116, 105, 101, 67, 111, 114, 101, 32, 61, 61, 61, 32, 110, 117, 108, 108, 41, 32, 114, 101, 116, 117, 114, 110, 59, 10, 32, 32, 32, 32, 32, 32, 116, 104, 105, 115, 46, 95, 100, 111, 116, 76, 111, 116, 116, 105, 101, 67, 111, 114, 101, 46, 115, 101, 116, 67, 111, 110, 102, 105, 103, 40, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 46, 46, 46, 116, 104, 105, 115, 46, 95, 100, 111, 116, 76, 111, 116, 116, 105, 101, 67, 111, 114, 101, 46, 99, 111, 110, 102, 105, 103, 40, 41, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 115, 112, 101, 101, 100, 10, 32, 32, 32, 32, 32, 32, 125, 41, 59, 10, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 115, 101, 116, 66, 97, 99, 107, 103, 114, 111, 117, 110, 100, 67, 111, 108, 111, 114, 40, 99, 111, 108, 111, 114, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 116, 104, 105, 115, 46, 95, 100, 111, 116, 76, 111, 116, 116, 105, 101, 67, 111, 114, 101, 32, 61, 61, 61, 32, 110, 117, 108, 108, 41, 32, 114, 101, 116, 117, 114, 110, 59, 10, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 73, 83, 95, 66, 82, 79, 87, 83, 69, 82, 32, 38, 38, 32, 116, 104, 105, 115, 46, 95, 99, 97, 110, 118, 97, 115, 32, 105, 110, 115, 116, 97, 110, 99, 101, 111, 102, 32, 72, 84, 77, 76, 67, 97, 110, 118, 97, 115, 69, 108, 101, 109, 101, 110, 116, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 116, 104, 105, 115, 46, 95, 99, 97, 110, 118, 97, 115, 46, 115, 116, 121, 108, 101, 46, 98, 97, 99, 107, 103, 114, 111, 117, 110, 100, 67, 111, 108, 111, 114, 32, 61, 32, 99, 111, 108, 111, 114, 59, 10, 32, 32, 32, 32, 32, 32, 125, 32, 101, 108, 115, 101, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 116, 104, 105, 115, 46, 95, 100, 111, 116, 76, 111, 116, 116, 105, 101, 67, 111, 114, 101, 46, 115, 101, 116, 67, 111, 110, 102, 105, 103, 40, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 46, 46, 46, 116, 104, 105, 115, 46, 95, 100, 111, 116, 76, 111, 116, 116, 105, 101, 67, 111, 114, 101, 46, 99, 111, 110, 102, 105, 103, 40, 41, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 98, 97, 99, 107, 103, 114, 111, 117, 110, 100, 67, 111, 108, 111, 114, 58, 32, 104, 101, 120, 83, 116, 114, 105, 110, 103, 84, 111, 82, 71, 66, 65, 73, 110, 116, 40, 99, 111, 108, 111, 114, 41, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 41, 59, 10, 32, 32, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 32, 32, 116, 104, 105, 115, 46, 95, 98, 97, 99, 107, 103, 114, 111, 117, 110, 100, 67, 111, 108, 111, 114, 32, 61, 32, 99, 111, 108, 111, 114, 59, 10, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 115, 101, 116, 76, 111, 111, 112, 40, 108, 111, 111, 112, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 116, 104, 105, 115, 46, 95, 100, 111, 116, 76, 111, 116, 116, 105, 101, 67, 111, 114, 101, 32, 61, 61, 61, 32, 110, 117, 108, 108, 41, 32, 114, 101, 116, 117, 114, 110, 59, 10, 32, 32, 32, 32, 32, 32, 116, 104, 105, 115, 46, 95, 100, 111, 116, 76, 111, 116, 116, 105, 101, 67, 111, 114, 101, 46, 115, 101, 116, 67, 111, 110, 102, 105, 103, 40, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 46, 46, 46, 116, 104, 105, 115, 46, 95, 100, 111, 116, 76, 111, 116, 116, 105, 101, 67, 111, 114, 101, 46, 99, 111, 110, 102, 105, 103, 40, 41, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 108, 111, 111, 112, 65, 110, 105, 109, 97, 116, 105, 111, 110, 58, 32, 108, 111, 111, 112, 10, 32, 32, 32, 32, 32, 32, 125, 41, 59, 10, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 115, 101, 116, 85, 115, 101, 70, 114, 97, 109, 101, 73, 110, 116, 101, 114, 112, 111, 108, 97, 116, 105, 111, 110, 40, 117, 115, 101, 70, 114, 97, 109, 101, 73, 110, 116, 101, 114, 112, 111, 108, 97, 116, 105, 111, 110, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 116, 104, 105, 115, 46, 95, 100, 111, 116, 76, 111, 116, 116, 105, 101, 67, 111, 114, 101, 32, 61, 61, 61, 32, 110, 117, 108, 108, 41, 32, 114, 101, 116, 117, 114, 110, 59, 10, 32, 32, 32, 32, 32, 32, 116, 104, 105, 115, 46, 95, 100, 111, 116, 76, 111, 116, 116, 105, 101, 67, 111, 114, 101, 46, 115, 101, 116, 67, 111, 110, 102, 105, 103, 40, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 46, 46, 46, 116, 104, 105, 115, 46, 95, 100, 111, 116, 76, 111, 116, 116, 105, 101, 67, 111, 114, 101, 46, 99, 111, 110, 102, 105, 103, 40, 41, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 117, 115, 101, 70, 114, 97, 109, 101, 73, 110, 116, 101, 114, 112, 111, 108, 97, 116, 105, 111, 110, 10, 32, 32, 32, 32, 32, 32, 125, 41, 59, 10, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 97, 100, 100, 69, 118, 101, 110, 116, 76, 105, 115, 116, 101, 110, 101, 114, 40, 116, 121, 112, 101, 44, 32, 108, 105, 115, 116, 101, 110, 101, 114, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 116, 104, 105, 115, 46, 95, 101, 118, 101, 110, 116, 77, 97, 110, 97, 103, 101, 114, 46, 97, 100, 100, 69, 118, 101, 110, 116, 76, 105, 115, 116, 101, 110, 101, 114, 40, 116, 121, 112, 101, 44, 32, 108, 105, 115, 116, 101, 110, 101, 114, 41, 59, 10, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 114, 101, 109, 111, 118, 101, 69, 118, 101, 110, 116, 76, 105, 115, 116, 101, 110, 101, 114, 40, 116, 121, 112, 101, 44, 32, 108, 105, 115, 116, 101, 110, 101, 114, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 116, 104, 105, 115, 46, 95, 101, 118, 101, 110, 116, 77, 97, 110, 97, 103, 101, 114, 46, 114, 101, 109, 111, 118, 101, 69, 118, 101, 110, 116, 76, 105, 115, 116, 101, 110, 101, 114, 40, 116, 121, 112, 101, 44, 32, 108, 105, 115, 116, 101, 110, 101, 114, 41, 59, 10, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 100, 101, 115, 116, 114, 111, 121, 40, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 73, 83, 95, 66, 82, 79, 87, 83, 69, 82, 32, 38, 38, 32, 116, 104, 105, 115, 46, 95, 99, 97, 110, 118, 97, 115, 32, 105, 110, 115, 116, 97, 110, 99, 101, 111, 102, 32, 72, 84, 77, 76, 67, 97, 110, 118, 97, 115, 69, 108, 101, 109, 101, 110, 116, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 79, 102, 102, 115, 99, 114, 101, 101, 110, 79, 98, 115, 101, 114, 118, 101, 114, 46, 117, 110, 111, 98, 115, 101, 114, 118, 101, 40, 116, 104, 105, 115, 46, 95, 99, 97, 110, 118, 97, 115, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 67, 97, 110, 118, 97, 115, 82, 101, 115, 105, 122, 101, 79, 98, 115, 101, 114, 118, 101, 114, 46, 117, 110, 111, 98, 115, 101, 114, 118, 101, 40, 116, 104, 105, 115, 46, 95, 99, 97, 110, 118, 97, 115, 41, 59, 10, 32, 32, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 32, 32, 116, 104, 105, 115, 46, 95, 100, 111, 116, 76, 111, 116, 116, 105, 101, 67, 111, 114, 101, 63, 46, 100, 101, 108, 101, 116, 101, 40, 41, 59, 10, 32, 32, 32, 32, 32, 32, 116, 104, 105, 115, 46, 95, 100, 111, 116, 76, 111, 116, 116, 105, 101, 67, 111, 114, 101, 32, 61, 32, 110, 117, 108, 108, 59, 10, 32, 32, 32, 32, 32, 32, 116, 104, 105, 115, 46, 95, 99, 111, 110, 116, 101, 120, 116, 32, 61, 32, 110, 117, 108, 108, 59, 10, 32, 32, 32, 32, 32, 32, 116, 104, 105, 115, 46, 95, 101, 118, 101, 110, 116, 77, 97, 110, 97, 103, 101, 114, 46, 100, 105, 115, 112, 97, 116, 99, 104, 40, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 116, 121, 112, 101, 58, 32, 34, 100, 101, 115, 116, 114, 111, 121, 34, 10, 32, 32, 32, 32, 32, 32, 125, 41, 59, 10, 32, 32, 32, 32, 32, 32, 116, 104, 105, 115, 46, 95, 101, 118, 101, 110, 116, 77, 97, 110, 97, 103, 101, 114, 46, 114, 101, 109, 111, 118, 101, 65, 108, 108, 69, 118, 101, 110, 116, 76, 105, 115, 116, 101, 110, 101, 114, 115, 40, 41, 59, 10, 32, 32, 32, 32, 32, 32, 116, 104, 105, 115, 46, 95, 99, 108, 101, 97, 110, 117, 112, 83, 116, 97, 116, 101, 77, 97, 99, 104, 105, 110, 101, 76, 105, 115, 116, 101, 110, 101, 114, 115, 40, 41, 59, 10, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 102, 114, 101, 101, 122, 101, 40, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 116, 104, 105, 115, 46, 95, 97, 110, 105, 109, 97, 116, 105, 111, 110, 70, 114, 97, 109, 101, 73, 100, 32, 61, 61, 61, 32, 110, 117, 108, 108, 41, 32, 114, 101, 116, 117, 114, 110, 59, 10, 32, 32, 32, 32, 32, 32, 116, 104, 105, 115, 46, 95, 102, 114, 97, 109, 101, 77, 97, 110, 97, 103, 101, 114, 46, 99, 97, 110, 99, 101, 108, 65, 110, 105, 109, 97, 116, 105, 111, 110, 70, 114, 97, 109, 101, 40, 116, 104, 105, 115, 46, 95, 97, 110, 105, 109, 97, 116, 105, 111, 110, 70, 114, 97, 109, 101, 73, 100, 41, 59, 10, 32, 32, 32, 32, 32, 32, 116, 104, 105, 115, 46, 95, 97, 110, 105, 109, 97, 116, 105, 111, 110, 70, 114, 97, 109, 101, 73, 100, 32, 61, 32, 110, 117, 108, 108, 59, 10, 32, 32, 32, 32, 32, 32, 116, 104, 105, 115, 46, 95, 105, 115, 70, 114, 111, 122, 101, 110, 32, 61, 32, 116, 114, 117, 101, 59, 10, 32, 32, 32, 32, 32, 32, 116, 104, 105, 115, 46, 95, 101, 118, 101, 110, 116, 77, 97, 110, 97, 103, 101, 114, 46, 100, 105, 115, 112, 97, 116, 99, 104, 40, 123, 32, 116, 121, 112, 101, 58, 32, 34, 102, 114, 101, 101, 122, 101, 34, 32, 125, 41, 59, 10, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 117, 110, 102, 114, 101, 101, 122, 101, 40, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 116, 104, 105, 115, 46, 95, 97, 110, 105, 109, 97, 116, 105, 111, 110, 70, 114, 97, 109, 101, 73, 100, 32, 33, 61, 61, 32, 110, 117, 108, 108, 41, 32, 114, 101, 116, 117, 114, 110, 59, 10, 32, 32, 32, 32, 32, 32, 116, 104, 105, 115, 46, 95, 97, 110, 105, 109, 97, 116, 105, 111, 110, 70, 114, 97, 109, 101, 73, 100, 32, 61, 32, 116, 104, 105, 115, 46, 95, 102, 114, 97, 109, 101, 77, 97, 110, 97, 103, 101, 114, 46, 114, 101, 113, 117, 101, 115, 116, 65, 110, 105, 109, 97, 116, 105, 111, 110, 70, 114, 97, 109, 101, 40, 116, 104, 105, 115, 46, 95, 100, 114, 97, 119, 46, 98, 105, 110, 100, 40, 116, 104, 105, 115, 41, 41, 59, 10, 32, 32, 32, 32, 32, 32, 116, 104, 105, 115, 46, 95, 105, 115, 70, 114, 111, 122, 101, 110, 32, 61, 32, 102, 97, 108, 115, 101, 59, 10, 32, 32, 32, 32, 32, 32, 116, 104, 105, 115, 46, 95, 101, 118, 101, 110, 116, 77, 97, 110, 97, 103, 101, 114, 46, 100, 105, 115, 112, 97, 116, 99, 104, 40, 123, 32, 116, 121, 112, 101, 58, 32, 34, 117, 110, 102, 114, 101, 101, 122, 101, 34, 32, 125, 41, 59, 10, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 114, 101, 115, 105, 122, 101, 40, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 33, 116, 104, 105, 115, 46, 95, 100, 111, 116, 76, 111, 116, 116, 105, 101, 67, 111, 114, 101, 32, 124, 124, 32, 33, 116, 104, 105, 115, 46, 105, 115, 76, 111, 97, 100, 101, 100, 41, 32, 114, 101, 116, 117, 114, 110, 59, 10, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 73, 83, 95, 66, 82, 79, 87, 83, 69, 82, 32, 38, 38, 32, 116, 104, 105, 115, 46, 95, 99, 97, 110, 118, 97, 115, 32, 105, 110, 115, 116, 97, 110, 99, 101, 111, 102, 32, 72, 84, 77, 76, 67, 97, 110, 118, 97, 115, 69, 108, 101, 109, 101, 110, 116, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 99, 111, 110, 115, 116, 32, 100, 112, 114, 32, 61, 32, 116, 104, 105, 115, 46, 95, 114, 101, 110, 100, 101, 114, 67, 111, 110, 102, 105, 103, 46, 100, 101, 118, 105, 99, 101, 80, 105, 120, 101, 108, 82, 97, 116, 105, 111, 32, 124, 124, 32, 119, 105, 110, 100, 111, 119, 46, 100, 101, 118, 105, 99, 101, 80, 105, 120, 101, 108, 82, 97, 116, 105, 111, 32, 124, 124, 32, 49, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 99, 111, 110, 115, 116, 32, 123, 32, 104, 101, 105, 103, 104, 116, 58, 32, 99, 108, 105, 101, 110, 116, 72, 101, 105, 103, 104, 116, 44, 32, 119, 105, 100, 116, 104, 58, 32, 99, 108, 105, 101, 110, 116, 87, 105, 100, 116, 104, 32, 125, 32, 61, 32, 116, 104, 105, 115, 46, 95, 99, 97, 110, 118, 97, 115, 46, 103, 101, 116, 66, 111, 117, 110, 100, 105, 110, 103, 67, 108, 105, 101, 110, 116, 82, 101, 99, 116, 40, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 116, 104, 105, 115, 46, 95, 99, 97, 110, 118, 97, 115, 46, 119, 105, 100, 116, 104, 32, 61, 32, 99, 108, 105, 101, 110, 116, 87, 105, 100, 116, 104, 32, 42, 32, 100, 112, 114, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 116, 104, 105, 115, 46, 95, 99, 97, 110, 118, 97, 115, 46, 104, 101, 105, 103, 104, 116, 32, 61, 32, 99, 108, 105, 101, 110, 116, 72, 101, 105, 103, 104, 116, 32, 42, 32, 100, 112, 114, 59, 10, 32, 32, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 32, 32, 99, 111, 110, 115, 116, 32, 111, 107, 32, 61, 32, 116, 104, 105, 115, 46, 95, 100, 111, 116, 76, 111, 116, 116, 105, 101, 67, 111, 114, 101, 46, 114, 101, 115, 105, 122, 101, 40, 116, 104, 105, 115, 46, 95, 99, 97, 110, 118, 97, 115, 46, 119, 105, 100, 116, 104, 44, 32, 116, 104, 105, 115, 46, 95, 99, 97, 110, 118, 97, 115, 46, 104, 101, 105, 103, 104, 116, 41, 59, 10, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 111, 107, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 116, 104, 105, 115, 46, 95, 114, 101, 110, 100, 101, 114, 40, 41, 59, 10, 32, 32, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 115, 101, 116, 83, 101, 103, 109, 101, 110, 116, 40, 115, 116, 97, 114, 116, 70, 114, 97, 109, 101, 44, 32, 101, 110, 100, 70, 114, 97, 109, 101, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 116, 104, 105, 115, 46, 95, 100, 111, 116, 76, 111, 116, 116, 105, 101, 67, 111, 114, 101, 32, 61, 61, 61, 32, 110, 117, 108, 108, 32, 124, 124, 32, 95, 68, 111, 116, 76, 111, 116, 116, 105, 101, 46, 95, 119, 97, 115, 109, 77, 111, 100, 117, 108, 101, 32, 61, 61, 61, 32, 110, 117, 108, 108, 41, 32, 114, 101, 116, 117, 114, 110, 59, 10, 32, 32, 32, 32, 32, 32, 116, 104, 105, 115, 46, 95, 100, 111, 116, 76, 111, 116, 116, 105, 101, 67, 111, 114, 101, 46, 115, 101, 116, 67, 111, 110, 102, 105, 103, 40, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 46, 46, 46, 116, 104, 105, 115, 46, 95, 100, 111, 116, 76, 111, 116, 116, 105, 101, 67, 111, 114, 101, 46, 99, 111, 110, 102, 105, 103, 40, 41, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 115, 101, 103, 109, 101, 110, 116, 58, 32, 99, 114, 101, 97, 116, 101, 67, 111, 114, 101, 83, 101, 103, 109, 101, 110, 116, 40, 91, 115, 116, 97, 114, 116, 70, 114, 97, 109, 101, 44, 32, 101, 110, 100, 70, 114, 97, 109, 101, 93, 44, 32, 95, 68, 111, 116, 76, 111, 116, 116, 105, 101, 46, 95, 119, 97, 115, 109, 77, 111, 100, 117, 108, 101, 41, 10, 32, 32, 32, 32, 32, 32, 125, 41, 59, 10, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 115, 101, 116, 77, 111, 100, 101, 40, 109, 111, 100, 101, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 116, 104, 105, 115, 46, 95, 100, 111, 116, 76, 111, 116, 116, 105, 101, 67, 111, 114, 101, 32, 61, 61, 61, 32, 110, 117, 108, 108, 32, 124, 124, 32, 95, 68, 111, 116, 76, 111, 116, 116, 105, 101, 46, 95, 119, 97, 115, 109, 77, 111, 100, 117, 108, 101, 32, 61, 61, 61, 32, 110, 117, 108, 108, 41, 32, 114, 101, 116, 117, 114, 110, 59, 10, 32, 32, 32, 32, 32, 32, 116, 104, 105, 115, 46, 95, 100, 111, 116, 76, 111, 116, 116, 105, 101, 67, 111, 114, 101, 46, 115, 101, 116, 67, 111, 110, 102, 105, 103, 40, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 46, 46, 46, 116, 104, 105, 115, 46, 95, 100, 111, 116, 76, 111, 116, 116, 105, 101, 67, 111, 114, 101, 46, 99, 111, 110, 102, 105, 103, 40, 41, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 109, 111, 100, 101, 58, 32, 99, 114, 101, 97, 116, 101, 67, 111, 114, 101, 77, 111, 100, 101, 40, 109, 111, 100, 101, 44, 32, 95, 68, 111, 116, 76, 111, 116, 116, 105, 101, 46, 95, 119, 97, 115, 109, 77, 111, 100, 117, 108, 101, 41, 10, 32, 32, 32, 32, 32, 32, 125, 41, 59, 10, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 115, 101, 116, 82, 101, 110, 100, 101, 114, 67, 111, 110, 102, 105, 103, 40, 99, 111, 110, 102, 105, 103, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 99, 111, 110, 115, 116, 32, 123, 32, 100, 101, 118, 105, 99, 101, 80, 105, 120, 101, 108, 82, 97, 116, 105, 111, 44, 32, 102, 114, 101, 101, 122, 101, 79, 110, 79, 102, 102, 115, 99, 114, 101, 101, 110, 44, 32, 46, 46, 46, 114, 101, 115, 116, 67, 111, 110, 102, 105, 103, 32, 125, 32, 61, 32, 99, 111, 110, 102, 105, 103, 59, 10, 32, 32, 32, 32, 32, 32, 116, 104, 105, 115, 46, 95, 114, 101, 110, 100, 101, 114, 67, 111, 110, 102, 105, 103, 32, 61, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 46, 46, 46, 116, 104, 105, 115, 46, 95, 114, 101, 110, 100, 101, 114, 67, 111, 110, 102, 105, 103, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 46, 46, 46, 114, 101, 115, 116, 67, 111, 110, 102, 105, 103, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 47, 47, 32, 100, 101, 118, 105, 99, 101, 80, 105, 120, 101, 108, 82, 97, 116, 105, 111, 32, 105, 115, 32, 97, 32, 115, 112, 101, 99, 105, 97, 108, 32, 99, 97, 115, 101, 44, 32, 105, 116, 32, 115, 104, 111, 117, 108, 100, 32, 98, 101, 32, 115, 101, 116, 32, 116, 111, 32, 116, 104, 101, 32, 100, 101, 102, 97, 117, 108, 116, 32, 118, 97, 108, 117, 101, 32, 105, 102, 32, 105, 116, 39, 115, 32, 110, 111, 116, 32, 112, 114, 111, 118, 105, 100, 101, 100, 10, 32, 32, 32, 32, 32, 32, 32, 32, 100, 101, 118, 105, 99, 101, 80, 105, 120, 101, 108, 82, 97, 116, 105, 111, 58, 32, 100, 101, 118, 105, 99, 101, 80, 105, 120, 101, 108, 82, 97, 116, 105, 111, 32, 124, 124, 32, 103, 101, 116, 68, 101, 102, 97, 117, 108, 116, 68, 80, 82, 40, 41, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 102, 114, 101, 101, 122, 101, 79, 110, 79, 102, 102, 115, 99, 114, 101, 101, 110, 58, 32, 102, 114, 101, 101, 122, 101, 79, 110, 79, 102, 102, 115, 99, 114, 101, 101, 110, 32, 63, 63, 32, 116, 114, 117, 101, 10, 32, 32, 32, 32, 32, 32, 125, 59, 10, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 73, 83, 95, 66, 82, 79, 87, 83, 69, 82, 32, 38, 38, 32, 116, 104, 105, 115, 46, 95, 99, 97, 110, 118, 97, 115, 32, 105, 110, 115, 116, 97, 110, 99, 101, 111, 102, 32, 72, 84, 77, 76, 67, 97, 110, 118, 97, 115, 69, 108, 101, 109, 101, 110, 116, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 116, 104, 105, 115, 46, 95, 114, 101, 110, 100, 101, 114, 67, 111, 110, 102, 105, 103, 46, 97, 117, 116, 111, 82, 101, 115, 105, 122, 101, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 67, 97, 110, 118, 97, 115, 82, 101, 115, 105, 122, 101, 79, 98, 115, 101, 114, 118, 101, 114, 46, 111, 98, 115, 101, 114, 118, 101, 40, 116, 104, 105, 115, 46, 95, 99, 97, 110, 118, 97, 115, 44, 32, 116, 104, 105, 115, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 32, 101, 108, 115, 101, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 67, 97, 110, 118, 97, 115, 82, 101, 115, 105, 122, 101, 79, 98, 115, 101, 114, 118, 101, 114, 46, 117, 110, 111, 98, 115, 101, 114, 118, 101, 40, 116, 104, 105, 115, 46, 95, 99, 97, 110, 118, 97, 115, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 116, 104, 105, 115, 46, 95, 114, 101, 110, 100, 101, 114, 67, 111, 110, 102, 105, 103, 46, 102, 114, 101, 101, 122, 101, 79, 110, 79, 102, 102, 115, 99, 114, 101, 101, 110, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 79, 102, 102, 115, 99, 114, 101, 101, 110, 79, 98, 115, 101, 114, 118, 101, 114, 46, 111, 98, 115, 101, 114, 118, 101, 40, 116, 104, 105, 115, 46, 95, 99, 97, 110, 118, 97, 115, 44, 32, 116, 104, 105, 115, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 32, 101, 108, 115, 101, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 79, 102, 102, 115, 99, 114, 101, 101, 110, 79, 98, 115, 101, 114, 118, 101, 114, 46, 117, 110, 111, 98, 115, 101, 114, 118, 101, 40, 116, 104, 105, 115, 46, 95, 99, 97, 110, 118, 97, 115, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 116, 104, 105, 115, 46, 95, 105, 115, 70, 114, 111, 122, 101, 110, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 116, 104, 105, 115, 46, 117, 110, 102, 114, 101, 101, 122, 101, 40, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 108, 111, 97, 100, 65, 110, 105, 109, 97, 116, 105, 111, 110, 40, 97, 110, 105, 109, 97, 116, 105, 111, 110, 73, 100, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 116, 104, 105, 115, 46, 95, 100, 111, 116, 76, 111, 116, 116, 105, 101, 67, 111, 114, 101, 32, 61, 61, 61, 32, 110, 117, 108, 108, 32, 124, 124, 32, 116, 104, 105, 115, 46, 95, 100, 111, 116, 76, 111, 116, 116, 105, 101, 67, 111, 114, 101, 46, 97, 99, 116, 105, 118, 101, 65, 110, 105, 109, 97, 116, 105, 111, 110, 73, 100, 40, 41, 32, 61, 61, 61, 32, 97, 110, 105, 109, 97, 116, 105, 111, 110, 73, 100, 41, 32, 114, 101, 116, 117, 114, 110, 59, 10, 32, 32, 32, 32, 32, 32, 99, 111, 110, 115, 116, 32, 108, 111, 97, 100, 101, 100, 32, 61, 32, 116, 104, 105, 115, 46, 95, 100, 111, 116, 76, 111, 116, 116, 105, 101, 67, 111, 114, 101, 46, 108, 111, 97, 100, 65, 110, 105, 109, 97, 116, 105, 111, 110, 40, 97, 110, 105, 109, 97, 116, 105, 111, 110, 73, 100, 44, 32, 116, 104, 105, 115, 46, 95, 99, 97, 110, 118, 97, 115, 46, 119, 105, 100, 116, 104, 44, 32, 116, 104, 105, 115, 46, 95, 99, 97, 110, 118, 97, 115, 46, 104, 101, 105, 103, 104, 116, 41, 59, 10, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 108, 111, 97, 100, 101, 100, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 116, 104, 105, 115, 46, 95, 101, 118, 101, 110, 116, 77, 97, 110, 97, 103, 101, 114, 46, 100, 105, 115, 112, 97, 116, 99, 104, 40, 123, 32, 116, 121, 112, 101, 58, 32, 34, 108, 111, 97, 100, 34, 32, 125, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 116, 104, 105, 115, 46, 114, 101, 115, 105, 122, 101, 40, 41, 59, 10, 32, 32, 32, 32, 32, 32, 125, 32, 101, 108, 115, 101, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 116, 104, 105, 115, 46, 95, 101, 118, 101, 110, 116, 77, 97, 110, 97, 103, 101, 114, 46, 100, 105, 115, 112, 97, 116, 99, 104, 40, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 116, 121, 112, 101, 58, 32, 34, 108, 111, 97, 100, 69, 114, 114, 111, 114, 34, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 101, 114, 114, 111, 114, 58, 32, 110, 101, 119, 32, 69, 114, 114, 111, 114, 40, 96, 70, 97, 105, 108, 101, 100, 32, 116, 111, 32, 97, 110, 105, 109, 97, 116, 105, 111, 110, 32, 58, 36, 123, 97, 110, 105, 109, 97, 116, 105, 111, 110, 73, 100, 125, 96, 41, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 41, 59, 10, 32, 32, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 115, 101, 116, 77, 97, 114, 107, 101, 114, 40, 109, 97, 114, 107, 101, 114, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 116, 104, 105, 115, 46, 95, 100, 111, 116, 76, 111, 116, 116, 105, 101, 67, 111, 114, 101, 32, 61, 61, 61, 32, 110, 117, 108, 108, 41, 32, 114, 101, 116, 117, 114, 110, 59, 10, 32, 32, 32, 32, 32, 32, 116, 104, 105, 115, 46, 95, 100, 111, 116, 76, 111, 116, 116, 105, 101, 67, 111, 114, 101, 46, 115, 101, 116, 67, 111, 110, 102, 105, 103, 40, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 46, 46, 46, 116, 104, 105, 115, 46, 95, 100, 111, 116, 76, 111, 116, 116, 105, 101, 67, 111, 114, 101, 46, 99, 111, 110, 102, 105, 103, 40, 41, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 109, 97, 114, 107, 101, 114, 10, 32, 32, 32, 32, 32, 32, 125, 41, 59, 10, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 109, 97, 114, 107, 101, 114, 115, 40, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 99, 111, 110, 115, 116, 32, 109, 97, 114, 107, 101, 114, 115, 32, 61, 32, 116, 104, 105, 115, 46, 95, 100, 111, 116, 76, 111, 116, 116, 105, 101, 67, 111, 114, 101, 63, 46, 109, 97, 114, 107, 101, 114, 115, 40, 41, 59, 10, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 109, 97, 114, 107, 101, 114, 115, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 99, 111, 110, 115, 116, 32, 114, 101, 115, 117, 108, 116, 32, 61, 32, 91, 93, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 102, 111, 114, 32, 40, 108, 101, 116, 32, 105, 32, 61, 32, 48, 59, 32, 105, 32, 60, 32, 109, 97, 114, 107, 101, 114, 115, 46, 115, 105, 122, 101, 40, 41, 59, 32, 105, 32, 43, 61, 32, 49, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 99, 111, 110, 115, 116, 32, 109, 97, 114, 107, 101, 114, 32, 61, 32, 109, 97, 114, 107, 101, 114, 115, 46, 103, 101, 116, 40, 105, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 115, 117, 108, 116, 46, 112, 117, 115, 104, 40, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 110, 97, 109, 101, 58, 32, 109, 97, 114, 107, 101, 114, 46, 110, 97, 109, 101, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 116, 105, 109, 101, 58, 32, 109, 97, 114, 107, 101, 114, 46, 116, 105, 109, 101, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 100, 117, 114, 97, 116, 105, 111, 110, 58, 32, 109, 97, 114, 107, 101, 114, 46, 100, 117, 114, 97, 116, 105, 111, 110, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 125, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 114, 101, 115, 117, 108, 116, 59, 10, 32, 32, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 91, 93, 59, 10, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 108, 111, 97, 100, 84, 104, 101, 109, 101, 40, 116, 104, 101, 109, 101, 73, 100, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 116, 104, 105, 115, 46, 95, 100, 111, 116, 76, 111, 116, 116, 105, 101, 67, 111, 114, 101, 32, 61, 61, 61, 32, 110, 117, 108, 108, 41, 32, 114, 101, 116, 117, 114, 110, 32, 102, 97, 108, 115, 101, 59, 10, 32, 32, 32, 32, 32, 32, 99, 111, 110, 115, 116, 32, 108, 111, 97, 100, 101, 100, 32, 61, 32, 116, 104, 105, 115, 46, 95, 100, 111, 116, 76, 111, 116, 116, 105, 101, 67, 111, 114, 101, 46, 108, 111, 97, 100, 84, 104, 101, 109, 101, 40, 116, 104, 101, 109, 101, 73, 100, 41, 59, 10, 32, 32, 32, 32, 32, 32, 116, 104, 105, 115, 46, 95, 114, 101, 110, 100, 101, 114, 40, 41, 59, 10, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 108, 111, 97, 100, 101, 100, 59, 10, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 108, 111, 97, 100, 84, 104, 101, 109, 101, 68, 97, 116, 97, 40, 116, 104, 101, 109, 101, 68, 97, 116, 97, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 116, 104, 105, 115, 46, 95, 100, 111, 116, 76, 111, 116, 116, 105, 101, 67, 111, 114, 101, 32, 61, 61, 61, 32, 110, 117, 108, 108, 41, 32, 114, 101, 116, 117, 114, 110, 32, 102, 97, 108, 115, 101, 59, 10, 32, 32, 32, 32, 32, 32, 99, 111, 110, 115, 116, 32, 108, 111, 97, 100, 101, 100, 32, 61, 32, 116, 104, 105, 115, 46, 95, 100, 111, 116, 76, 111, 116, 116, 105, 101, 67, 111, 114, 101, 46, 108, 111, 97, 100, 84, 104, 101, 109, 101, 68, 97, 116, 97, 40, 116, 104, 101, 109, 101, 68, 97, 116, 97, 41, 59, 10, 32, 32, 32, 32, 32, 32, 116, 104, 105, 115, 46, 95, 114, 101, 110, 100, 101, 114, 40, 41, 59, 10, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 108, 111, 97, 100, 101, 100, 59, 10, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 115, 101, 116, 76, 97, 121, 111, 117, 116, 40, 108, 97, 121, 111, 117, 116, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 116, 104, 105, 115, 46, 95, 100, 111, 116, 76, 111, 116, 116, 105, 101, 67, 111, 114, 101, 32, 61, 61, 61, 32, 110, 117, 108, 108, 32, 124, 124, 32, 95, 68, 111, 116, 76, 111, 116, 116, 105, 101, 46, 95, 119, 97, 115, 109, 77, 111, 100, 117, 108, 101, 32, 61, 61, 61, 32, 110, 117, 108, 108, 41, 32, 114, 101, 116, 117, 114, 110, 59, 10, 32, 32, 32, 32, 32, 32, 116, 104, 105, 115, 46, 95, 100, 111, 116, 76, 111, 116, 116, 105, 101, 67, 111, 114, 101, 46, 115, 101, 116, 67, 111, 110, 102, 105, 103, 40, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 46, 46, 46, 116, 104, 105, 115, 46, 95, 100, 111, 116, 76, 111, 116, 116, 105, 101, 67, 111, 114, 101, 46, 99, 111, 110, 102, 105, 103, 40, 41, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 108, 97, 121, 111, 117, 116, 58, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 97, 108, 105, 103, 110, 58, 32, 99, 114, 101, 97, 116, 101, 67, 111, 114, 101, 65, 108, 105, 103, 110, 40, 108, 97, 121, 111, 117, 116, 46, 97, 108, 105, 103, 110, 44, 32, 95, 68, 111, 116, 76, 111, 116, 116, 105, 101, 46, 95, 119, 97, 115, 109, 77, 111, 100, 117, 108, 101, 41, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 102, 105, 116, 58, 32, 99, 114, 101, 97, 116, 101, 67, 111, 114, 101, 70, 105, 116, 40, 108, 97, 121, 111, 117, 116, 46, 102, 105, 116, 44, 32, 95, 68, 111, 116, 76, 111, 116, 116, 105, 101, 46, 95, 119, 97, 115, 109, 77, 111, 100, 117, 108, 101, 41, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 32, 32, 125, 41, 59, 10, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 115, 101, 116, 86, 105, 101, 119, 112, 111, 114, 116, 40, 120, 44, 32, 121, 44, 32, 119, 105, 100, 116, 104, 44, 32, 104, 101, 105, 103, 104, 116, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 116, 104, 105, 115, 46, 95, 100, 111, 116, 76, 111, 116, 116, 105, 101, 67, 111, 114, 101, 32, 61, 61, 61, 32, 110, 117, 108, 108, 41, 32, 114, 101, 116, 117, 114, 110, 32, 102, 97, 108, 115, 101, 59, 10, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 116, 104, 105, 115, 46, 95, 100, 111, 116, 76, 111, 116, 116, 105, 101, 67, 111, 114, 101, 46, 115, 101, 116, 86, 105, 101, 119, 112, 111, 114, 116, 40, 120, 44, 32, 121, 44, 32, 119, 105, 100, 116, 104, 44, 32, 104, 101, 105, 103, 104, 116, 41, 59, 10, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 115, 116, 97, 116, 105, 99, 32, 115, 101, 116, 87, 97, 115, 109, 85, 114, 108, 40, 117, 114, 108, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 68, 111, 116, 76, 111, 116, 116, 105, 101, 87, 97, 115, 109, 76, 111, 97, 100, 101, 114, 46, 115, 101, 116, 87, 97, 115, 109, 85, 114, 108, 40, 117, 114, 108, 41, 59, 10, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 108, 111, 97, 100, 83, 116, 97, 116, 101, 77, 97, 99, 104, 105, 110, 101, 40, 115, 116, 97, 116, 101, 77, 97, 99, 104, 105, 110, 101, 73, 100, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 116, 104, 105, 115, 46, 95, 100, 111, 116, 76, 111, 116, 116, 105, 101, 67, 111, 114, 101, 63, 46, 108, 111, 97, 100, 83, 116, 97, 116, 101, 77, 97, 99, 104, 105, 110, 101, 40, 115, 116, 97, 116, 101, 77, 97, 99, 104, 105, 110, 101, 73, 100, 41, 32, 63, 63, 32, 102, 97, 108, 115, 101, 59, 10, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 115, 116, 97, 114, 116, 83, 116, 97, 116, 101, 77, 97, 99, 104, 105, 110, 101, 40, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 99, 111, 110, 115, 116, 32, 115, 116, 97, 114, 116, 101, 100, 32, 61, 32, 116, 104, 105, 115, 46, 95, 100, 111, 116, 76, 111, 116, 116, 105, 101, 67, 111, 114, 101, 63, 46, 115, 116, 97, 114, 116, 83, 116, 97, 116, 101, 77, 97, 99, 104, 105, 110, 101, 40, 41, 32, 63, 63, 32, 102, 97, 108, 115, 101, 59, 10, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 115, 116, 97, 114, 116, 101, 100, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 116, 104, 105, 115, 46, 95, 115, 101, 116, 117, 112, 83, 116, 97, 116, 101, 77, 97, 99, 104, 105, 110, 101, 76, 105, 115, 116, 101, 110, 101, 114, 115, 40, 41, 59, 10, 32, 32, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 115, 116, 97, 114, 116, 101, 100, 59, 10, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 115, 116, 111, 112, 83, 116, 97, 116, 101, 77, 97, 99, 104, 105, 110, 101, 40, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 99, 111, 110, 115, 116, 32, 115, 116, 111, 112, 112, 101, 100, 32, 61, 32, 116, 104, 105, 115, 46, 95, 100, 111, 116, 76, 111, 116, 116, 105, 101, 67, 111, 114, 101, 63, 46, 115, 116, 111, 112, 83, 116, 97, 116, 101, 77, 97, 99, 104, 105, 110, 101, 40, 41, 32, 63, 63, 32, 102, 97, 108, 115, 101, 59, 10, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 115, 116, 111, 112, 112, 101, 100, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 116, 104, 105, 115, 46, 95, 99, 108, 101, 97, 110, 117, 112, 83, 116, 97, 116, 101, 77, 97, 99, 104, 105, 110, 101, 76, 105, 115, 116, 101, 110, 101, 114, 115, 40, 41, 59, 10, 32, 32, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 115, 116, 111, 112, 112, 101, 100, 59, 10, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 95, 103, 101, 116, 80, 111, 105, 110, 116, 101, 114, 80, 111, 115, 105, 116, 105, 111, 110, 40, 101, 118, 101, 110, 116, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 99, 111, 110, 115, 116, 32, 114, 101, 99, 116, 32, 61, 32, 116, 104, 105, 115, 46, 95, 99, 97, 110, 118, 97, 115, 46, 103, 101, 116, 66, 111, 117, 110, 100, 105, 110, 103, 67, 108, 105, 101, 110, 116, 82, 101, 99, 116, 40, 41, 59, 10, 32, 32, 32, 32, 32, 32, 99, 111, 110, 115, 116, 32, 115, 99, 97, 108, 101, 88, 32, 61, 32, 116, 104, 105, 115, 46, 95, 99, 97, 110, 118, 97, 115, 46, 119, 105, 100, 116, 104, 32, 47, 32, 114, 101, 99, 116, 46, 119, 105, 100, 116, 104, 59, 10, 32, 32, 32, 32, 32, 32, 99, 111, 110, 115, 116, 32, 115, 99, 97, 108, 101, 89, 32, 61, 32, 116, 104, 105, 115, 46, 95, 99, 97, 110, 118, 97, 115, 46, 104, 101, 105, 103, 104, 116, 32, 47, 32, 114, 101, 99, 116, 46, 104, 101, 105, 103, 104, 116, 59, 10, 32, 32, 32, 32, 32, 32, 99, 111, 110, 115, 116, 32, 100, 101, 118, 105, 99, 101, 80, 105, 120, 101, 108, 82, 97, 116, 105, 111, 32, 61, 32, 116, 104, 105, 115, 46, 95, 114, 101, 110, 100, 101, 114, 67, 111, 110, 102, 105, 103, 46, 100, 101, 118, 105, 99, 101, 80, 105, 120, 101, 108, 82, 97, 116, 105, 111, 32, 124, 124, 32, 119, 105, 110, 100, 111, 119, 46, 100, 101, 118, 105, 99, 101, 80, 105, 120, 101, 108, 82, 97, 116, 105, 111, 32, 124, 124, 32, 49, 59, 10, 32, 32, 32, 32, 32, 32, 99, 111, 110, 115, 116, 32, 120, 32, 61, 32, 40, 101, 118, 101, 110, 116, 46, 99, 108, 105, 101, 110, 116, 88, 32, 45, 32, 114, 101, 99, 116, 46, 108, 101, 102, 116, 41, 32, 42, 32, 115, 99, 97, 108, 101, 88, 32, 47, 32, 100, 101, 118, 105, 99, 101, 80, 105, 120, 101, 108, 82, 97, 116, 105, 111, 59, 10, 32, 32, 32, 32, 32, 32, 99, 111, 110, 115, 116, 32, 121, 32, 61, 32, 40, 101, 118, 101, 110, 116, 46, 99, 108, 105, 101, 110, 116, 89, 32, 45, 32, 114, 101, 99, 116, 46, 116, 111, 112, 41, 32, 42, 32, 115, 99, 97, 108, 101, 89, 32, 47, 32, 100, 101, 118, 105, 99, 101, 80, 105, 120, 101, 108, 82, 97, 116, 105, 111, 59, 10, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 120, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 121, 10, 32, 32, 32, 32, 32, 32, 125, 59, 10, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 95, 111, 110, 80, 111, 105, 110, 116, 101, 114, 85, 112, 40, 101, 118, 101, 110, 116, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 99, 111, 110, 115, 116, 32, 123, 32, 120, 44, 32, 121, 32, 125, 32, 61, 32, 116, 104, 105, 115, 46, 95, 103, 101, 116, 80, 111, 105, 110, 116, 101, 114, 80, 111, 115, 105, 116, 105, 111, 110, 40, 101, 118, 101, 110, 116, 41, 59, 10, 32, 32, 32, 32, 32, 32, 116, 104, 105, 115, 46, 112, 111, 115, 116, 83, 116, 97, 116, 101, 77, 97, 99, 104, 105, 110, 101, 69, 118, 101, 110, 116, 40, 96, 79, 110, 80, 111, 105, 110, 116, 101, 114, 85, 112, 58, 32, 36, 123, 120, 125, 32, 36, 123, 121, 125, 96, 41, 59, 10, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 95, 111, 110, 80, 111, 105, 110, 116, 101, 114, 68, 111, 119, 110, 40, 101, 118, 101, 110, 116, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 99, 111, 110, 115, 116, 32, 123, 32, 120, 44, 32, 121, 32, 125, 32, 61, 32, 116, 104, 105, 115, 46, 95, 103, 101, 116, 80, 111, 105, 110, 116, 101, 114, 80, 111, 115, 105, 116, 105, 111, 110, 40, 101, 118, 101, 110, 116, 41, 59, 10, 32, 32, 32, 32, 32, 32, 116, 104, 105, 115, 46, 112, 111, 115, 116, 83, 116, 97, 116, 101, 77, 97, 99, 104, 105, 110, 101, 69, 118, 101, 110, 116, 40, 96, 79, 110, 80, 111, 105, 110, 116, 101, 114, 68, 111, 119, 110, 58, 32, 36, 123, 120, 125, 32, 36, 123, 121, 125, 96, 41, 59, 10, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 95, 111, 110, 80, 111, 105, 110, 116, 101, 114, 77, 111, 118, 101, 40, 101, 118, 101, 110, 116, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 99, 111, 110, 115, 116, 32, 123, 32, 120, 44, 32, 121, 32, 125, 32, 61, 32, 116, 104, 105, 115, 46, 95, 103, 101, 116, 80, 111, 105, 110, 116, 101, 114, 80, 111, 115, 105, 116, 105, 111, 110, 40, 101, 118, 101, 110, 116, 41, 59, 10, 32, 32, 32, 32, 32, 32, 116, 104, 105, 115, 46, 112, 111, 115, 116, 83, 116, 97, 116, 101, 77, 97, 99, 104, 105, 110, 101, 69, 118, 101, 110, 116, 40, 96, 79, 110, 80, 111, 105, 110, 116, 101, 114, 77, 111, 118, 101, 58, 32, 36, 123, 120, 125, 32, 36, 123, 121, 125, 96, 41, 59, 10, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 95, 111, 110, 80, 111, 105, 110, 116, 101, 114, 69, 110, 116, 101, 114, 40, 101, 118, 101, 110, 116, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 99, 111, 110, 115, 116, 32, 123, 32, 120, 44, 32, 121, 32, 125, 32, 61, 32, 116, 104, 105, 115, 46, 95, 103, 101, 116, 80, 111, 105, 110, 116, 101, 114, 80, 111, 115, 105, 116, 105, 111, 110, 40, 101, 118, 101, 110, 116, 41, 59, 10, 32, 32, 32, 32, 32, 32, 116, 104, 105, 115, 46, 112, 111, 115, 116, 83, 116, 97, 116, 101, 77, 97, 99, 104, 105, 110, 101, 69, 118, 101, 110, 116, 40, 96, 79, 110, 80, 111, 105, 110, 116, 101, 114, 69, 110, 116, 101, 114, 58, 32, 36, 123, 120, 125, 32, 36, 123, 121, 125, 96, 41, 59, 10, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 95, 111, 110, 80, 111, 105, 110, 116, 101, 114, 76, 101, 97, 118, 101, 40, 101, 118, 101, 110, 116, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 99, 111, 110, 115, 116, 32, 123, 32, 120, 44, 32, 121, 32, 125, 32, 61, 32, 116, 104, 105, 115, 46, 95, 103, 101, 116, 80, 111, 105, 110, 116, 101, 114, 80, 111, 115, 105, 116, 105, 111, 110, 40, 101, 118, 101, 110, 116, 41, 59, 10, 32, 32, 32, 32, 32, 32, 116, 104, 105, 115, 46, 112, 111, 115, 116, 83, 116, 97, 116, 101, 77, 97, 99, 104, 105, 110, 101, 69, 118, 101, 110, 116, 40, 96, 79, 110, 80, 111, 105, 110, 116, 101, 114, 69, 120, 105, 116, 58, 32, 36, 123, 120, 125, 32, 36, 123, 121, 125, 96, 41, 59, 10, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 95, 111, 110, 67, 111, 109, 112, 108, 101, 116, 101, 40, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 116, 104, 105, 115, 46, 112, 111, 115, 116, 83, 116, 97, 116, 101, 77, 97, 99, 104, 105, 110, 101, 69, 118, 101, 110, 116, 40, 34, 79, 110, 67, 111, 109, 112, 108, 101, 116, 101, 34, 41, 59, 10, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 47, 42, 42, 10, 32, 32, 32, 32, 32, 42, 32, 64, 101, 120, 112, 101, 114, 105, 109, 101, 110, 116, 97, 108, 10, 32, 32, 32, 32, 32, 42, 32, 64, 112, 97, 114, 97, 109, 32, 101, 118, 101, 110, 116, 32, 45, 32, 84, 104, 101, 32, 101, 118, 101, 110, 116, 32, 116, 111, 32, 98, 101, 32, 112, 111, 115, 116, 101, 100, 32, 116, 111, 32, 116, 104, 101, 32, 115, 116, 97, 116, 101, 32, 109, 97, 99, 104, 105, 110, 101, 10, 32, 32, 32, 32, 32, 42, 32, 64, 114, 101, 116, 117, 114, 110, 115, 32, 98, 111, 111, 108, 101, 97, 110, 32, 45, 32, 116, 114, 117, 101, 32, 105, 102, 32, 116, 104, 101, 32, 101, 118, 101, 110, 116, 32, 119, 97, 115, 32, 112, 111, 115, 116, 101, 100, 32, 115, 117, 99, 99, 101, 115, 115, 102, 117, 108, 108, 121, 44, 32, 102, 97, 108, 115, 101, 32, 111, 116, 104, 101, 114, 119, 105, 115, 101, 10, 32, 32, 32, 32, 32, 42, 47, 10, 32, 32, 32, 32, 112, 111, 115, 116, 83, 116, 97, 116, 101, 77, 97, 99, 104, 105, 110, 101, 69, 118, 101, 110, 116, 40, 101, 118, 101, 110, 116, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 99, 111, 110, 115, 116, 32, 114, 116, 32, 61, 32, 116, 104, 105, 115, 46, 95, 100, 111, 116, 76, 111, 116, 116, 105, 101, 67, 111, 114, 101, 63, 46, 112, 111, 115, 116, 69, 118, 101, 110, 116, 80, 97, 121, 108, 111, 97, 100, 40, 101, 118, 101, 110, 116, 41, 32, 63, 63, 32, 49, 59, 10, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 114, 116, 32, 61, 61, 61, 32, 50, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 116, 104, 105, 115, 46, 112, 108, 97, 121, 40, 41, 59, 10, 32, 32, 32, 32, 32, 32, 125, 32, 101, 108, 115, 101, 32, 105, 102, 32, 40, 114, 116, 32, 61, 61, 61, 32, 51, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 116, 104, 105, 115, 46, 112, 97, 117, 115, 101, 40, 41, 59, 10, 32, 32, 32, 32, 32, 32, 125, 32, 101, 108, 115, 101, 32, 105, 102, 32, 40, 114, 116, 32, 61, 61, 61, 32, 52, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 116, 104, 105, 115, 46, 95, 114, 101, 110, 100, 101, 114, 40, 41, 59, 10, 32, 32, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 114, 116, 59, 10, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 103, 101, 116, 83, 116, 97, 116, 101, 77, 97, 99, 104, 105, 110, 101, 76, 105, 115, 116, 101, 110, 101, 114, 115, 40, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 33, 116, 104, 105, 115, 46, 95, 100, 111, 116, 76, 111, 116, 116, 105, 101, 67, 111, 114, 101, 41, 32, 114, 101, 116, 117, 114, 110, 32, 91, 93, 59, 10, 32, 32, 32, 32, 32, 32, 99, 111, 110, 115, 116, 32, 108, 105, 115, 116, 101, 110, 101, 114, 115, 86, 101, 99, 116, 111, 114, 32, 61, 32, 116, 104, 105, 115, 46, 95, 100, 111, 116, 76, 111, 116, 116, 105, 101, 67, 111, 114, 101, 46, 115, 116, 97, 116, 101, 77, 97, 99, 104, 105, 110, 101, 70, 114, 97, 109, 101, 119, 111, 114, 107, 83, 101, 116, 117, 112, 40, 41, 59, 10, 32, 32, 32, 32, 32, 32, 99, 111, 110, 115, 116, 32, 108, 105, 115, 116, 101, 110, 101, 114, 115, 32, 61, 32, 91, 93, 59, 10, 32, 32, 32, 32, 32, 32, 102, 111, 114, 32, 40, 108, 101, 116, 32, 105, 32, 61, 32, 48, 59, 32, 105, 32, 60, 32, 108, 105, 115, 116, 101, 110, 101, 114, 115, 86, 101, 99, 116, 111, 114, 46, 115, 105, 122, 101, 40, 41, 59, 32, 105, 32, 43, 61, 32, 49, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 108, 105, 115, 116, 101, 110, 101, 114, 115, 46, 112, 117, 115, 104, 40, 108, 105, 115, 116, 101, 110, 101, 114, 115, 86, 101, 99, 116, 111, 114, 46, 103, 101, 116, 40, 105, 41, 41, 59, 10, 32, 32, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 108, 105, 115, 116, 101, 110, 101, 114, 115, 59, 10, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 95, 115, 101, 116, 117, 112, 83, 116, 97, 116, 101, 77, 97, 99, 104, 105, 110, 101, 76, 105, 115, 116, 101, 110, 101, 114, 115, 40, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 73, 83, 95, 66, 82, 79, 87, 83, 69, 82, 32, 38, 38, 32, 116, 104, 105, 115, 46, 95, 99, 97, 110, 118, 97, 115, 32, 105, 110, 115, 116, 97, 110, 99, 101, 111, 102, 32, 72, 84, 77, 76, 67, 97, 110, 118, 97, 115, 69, 108, 101, 109, 101, 110, 116, 32, 38, 38, 32, 116, 104, 105, 115, 46, 95, 100, 111, 116, 76, 111, 116, 116, 105, 101, 67, 111, 114, 101, 32, 33, 61, 61, 32, 110, 117, 108, 108, 32, 38, 38, 32, 116, 104, 105, 115, 46, 105, 115, 76, 111, 97, 100, 101, 100, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 99, 111, 110, 115, 116, 32, 108, 105, 115, 116, 101, 110, 101, 114, 115, 32, 61, 32, 116, 104, 105, 115, 46, 103, 101, 116, 83, 116, 97, 116, 101, 77, 97, 99, 104, 105, 110, 101, 76, 105, 115, 116, 101, 110, 101, 114, 115, 40, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 108, 105, 115, 116, 101, 110, 101, 114, 115, 46, 105, 110, 99, 108, 117, 100, 101, 115, 40, 34, 80, 111, 105, 110, 116, 101, 114, 85, 112, 34, 41, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 116, 104, 105, 115, 46, 95, 99, 97, 110, 118, 97, 115, 46, 97, 100, 100, 69, 118, 101, 110, 116, 76, 105, 115, 116, 101, 110, 101, 114, 40, 34, 112, 111, 105, 110, 116, 101, 114, 117, 112, 34, 44, 32, 116, 104, 105, 115, 46, 95, 112, 111, 105, 110, 116, 101, 114, 85, 112, 77, 101, 116, 104, 111, 100, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 108, 105, 115, 116, 101, 110, 101, 114, 115, 46, 105, 110, 99, 108, 117, 100, 101, 115, 40, 34, 80, 111, 105, 110, 116, 101, 114, 68, 111, 119, 110, 34, 41, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 116, 104, 105, 115, 46, 95, 99, 97, 110, 118, 97, 115, 46, 97, 100, 100, 69, 118, 101, 110, 116, 76, 105, 115, 116, 101, 110, 101, 114, 40, 34, 112, 111, 105, 110, 116, 101, 114, 100, 111, 119, 110, 34, 44, 32, 116, 104, 105, 115, 46, 95, 112, 111, 105, 110, 116, 101, 114, 68, 111, 119, 110, 77, 101, 116, 104, 111, 100, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 108, 105, 115, 116, 101, 110, 101, 114, 115, 46, 105, 110, 99, 108, 117, 100, 101, 115, 40, 34, 80, 111, 105, 110, 116, 101, 114, 77, 111, 118, 101, 34, 41, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 116, 104, 105, 115, 46, 95, 99, 97, 110, 118, 97, 115, 46, 97, 100, 100, 69, 118, 101, 110, 116, 76, 105, 115, 116, 101, 110, 101, 114, 40, 34, 112, 111, 105, 110, 116, 101, 114, 109, 111, 118, 101, 34, 44, 32, 116, 104, 105, 115, 46, 95, 112, 111, 105, 110, 116, 101, 114, 77, 111, 118, 101, 77, 101, 116, 104, 111, 100, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 108, 105, 115, 116, 101, 110, 101, 114, 115, 46, 105, 110, 99, 108, 117, 100, 101, 115, 40, 34, 80, 111, 105, 110, 116, 101, 114, 69, 110, 116, 101, 114, 34, 41, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 116, 104, 105, 115, 46, 95, 99, 97, 110, 118, 97, 115, 46, 97, 100, 100, 69, 118, 101, 110, 116, 76, 105, 115, 116, 101, 110, 101, 114, 40, 34, 112, 111, 105, 110, 116, 101, 114, 101, 110, 116, 101, 114, 34, 44, 32, 116, 104, 105, 115, 46, 95, 112, 111, 105, 110, 116, 101, 114, 69, 110, 116, 101, 114, 77, 101, 116, 104, 111, 100, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 108, 105, 115, 116, 101, 110, 101, 114, 115, 46, 105, 110, 99, 108, 117, 100, 101, 115, 40, 34, 80, 111, 105, 110, 116, 101, 114, 69, 120, 105, 116, 34, 41, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 116, 104, 105, 115, 46, 95, 99, 97, 110, 118, 97, 115, 46, 97, 100, 100, 69, 118, 101, 110, 116, 76, 105, 115, 116, 101, 110, 101, 114, 40, 34, 112, 111, 105, 110, 116, 101, 114, 108, 101, 97, 118, 101, 34, 44, 32, 116, 104, 105, 115, 46, 95, 112, 111, 105, 110, 116, 101, 114, 69, 120, 105, 116, 77, 101, 116, 104, 111, 100, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 108, 105, 115, 116, 101, 110, 101, 114, 115, 46, 105, 110, 99, 108, 117, 100, 101, 115, 40, 34, 67, 111, 109, 112, 108, 101, 116, 101, 34, 41, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 116, 104, 105, 115, 46, 97, 100, 100, 69, 118, 101, 110, 116, 76, 105, 115, 116, 101, 110, 101, 114, 40, 34, 99, 111, 109, 112, 108, 101, 116, 101, 34, 44, 32, 116, 104, 105, 115, 46, 95, 111, 110, 67, 111, 109, 112, 108, 101, 116, 101, 77, 101, 116, 104, 111, 100, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 95, 99, 108, 101, 97, 110, 117, 112, 83, 116, 97, 116, 101, 77, 97, 99, 104, 105, 110, 101, 76, 105, 115, 116, 101, 110, 101, 114, 115, 40, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 73, 83, 95, 66, 82, 79, 87, 83, 69, 82, 32, 38, 38, 32, 116, 104, 105, 115, 46, 95, 99, 97, 110, 118, 97, 115, 32, 105, 110, 115, 116, 97, 110, 99, 101, 111, 102, 32, 72, 84, 77, 76, 67, 97, 110, 118, 97, 115, 69, 108, 101, 109, 101, 110, 116, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 116, 104, 105, 115, 46, 95, 99, 97, 110, 118, 97, 115, 46, 114, 101, 109, 111, 118, 101, 69, 118, 101, 110, 116, 76, 105, 115, 116, 101, 110, 101, 114, 40, 34, 112, 111, 105, 110, 116, 101, 114, 117, 112, 34, 44, 32, 116, 104, 105, 115, 46, 95, 112, 111, 105, 110, 116, 101, 114, 85, 112, 77, 101, 116, 104, 111, 100, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 116, 104, 105, 115, 46, 95, 99, 97, 110, 118, 97, 115, 46, 114, 101, 109, 111, 118, 101, 69, 118, 101, 110, 116, 76, 105, 115, 116, 101, 110, 101, 114, 40, 34, 112, 111, 105, 110, 116, 101, 114, 100, 111, 119, 110, 34, 44, 32, 116, 104, 105, 115, 46, 95, 112, 111, 105, 110, 116, 101, 114, 68, 111, 119, 110, 77, 101, 116, 104, 111, 100, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 116, 104, 105, 115, 46, 95, 99, 97, 110, 118, 97, 115, 46, 114, 101, 109, 111, 118, 101, 69, 118, 101, 110, 116, 76, 105, 115, 116, 101, 110, 101, 114, 40, 34, 112, 111, 105, 110, 116, 101, 114, 109, 111, 118, 101, 34, 44, 32, 116, 104, 105, 115, 46, 95, 112, 111, 105, 110, 116, 101, 114, 77, 111, 118, 101, 77, 101, 116, 104, 111, 100, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 116, 104, 105, 115, 46, 95, 99, 97, 110, 118, 97, 115, 46, 114, 101, 109, 111, 118, 101, 69, 118, 101, 110, 116, 76, 105, 115, 116, 101, 110, 101, 114, 40, 34, 112, 111, 105, 110, 116, 101, 114, 101, 110, 116, 101, 114, 34, 44, 32, 116, 104, 105, 115, 46, 95, 112, 111, 105, 110, 116, 101, 114, 69, 110, 116, 101, 114, 77, 101, 116, 104, 111, 100, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 116, 104, 105, 115, 46, 95, 99, 97, 110, 118, 97, 115, 46, 114, 101, 109, 111, 118, 101, 69, 118, 101, 110, 116, 76, 105, 115, 116, 101, 110, 101, 114, 40, 34, 112, 111, 105, 110, 116, 101, 114, 108, 101, 97, 118, 101, 34, 44, 32, 116, 104, 105, 115, 46, 95, 112, 111, 105, 110, 116, 101, 114, 69, 120, 105, 116, 77, 101, 116, 104, 111, 100, 41, 59, 10, 32, 32, 32, 32, 32, 32, 32, 32, 116, 104, 105, 115, 46, 114, 101, 109, 111, 118, 101, 69, 118, 101, 110, 116, 76, 105, 115, 116, 101, 110, 101, 114, 40, 34, 99, 111, 109, 112, 108, 101, 116, 101, 34, 44, 32, 116, 104, 105, 115, 46, 95, 111, 110, 67, 111, 109, 112, 108, 101, 116, 101, 77, 101, 116, 104, 111, 100, 41, 59, 10, 32, 32, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 108, 111, 97, 100, 83, 116, 97, 116, 101, 77, 97, 99, 104, 105, 110, 101, 68, 97, 116, 97, 40, 115, 116, 97, 116, 101, 77, 97, 99, 104, 105, 110, 101, 68, 97, 116, 97, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 116, 104, 105, 115, 46, 95, 100, 111, 116, 76, 111, 116, 116, 105, 101, 67, 111, 114, 101, 63, 46, 108, 111, 97, 100, 83, 116, 97, 116, 101, 77, 97, 99, 104, 105, 110, 101, 68, 97, 116, 97, 40, 115, 116, 97, 116, 101, 77, 97, 99, 104, 105, 110, 101, 68, 97, 116, 97, 41, 32, 63, 63, 32, 102, 97, 108, 115, 101, 59, 10, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 97, 110, 105, 109, 97, 116, 105, 111, 110, 83, 105, 122, 101, 40, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 99, 111, 110, 115, 116, 32, 119, 105, 100, 116, 104, 32, 61, 32, 116, 104, 105, 115, 46, 95, 100, 111, 116, 76, 111, 116, 116, 105, 101, 67, 111, 114, 101, 63, 46, 97, 110, 105, 109, 97, 116, 105, 111, 110, 83, 105, 122, 101, 40, 41, 46, 103, 101, 116, 40, 48, 41, 32, 63, 63, 32, 48, 59, 10, 32, 32, 32, 32, 32, 32, 99, 111, 110, 115, 116, 32, 104, 101, 105, 103, 104, 116, 32, 61, 32, 116, 104, 105, 115, 46, 95, 100, 111, 116, 76, 111, 116, 116, 105, 101, 67, 111, 114, 101, 63, 46, 97, 110, 105, 109, 97, 116, 105, 111, 110, 83, 105, 122, 101, 40, 41, 46, 103, 101, 116, 40, 49, 41, 32, 63, 63, 32, 48, 59, 10, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 119, 105, 100, 116, 104, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 104, 101, 105, 103, 104, 116, 10, 32, 32, 32, 32, 32, 32, 125, 59, 10, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 115, 101, 116, 83, 116, 97, 116, 101, 77, 97, 99, 104, 105, 110, 101, 66, 111, 111, 108, 101, 97, 110, 67, 111, 110, 116, 101, 120, 116, 40, 110, 97, 109, 101, 44, 32, 118, 97, 108, 117, 101, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 116, 104, 105, 115, 46, 95, 100, 111, 116, 76, 111, 116, 116, 105, 101, 67, 111, 114, 101, 63, 46, 115, 101, 116, 83, 116, 97, 116, 101, 77, 97, 99, 104, 105, 110, 101, 66, 111, 111, 108, 101, 97, 110, 67, 111, 110, 116, 101, 120, 116, 40, 110, 97, 109, 101, 44, 32, 118, 97, 108, 117, 101, 41, 32, 63, 63, 32, 102, 97, 108, 115, 101, 59, 10, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 115, 101, 116, 83, 116, 97, 116, 101, 77, 97, 99, 104, 105, 110, 101, 78, 117, 109, 101, 114, 105, 99, 67, 111, 110, 116, 101, 120, 116, 40, 110, 97, 109, 101, 44, 32, 118, 97, 108, 117, 101, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 116, 104, 105, 115, 46, 95, 100, 111, 116, 76, 111, 116, 116, 105, 101, 67, 111, 114, 101, 63, 46, 115, 101, 116, 83, 116, 97, 116, 101, 77, 97, 99, 104, 105, 110, 101, 78, 117, 109, 101, 114, 105, 99, 67, 111, 110, 116, 101, 120, 116, 40, 110, 97, 109, 101, 44, 32, 118, 97, 108, 117, 101, 41, 32, 63, 63, 32, 102, 97, 108, 115, 101, 59, 10, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 115, 101, 116, 83, 116, 97, 116, 101, 77, 97, 99, 104, 105, 110, 101, 83, 116, 114, 105, 110, 103, 67, 111, 110, 116, 101, 120, 116, 40, 110, 97, 109, 101, 44, 32, 118, 97, 108, 117, 101, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 116, 104, 105, 115, 46, 95, 100, 111, 116, 76, 111, 116, 116, 105, 101, 67, 111, 114, 101, 63, 46, 115, 101, 116, 83, 116, 97, 116, 101, 77, 97, 99, 104, 105, 110, 101, 83, 116, 114, 105, 110, 103, 67, 111, 110, 116, 101, 120, 116, 40, 110, 97, 109, 101, 44, 32, 118, 97, 108, 117, 101, 41, 32, 63, 63, 32, 102, 97, 108, 115, 101, 59, 10, 32, 32, 32, 32, 125, 10, 32, 32, 125, 59, 10, 32, 32, 95, 95, 112, 117, 98, 108, 105, 99, 70, 105, 101, 108, 100, 40, 95, 68, 111, 116, 76, 111, 116, 116, 105, 101, 44, 32, 34, 95, 119, 97, 115, 109, 77, 111, 100, 117, 108, 101, 34, 44, 32, 110, 117, 108, 108, 41, 59, 10, 32, 32, 118, 97, 114, 32, 68, 111, 116, 76, 111, 116, 116, 105, 101, 32, 61, 32, 95, 68, 111, 116, 76, 111, 116, 116, 105, 101, 59, 10, 10, 32, 32, 47, 47, 32, 115, 114, 99, 47, 119, 111, 114, 107, 101, 114, 47, 100, 111, 116, 108, 111, 116, 116, 105, 101, 46, 119, 111, 114, 107, 101, 114, 46, 116, 115, 10, 32, 32, 118, 97, 114, 32, 105, 110, 115, 116, 97, 110, 99, 101, 115, 77, 97, 112, 32, 61, 32, 47, 42, 32, 64, 95, 95, 80, 85, 82, 69, 95, 95, 32, 42, 47, 32, 110, 101, 119, 32, 77, 97, 112, 40, 41, 59, 10, 32, 32, 118, 97, 114, 32, 101, 118, 101, 110, 116, 72, 97, 110, 100, 108, 101, 114, 77, 97, 112, 32, 61, 32, 123, 10, 32, 32, 32, 32, 114, 101, 97, 100, 121, 58, 32, 40, 105, 110, 115, 116, 97, 110, 99, 101, 73, 100, 41, 32, 61, 62, 32, 40, 101, 118, 101, 110, 116, 41, 32, 61, 62, 32, 123, 10, 32, 32, 32, 32, 32, 32, 99, 111, 110, 115, 116, 32, 114, 101, 115, 112, 111, 110, 115, 101, 32, 61, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 105, 100, 58, 32, 34, 34, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 109, 101, 116, 104, 111, 100, 58, 32, 34, 111, 110, 82, 101, 97, 100, 121, 34, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 115, 117, 108, 116, 58, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 105, 110, 115, 116, 97, 110, 99, 101, 73, 100, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 101, 118, 101, 110, 116, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 32, 32, 125, 59, 10, 32, 32, 32, 32, 32, 32, 115, 101, 108, 102, 46, 112, 111, 115, 116, 77, 101, 115, 115, 97, 103, 101, 40, 114, 101, 115, 112, 111, 110, 115, 101, 41, 59, 10, 32, 32, 32, 32, 125, 44, 10, 32, 32, 32, 32, 99, 111, 109, 112, 108, 101, 116, 101, 58, 32, 40, 105, 110, 115, 116, 97, 110, 99, 101, 73, 100, 41, 32, 61, 62, 32, 40, 101, 118, 101, 110, 116, 41, 32, 61, 62, 32, 123, 10, 32, 32, 32, 32, 32, 32, 99, 111, 110, 115, 116, 32, 114, 101, 115, 112, 111, 110, 115, 101, 32, 61, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 105, 100, 58, 32, 34, 34, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 109, 101, 116, 104, 111, 100, 58, 32, 34, 111, 110, 67, 111, 109, 112, 108, 101, 116, 101, 34, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 115, 117, 108, 116, 58, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 105, 110, 115, 116, 97, 110, 99, 101, 73, 100, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 101, 118, 101, 110, 116, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 32, 32, 125, 59, 10, 32, 32, 32, 32, 32, 32, 115, 101, 108, 102, 46, 112, 111, 115, 116, 77, 101, 115, 115, 97, 103, 101, 40, 114, 101, 115, 112, 111, 110, 115, 101, 41, 59, 10, 32, 32, 32, 32, 125, 44, 10, 32, 32, 32, 32, 108, 111, 97, 100, 58, 32, 40, 105, 110, 115, 116, 97, 110, 99, 101, 73, 100, 41, 32, 61, 62, 32, 40, 101, 118, 101, 110, 116, 41, 32, 61, 62, 32, 123, 10, 32, 32, 32, 32, 32, 32, 99, 111, 110, 115, 116, 32, 108, 111, 97, 100, 69, 118, 101, 110, 116, 32, 61, 32, 101, 118, 101, 110, 116, 59, 10, 32, 32, 32, 32, 32, 32, 99, 111, 110, 115, 116, 32, 114, 101, 115, 112, 111, 110, 115, 101, 32, 61, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 105, 100, 58, 32, 34, 34, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 109, 101, 116, 104, 111, 100, 58, 32, 34, 111, 110, 76, 111, 97, 100, 34, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 115, 117, 108, 116, 58, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 105, 110, 115, 116, 97, 110, 99, 101, 73, 100, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 101, 118, 101, 110, 116, 58, 32, 108, 111, 97, 100, 69, 118, 101, 110, 116, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 32, 32, 125, 59, 10, 32, 32, 32, 32, 32, 32, 115, 101, 108, 102, 46, 112, 111, 115, 116, 77, 101, 115, 115, 97, 103, 101, 40, 114, 101, 115, 112, 111, 110, 115, 101, 41, 59, 10, 32, 32, 32, 32, 125, 44, 10, 32, 32, 32, 32, 108, 111, 97, 100, 69, 114, 114, 111, 114, 58, 32, 40, 105, 110, 115, 116, 97, 110, 99, 101, 73, 100, 41, 32, 61, 62, 32, 40, 101, 118, 101, 110, 116, 41, 32, 61, 62, 32, 123, 10, 32, 32, 32, 32, 32, 32, 99, 111, 110, 115, 116, 32, 108, 111, 97, 100, 69, 114, 114, 111, 114, 69, 118, 101, 110, 116, 32, 61, 32, 101, 118, 101, 110, 116, 59, 10, 32, 32, 32, 32, 32, 32, 99, 111, 110, 115, 116, 32, 114, 101, 115, 112, 111, 110, 115, 101, 32, 61, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 105, 100, 58, 32, 34, 34, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 109, 101, 116, 104, 111, 100, 58, 32, 34, 111, 110, 76, 111, 97, 100, 69, 114, 114, 111, 114, 34, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 115, 117, 108, 116, 58, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 105, 110, 115, 116, 97, 110, 99, 101, 73, 100, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 101, 118, 101, 110, 116, 58, 32, 108, 111, 97, 100, 69, 114, 114, 111, 114, 69, 118, 101, 110, 116, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 32, 32, 125, 59, 10, 32, 32, 32, 32, 32, 32, 115, 101, 108, 102, 46, 112, 111, 115, 116, 77, 101, 115, 115, 97, 103, 101, 40, 114, 101, 115, 112, 111, 110, 115, 101, 41, 59, 10, 32, 32, 32, 32, 125, 44, 10, 32, 32, 32, 32, 108, 111, 111, 112, 58, 32, 40, 105, 110, 115, 116, 97, 110, 99, 101, 73, 100, 41, 32, 61, 62, 32, 40, 101, 118, 101, 110, 116, 41, 32, 61, 62, 32, 123, 10, 32, 32, 32, 32, 32, 32, 99, 111, 110, 115, 116, 32, 108, 111, 111, 112, 69, 118, 101, 110, 116, 32, 61, 32, 101, 118, 101, 110, 116, 59, 10, 32, 32, 32, 32, 32, 32, 99, 111, 110, 115, 116, 32, 114, 101, 115, 112, 111, 110, 115, 101, 32, 61, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 105, 100, 58, 32, 34, 34, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 109, 101, 116, 104, 111, 100, 58, 32, 34, 111, 110, 76, 111, 111, 112, 34, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 115, 117, 108, 116, 58, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 105, 110, 115, 116, 97, 110, 99, 101, 73, 100, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 101, 118, 101, 110, 116, 58, 32, 108, 111, 111, 112, 69, 118, 101, 110, 116, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 32, 32, 125, 59, 10, 32, 32, 32, 32, 32, 32, 115, 101, 108, 102, 46, 112, 111, 115, 116, 77, 101, 115, 115, 97, 103, 101, 40, 114, 101, 115, 112, 111, 110, 115, 101, 41, 59, 10, 32, 32, 32, 32, 125, 44, 10, 32, 32, 32, 32, 112, 108, 97, 121, 58, 32, 40, 105, 110, 115, 116, 97, 110, 99, 101, 73, 100, 41, 32, 61, 62, 32, 40, 101, 118, 101, 110, 116, 41, 32, 61, 62, 32, 123, 10, 32, 32, 32, 32, 32, 32, 99, 111, 110, 115, 116, 32, 112, 108, 97, 121, 69, 118, 101, 110, 116, 32, 61, 32, 101, 118, 101, 110, 116, 59, 10, 32, 32, 32, 32, 32, 32, 99, 111, 110, 115, 116, 32, 114, 101, 115, 112, 111, 110, 115, 101, 32, 61, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 105, 100, 58, 32, 34, 34, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 109, 101, 116, 104, 111, 100, 58, 32, 34, 111, 110, 80, 108, 97, 121, 34, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 115, 117, 108, 116, 58, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 105, 110, 115, 116, 97, 110, 99, 101, 73, 100, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 101, 118, 101, 110, 116, 58, 32, 112, 108, 97, 121, 69, 118, 101, 110, 116, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 32, 32, 125, 59, 10, 32, 32, 32, 32, 32, 32, 115, 101, 108, 102, 46, 112, 111, 115, 116, 77, 101, 115, 115, 97, 103, 101, 40, 114, 101, 115, 112, 111, 110, 115, 101, 41, 59, 10, 32, 32, 32, 32, 125, 44, 10, 32, 32, 32, 32, 112, 97, 117, 115, 101, 58, 32, 40, 105, 110, 115, 116, 97, 110, 99, 101, 73, 100, 41, 32, 61, 62, 32, 40, 101, 118, 101, 110, 116, 41, 32, 61, 62, 32, 123, 10, 32, 32, 32, 32, 32, 32, 99, 111, 110, 115, 116, 32, 112, 97, 117, 115, 101, 69, 118, 101, 110, 116, 32, 61, 32, 101, 118, 101, 110, 116, 59, 10, 32, 32, 32, 32, 32, 32, 99, 111, 110, 115, 116, 32, 114, 101, 115, 112, 111, 110, 115, 101, 32, 61, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 105, 100, 58, 32, 34, 34, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 109, 101, 116, 104, 111, 100, 58, 32, 34, 111, 110, 80, 97, 117, 115, 101, 34, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 115, 117, 108, 116, 58, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 105, 110, 115, 116, 97, 110, 99, 101, 73, 100, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 101, 118, 101, 110, 116, 58, 32, 112, 97, 117, 115, 101, 69, 118, 101, 110, 116, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 32, 32, 125, 59, 10, 32, 32, 32, 32, 32, 32, 115, 101, 108, 102, 46, 112, 111, 115, 116, 77, 101, 115, 115, 97, 103, 101, 40, 114, 101, 115, 112, 111, 110, 115, 101, 41, 59, 10, 32, 32, 32, 32, 125, 44, 10, 32, 32, 32, 32, 115, 116, 111, 112, 58, 32, 40, 105, 110, 115, 116, 97, 110, 99, 101, 73, 100, 41, 32, 61, 62, 32, 40, 101, 118, 101, 110, 116, 41, 32, 61, 62, 32, 123, 10, 32, 32, 32, 32, 32, 32, 99, 111, 110, 115, 116, 32, 115, 116, 111, 112, 69, 118, 101, 110, 116, 32, 61, 32, 101, 118, 101, 110, 116, 59, 10, 32, 32, 32, 32, 32, 32, 99, 111, 110, 115, 116, 32, 114, 101, 115, 112, 111, 110, 115, 101, 32, 61, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 105, 100, 58, 32, 34, 34, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 109, 101, 116, 104, 111, 100, 58, 32, 34, 111, 110, 83, 116, 111, 112, 34, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 115, 117, 108, 116, 58, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 105, 110, 115, 116, 97, 110, 99, 101, 73, 100, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 101, 118, 101, 110, 116, 58, 32, 115, 116, 111, 112, 69, 118, 101, 110, 116, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 32, 32, 125, 59, 10, 32, 32, 32, 32, 32, 32, 115, 101, 108, 102, 46, 112, 111, 115, 116, 77, 101, 115, 115, 97, 103, 101, 40, 114, 101, 115, 112, 111, 110, 115, 101, 41, 59, 10, 32, 32, 32, 32, 125, 44, 10, 32, 32, 32, 32, 102, 114, 97, 109, 101, 58, 32, 40, 105, 110, 115, 116, 97, 110, 99, 101, 73, 100, 41, 32, 61, 62, 32, 40, 101, 118, 101, 110, 116, 41, 32, 61, 62, 32, 123, 10, 32, 32, 32, 32, 32, 32, 99, 111, 110, 115, 116, 32, 102, 114, 97, 109, 101, 69, 118, 101, 110, 116, 32, 61, 32, 101, 118, 101, 110, 116, 59, 10, 32, 32, 32, 32, 32, 32, 99, 111, 110, 115, 116, 32, 114, 101, 115, 112, 111, 110, 115, 101, 32, 61, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 105, 100, 58, 32, 34, 34, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 109, 101, 116, 104, 111, 100, 58, 32, 34, 111, 110, 70, 114, 97, 109, 101, 34, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 115, 117, 108, 116, 58, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 105, 110, 115, 116, 97, 110, 99, 101, 73, 100, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 101, 118, 101, 110, 116, 58, 32, 102, 114, 97, 109, 101, 69, 118, 101, 110, 116, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 32, 32, 125, 59, 10, 32, 32, 32, 32, 32, 32, 115, 101, 108, 102, 46, 112, 111, 115, 116, 77, 101, 115, 115, 97, 103, 101, 40, 114, 101, 115, 112, 111, 110, 115, 101, 41, 59, 10, 32, 32, 32, 32, 125, 44, 10, 32, 32, 32, 32, 114, 101, 110, 100, 101, 114, 58, 32, 40, 105, 110, 115, 116, 97, 110, 99, 101, 73, 100, 41, 32, 61, 62, 32, 40, 101, 118, 101, 110, 116, 41, 32, 61, 62, 32, 123, 10, 32, 32, 32, 32, 32, 32, 99, 111, 110, 115, 116, 32, 114, 101, 110, 100, 101, 114, 69, 118, 101, 110, 116, 32, 61, 32, 101, 118, 101, 110, 116, 59, 10, 32, 32, 32, 32, 32, 32, 99, 111, 110, 115, 116, 32, 114, 101, 115, 112, 111, 110, 115, 101, 32, 61, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 105, 100, 58, 32, 34, 34, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 109, 101, 116, 104, 111, 100, 58, 32, 34, 111, 110, 82, 101, 110, 100, 101, 114, 34, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 115, 117, 108, 116, 58, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 105, 110, 115, 116, 97, 110, 99, 101, 73, 100, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 101, 118, 101, 110, 116, 58, 32, 114, 101, 110, 100, 101, 114, 69, 118, 101, 110, 116, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 32, 32, 125, 59, 10, 32, 32, 32, 32, 32, 32, 115, 101, 108, 102, 46, 112, 111, 115, 116, 77, 101, 115, 115, 97, 103, 101, 40, 114, 101, 115, 112, 111, 110, 115, 101, 41, 59, 10, 32, 32, 32, 32, 125, 44, 10, 32, 32, 32, 32, 102, 114, 101, 101, 122, 101, 58, 32, 40, 105, 110, 115, 116, 97, 110, 99, 101, 73, 100, 41, 32, 61, 62, 32, 40, 101, 118, 101, 110, 116, 41, 32, 61, 62, 32, 123, 10, 32, 32, 32, 32, 32, 32, 99, 111, 110, 115, 116, 32, 102, 114, 101, 101, 122, 101, 69, 118, 101, 110, 116, 32, 61, 32, 101, 118, 101, 110, 116, 59, 10, 32, 32, 32, 32, 32, 32, 99, 111, 110, 115, 116, 32, 114, 101, 115, 112, 111, 110, 115, 101, 32, 61, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 105, 100, 58, 32, 34, 34, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 109, 101, 116, 104, 111, 100, 58, 32, 34, 111, 110, 70, 114, 101, 101, 122, 101, 34, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 115, 117, 108, 116, 58, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 105, 110, 115, 116, 97, 110, 99, 101, 73, 100, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 101, 118, 101, 110, 116, 58, 32, 102, 114, 101, 101, 122, 101, 69, 118, 101, 110, 116, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 32, 32, 125, 59, 10, 32, 32, 32, 32, 32, 32, 115, 101, 108, 102, 46, 112, 111, 115, 116, 77, 101, 115, 115, 97, 103, 101, 40, 114, 101, 115, 112, 111, 110, 115, 101, 41, 59, 10, 32, 32, 32, 32, 125, 44, 10, 32, 32, 32, 32, 117, 110, 102, 114, 101, 101, 122, 101, 58, 32, 40, 105, 110, 115, 116, 97, 110, 99, 101, 73, 100, 41, 32, 61, 62, 32, 40, 101, 118, 101, 110, 116, 41, 32, 61, 62, 32, 123, 10, 32, 32, 32, 32, 32, 32, 99, 111, 110, 115, 116, 32, 117, 110, 102, 114, 101, 101, 122, 101, 69, 118, 101, 110, 116, 32, 61, 32, 101, 118, 101, 110, 116, 59, 10, 32, 32, 32, 32, 32, 32, 99, 111, 110, 115, 116, 32, 114, 101, 115, 112, 111, 110, 115, 101, 32, 61, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 105, 100, 58, 32, 34, 34, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 109, 101, 116, 104, 111, 100, 58, 32, 34, 111, 110, 85, 110, 102, 114, 101, 101, 122, 101, 34, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 115, 117, 108, 116, 58, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 105, 110, 115, 116, 97, 110, 99, 101, 73, 100, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 101, 118, 101, 110, 116, 58, 32, 117, 110, 102, 114, 101, 101, 122, 101, 69, 118, 101, 110, 116, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 32, 32, 125, 59, 10, 32, 32, 32, 32, 32, 32, 115, 101, 108, 102, 46, 112, 111, 115, 116, 77, 101, 115, 115, 97, 103, 101, 40, 114, 101, 115, 112, 111, 110, 115, 101, 41, 59, 10, 32, 32, 32, 32, 125, 44, 10, 32, 32, 32, 32, 100, 101, 115, 116, 114, 111, 121, 58, 32, 40, 105, 110, 115, 116, 97, 110, 99, 101, 73, 100, 41, 32, 61, 62, 32, 40, 101, 118, 101, 110, 116, 41, 32, 61, 62, 32, 123, 10, 32, 32, 32, 32, 32, 32, 99, 111, 110, 115, 116, 32, 100, 101, 115, 116, 114, 111, 121, 69, 118, 101, 110, 116, 32, 61, 32, 101, 118, 101, 110, 116, 59, 10, 32, 32, 32, 32, 32, 32, 99, 111, 110, 115, 116, 32, 114, 101, 115, 112, 111, 110, 115, 101, 32, 61, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 105, 100, 58, 32, 34, 34, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 109, 101, 116, 104, 111, 100, 58, 32, 34, 111, 110, 68, 101, 115, 116, 114, 111, 121, 34, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 115, 117, 108, 116, 58, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 105, 110, 115, 116, 97, 110, 99, 101, 73, 100, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 101, 118, 101, 110, 116, 58, 32, 100, 101, 115, 116, 114, 111, 121, 69, 118, 101, 110, 116, 10, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 32, 32, 125, 59, 10, 32, 32, 32, 32, 32, 32, 115, 101, 108, 102, 46, 112, 111, 115, 116, 77, 101, 115, 115, 97, 103, 101, 40, 114, 101, 115, 112, 111, 110, 115, 101, 41, 59, 10, 32, 32, 32, 32, 125, 10, 32, 32, 125, 59, 10, 32, 32, 118, 97, 114, 32, 99, 111, 109, 109, 97, 110, 100, 115, 32, 61, 32, 123, 10, 32, 32, 32, 32, 103, 101, 116, 68, 111, 116, 76, 111, 116, 116, 105, 101, 73, 110, 115, 116, 97, 110, 99, 101, 83, 116, 97, 116, 101, 40, 114, 101, 113, 117, 101, 115, 116, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 99, 111, 110, 115, 116, 32, 105, 110, 115, 116, 97, 110, 99, 101, 73, 100, 32, 61, 32, 114, 101, 113, 117, 101, 115, 116, 46, 112, 97, 114, 97, 109, 115, 46, 105, 110, 115, 116, 97, 110, 99, 101, 73, 100, 59, 10, 32, 32, 32, 32, 32, 32, 99, 111, 110, 115, 116, 32, 105, 110, 115, 116, 97, 110, 99, 101, 32, 61, 32, 105, 110, 115, 116, 97, 110, 99, 101, 115, 77, 97, 112, 46, 103, 101, 116, 40, 105, 110, 115, 116, 97, 110, 99, 101, 73, 100, 41, 59, 10, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 33, 105, 110, 115, 116, 97, 110, 99, 101, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 116, 104, 114, 111, 119, 32, 110, 101, 119, 32, 69, 114, 114, 111, 114, 40, 96, 73, 110, 115, 116, 97, 110, 99, 101, 32, 119, 105, 116, 104, 32, 105, 100, 32, 36, 123, 105, 110, 115, 116, 97, 110, 99, 101, 73, 100, 125, 32, 100, 111, 101, 115, 32, 110, 111, 116, 32, 101, 120, 105, 115, 116, 46, 96, 41, 59, 10, 32, 32, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 32, 32, 99, 111, 110, 115, 116, 32, 115, 116, 97, 116, 101, 32, 61, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 105, 115, 76, 111, 97, 100, 101, 100, 58, 32, 105, 110, 115, 116, 97, 110, 99, 101, 46, 105, 115, 76, 111, 97, 100, 101, 100, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 105, 115, 80, 97, 117, 115, 101, 100, 58, 32, 105, 110, 115, 116, 97, 110, 99, 101, 46, 105, 115, 80, 97, 117, 115, 101, 100, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 105, 115, 80, 108, 97, 121, 105, 110, 103, 58, 32, 105, 110, 115, 116, 97, 110, 99, 101, 46, 105, 115, 80, 108, 97, 121, 105, 110, 103, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 105, 115, 83, 116, 111, 112, 112, 101, 100, 58, 32, 105, 110, 115, 116, 97, 110, 99, 101, 46, 105, 115, 83, 116, 111, 112, 112, 101, 100, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 105, 115, 70, 114, 111, 122, 101, 110, 58, 32, 105, 110, 115, 116, 97, 110, 99, 101, 46, 105, 115, 70, 114, 111, 122, 101, 110, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 108, 111, 111, 112, 58, 32, 105, 110, 115, 116, 97, 110, 99, 101, 46, 108, 111, 111, 112, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 109, 111, 100, 101, 58, 32, 105, 110, 115, 116, 97, 110, 99, 101, 46, 109, 111, 100, 101, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 115, 112, 101, 101, 100, 58, 32, 105, 110, 115, 116, 97, 110, 99, 101, 46, 115, 112, 101, 101, 100, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 99, 117, 114, 114, 101, 110, 116, 70, 114, 97, 109, 101, 58, 32, 105, 110, 115, 116, 97, 110, 99, 101, 46, 99, 117, 114, 114, 101, 110, 116, 70, 114, 97, 109, 101, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 116, 111, 116, 97, 108, 70, 114, 97, 109, 101, 115, 58, 32, 105, 110, 115, 116, 97, 110, 99, 101, 46, 116, 111, 116, 97, 108, 70, 114, 97, 109, 101, 115, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 100, 117, 114, 97, 116, 105, 111, 110, 58, 32, 105, 110, 115, 116, 97, 110, 99, 101, 46, 100, 117, 114, 97, 116, 105, 111, 110, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 117, 115, 101, 70, 114, 97, 109, 101, 73, 110, 116, 101, 114, 112, 111, 108, 97, 116, 105, 111, 110, 58, 32, 105, 110, 115, 116, 97, 110, 99, 101, 46, 117, 115, 101, 70, 114, 97, 109, 101, 73, 110, 116, 101, 114, 112, 111, 108, 97, 116, 105, 111, 110, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 110, 100, 101, 114, 67, 111, 110, 102, 105, 103, 58, 32, 105, 110, 115, 116, 97, 110, 99, 101, 46, 114, 101, 110, 100, 101, 114, 67, 111, 110, 102, 105, 103, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 109, 97, 114, 107, 101, 114, 58, 32, 105, 110, 115, 116, 97, 110, 99, 101, 46, 109, 97, 114, 107, 101, 114, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 98, 97, 99, 107, 103, 114, 111, 117, 110, 100, 67, 111, 108, 111, 114, 58, 32, 105, 110, 115, 116, 97, 110, 99, 101, 46, 98, 97, 99, 107, 103, 114, 111, 117, 110, 100, 67, 111, 108, 111, 114, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 109, 97, 114, 107, 101, 114, 115, 58, 32, 105, 110, 115, 116, 97, 110, 99, 101, 46, 109, 97, 114, 107, 101, 114, 115, 40, 41, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 97, 99, 116, 105, 118, 101, 65, 110, 105, 109, 97, 116, 105, 111, 110, 73, 100, 58, 32, 105, 110, 115, 116, 97, 110, 99, 101, 46, 97, 99, 116, 105, 118, 101, 65, 110, 105, 109, 97, 116, 105, 111, 110, 73, 100, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 97, 99, 116, 105, 118, 101, 84, 104, 101, 109, 101, 73, 100, 58, 32, 105, 110, 115, 116, 97, 110, 99, 101, 46, 97, 99, 116, 105, 118, 101, 84, 104, 101, 109, 101, 73, 100, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 97, 117, 116, 111, 112, 108, 97, 121, 58, 32, 105, 110, 115, 116, 97, 110, 99, 101, 46, 97, 117, 116, 111, 112, 108, 97, 121, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 115, 101, 103, 109, 101, 110, 116, 58, 32, 105, 110, 115, 116, 97, 110, 99, 101, 46, 115, 101, 103, 109, 101, 110, 116, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 108, 97, 121, 111, 117, 116, 58, 32, 105, 110, 115, 116, 97, 110, 99, 101, 46, 108, 97, 121, 111, 117, 116, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 115, 101, 103, 109, 101, 110, 116, 68, 117, 114, 97, 116, 105, 111, 110, 58, 32, 105, 110, 115, 116, 97, 110, 99, 101, 46, 115, 101, 103, 109, 101, 110, 116, 68, 117, 114, 97, 116, 105, 111, 110, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 105, 115, 82, 101, 97, 100, 121, 58, 32, 105, 110, 115, 116, 97, 110, 99, 101, 46, 105, 115, 82, 101, 97, 100, 121, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 109, 97, 110, 105, 102, 101, 115, 116, 58, 32, 105, 110, 115, 116, 97, 110, 99, 101, 46, 109, 97, 110, 105, 102, 101, 115, 116, 10, 32, 32, 32, 32, 32, 32, 125, 59, 10, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 115, 116, 97, 116, 101, 10, 32, 32, 32, 32, 32, 32, 125, 59, 10, 32, 32, 32, 32, 125, 44, 10, 32, 32, 32, 32, 115, 101, 116, 76, 97, 121, 111, 117, 116, 40, 114, 101, 113, 117, 101, 115, 116, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 99, 111, 110, 115, 116, 32, 105, 110, 115, 116, 97, 110, 99, 101, 73, 100, 32, 61, 32, 114, 101, 113, 117, 101, 115, 116, 46, 112, 97, 114, 97, 109, 115, 46, 105, 110, 115, 116, 97, 110, 99, 101, 73, 100, 59, 10, 32, 32, 32, 32, 32, 32, 99, 111, 110, 115, 116, 32, 108, 97, 121, 111, 117, 116, 32, 61, 32, 114, 101, 113, 117, 101, 115, 116, 46, 112, 97, 114, 97, 109, 115, 46, 108, 97, 121, 111, 117, 116, 59, 10, 32, 32, 32, 32, 32, 32, 99, 111, 110, 115, 116, 32, 105, 110, 115, 116, 97, 110, 99, 101, 32, 61, 32, 105, 110, 115, 116, 97, 110, 99, 101, 115, 77, 97, 112, 46, 103, 101, 116, 40, 105, 110, 115, 116, 97, 110, 99, 101, 73, 100, 41, 59, 10, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 33, 105, 110, 115, 116, 97, 110, 99, 101, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 116, 104, 114, 111, 119, 32, 110, 101, 119, 32, 69, 114, 114, 111, 114, 40, 96, 73, 110, 115, 116, 97, 110, 99, 101, 32, 119, 105, 116, 104, 32, 105, 100, 32, 36, 123, 105, 110, 115, 116, 97, 110, 99, 101, 73, 100, 125, 32, 100, 111, 101, 115, 32, 110, 111, 116, 32, 101, 120, 105, 115, 116, 46, 96, 41, 59, 10, 32, 32, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 32, 32, 105, 110, 115, 116, 97, 110, 99, 101, 46, 115, 101, 116, 76, 97, 121, 111, 117, 116, 40, 108, 97, 121, 111, 117, 116, 41, 59, 10, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 115, 117, 99, 99, 101, 115, 115, 58, 32, 116, 114, 117, 101, 10, 32, 32, 32, 32, 32, 32, 125, 59, 10, 32, 32, 32, 32, 125, 44, 10, 32, 32, 32, 32, 103, 101, 116, 83, 116, 97, 116, 101, 77, 97, 99, 104, 105, 110, 101, 76, 105, 115, 116, 101, 110, 101, 114, 115, 40, 114, 101, 113, 117, 101, 115, 116, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 99, 111, 110, 115, 116, 32, 105, 110, 115, 116, 97, 110, 99, 101, 73, 100, 32, 61, 32, 114, 101, 113, 117, 101, 115, 116, 46, 112, 97, 114, 97, 109, 115, 46, 105, 110, 115, 116, 97, 110, 99, 101, 73, 100, 59, 10, 32, 32, 32, 32, 32, 32, 99, 111, 110, 115, 116, 32, 105, 110, 115, 116, 97, 110, 99, 101, 32, 61, 32, 105, 110, 115, 116, 97, 110, 99, 101, 115, 77, 97, 112, 46, 103, 101, 116, 40, 105, 110, 115, 116, 97, 110, 99, 101, 73, 100, 41, 59, 10, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 33, 105, 110, 115, 116, 97, 110, 99, 101, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 116, 104, 114, 111, 119, 32, 110, 101, 119, 32, 69, 114, 114, 111, 114, 40, 96, 73, 110, 115, 116, 97, 110, 99, 101, 32, 119, 105, 116, 104, 32, 105, 100, 32, 36, 123, 105, 110, 115, 116, 97, 110, 99, 101, 73, 100, 125, 32, 100, 111, 101, 115, 32, 110, 111, 116, 32, 101, 120, 105, 115, 116, 46, 96, 41, 59, 10, 32, 32, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 105, 110, 115, 116, 97, 110, 99, 101, 46, 103, 101, 116, 83, 116, 97, 116, 101, 77, 97, 99, 104, 105, 110, 101, 76, 105, 115, 116, 101, 110, 101, 114, 115, 40, 41, 59, 10, 32, 32, 32, 32, 125, 44, 10, 32, 32, 32, 32, 112, 111, 115, 116, 83, 116, 97, 116, 101, 77, 97, 99, 104, 105, 110, 101, 69, 118, 101, 110, 116, 40, 114, 101, 113, 117, 101, 115, 116, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 99, 111, 110, 115, 116, 32, 105, 110, 115, 116, 97, 110, 99, 101, 73, 100, 32, 61, 32, 114, 101, 113, 117, 101, 115, 116, 46, 112, 97, 114, 97, 109, 115, 46, 105, 110, 115, 116, 97, 110, 99, 101, 73, 100, 59, 10, 32, 32, 32, 32, 32, 32, 99, 111, 110, 115, 116, 32, 101, 118, 101, 110, 116, 32, 61, 32, 114, 101, 113, 117, 101, 115, 116, 46, 112, 97, 114, 97, 109, 115, 46, 101, 118, 101, 110, 116, 59, 10, 32, 32, 32, 32, 32, 32, 99, 111, 110, 115, 116, 32, 105, 110, 115, 116, 97, 110, 99, 101, 32, 61, 32, 105, 110, 115, 116, 97, 110, 99, 101, 115, 77, 97, 112, 46, 103, 101, 116, 40, 105, 110, 115, 116, 97, 110, 99, 101, 73, 100, 41, 59, 10, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 33, 105, 110, 115, 116, 97, 110, 99, 101, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 116, 104, 114, 111, 119, 32, 110, 101, 119, 32, 69, 114, 114, 111, 114, 40, 96, 73, 110, 115, 116, 97, 110, 99, 101, 32, 119, 105, 116, 104, 32, 105, 100, 32, 36, 123, 105, 110, 115, 116, 97, 110, 99, 101, 73, 100, 125, 32, 100, 111, 101, 115, 32, 110, 111, 116, 32, 101, 120, 105, 115, 116, 46, 96, 41, 59, 10, 32, 32, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 105, 110, 115, 116, 97, 110, 99, 101, 46, 112, 111, 115, 116, 83, 116, 97, 116, 101, 77, 97, 99, 104, 105, 110, 101, 69, 118, 101, 110, 116, 40, 101, 118, 101, 110, 116, 41, 59, 10, 32, 32, 32, 32, 125, 44, 10, 32, 32, 32, 32, 115, 116, 97, 114, 116, 83, 116, 97, 116, 101, 77, 97, 99, 104, 105, 110, 101, 40, 114, 101, 113, 117, 101, 115, 116, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 99, 111, 110, 115, 116, 32, 105, 110, 115, 116, 97, 110, 99, 101, 73, 100, 32, 61, 32, 114, 101, 113, 117, 101, 115, 116, 46, 112, 97, 114, 97, 109, 115, 46, 105, 110, 115, 116, 97, 110, 99, 101, 73, 100, 59, 10, 32, 32, 32, 32, 32, 32, 99, 111, 110, 115, 116, 32, 105, 110, 115, 116, 97, 110, 99, 101, 32, 61, 32, 105, 110, 115, 116, 97, 110, 99, 101, 115, 77, 97, 112, 46, 103, 101, 116, 40, 105, 110, 115, 116, 97, 110, 99, 101, 73, 100, 41, 59, 10, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 33, 105, 110, 115, 116, 97, 110, 99, 101, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 116, 104, 114, 111, 119, 32, 110, 101, 119, 32, 69, 114, 114, 111, 114, 40, 96, 73, 110, 115, 116, 97, 110, 99, 101, 32, 119, 105, 116, 104, 32, 105, 100, 32, 36, 123, 105, 110, 115, 116, 97, 110, 99, 101, 73, 100, 125, 32, 100, 111, 101, 115, 32, 110, 111, 116, 32, 101, 120, 105, 115, 116, 46, 96, 41, 59, 10, 32, 32, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 105, 110, 115, 116, 97, 110, 99, 101, 46, 115, 116, 97, 114, 116, 83, 116, 97, 116, 101, 77, 97, 99, 104, 105, 110, 101, 40, 41, 59, 10, 32, 32, 32, 32, 125, 44, 10, 32, 32, 32, 32, 115, 116, 111, 112, 83, 116, 97, 116, 101, 77, 97, 99, 104, 105, 110, 101, 40, 114, 101, 113, 117, 101, 115, 116, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 99, 111, 110, 115, 116, 32, 105, 110, 115, 116, 97, 110, 99, 101, 73, 100, 32, 61, 32, 114, 101, 113, 117, 101, 115, 116, 46, 112, 97, 114, 97, 109, 115, 46, 105, 110, 115, 116, 97, 110, 99, 101, 73, 100, 59, 10, 32, 32, 32, 32, 32, 32, 99, 111, 110, 115, 116, 32, 105, 110, 115, 116, 97, 110, 99, 101, 32, 61, 32, 105, 110, 115, 116, 97, 110, 99, 101, 115, 77, 97, 112, 46, 103, 101, 116, 40, 105, 110, 115, 116, 97, 110, 99, 101, 73, 100, 41, 59, 10, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 33, 105, 110, 115, 116, 97, 110, 99, 101, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 116, 104, 114, 111, 119, 32, 110, 101, 119, 32, 69, 114, 114, 111, 114, 40, 96, 73, 110, 115, 116, 97, 110, 99, 101, 32, 119, 105, 116, 104, 32, 105, 100, 32, 36, 123, 105, 110, 115, 116, 97, 110, 99, 101, 73, 100, 125, 32, 100, 111, 101, 115, 32, 110, 111, 116, 32, 101, 120, 105, 115, 116, 46, 96, 41, 59, 10, 32, 32, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 105, 110, 115, 116, 97, 110, 99, 101, 46, 115, 116, 111, 112, 83, 116, 97, 116, 101, 77, 97, 99, 104, 105, 110, 101, 40, 41, 59, 10, 32, 32, 32, 32, 125, 44, 10, 32, 32, 32, 32, 108, 111, 97, 100, 83, 116, 97, 116, 101, 77, 97, 99, 104, 105, 110, 101, 40, 114, 101, 113, 117, 101, 115, 116, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 99, 111, 110, 115, 116, 32, 105, 110, 115, 116, 97, 110, 99, 101, 73, 100, 32, 61, 32, 114, 101, 113, 117, 101, 115, 116, 46, 112, 97, 114, 97, 109, 115, 46, 105, 110, 115, 116, 97, 110, 99, 101, 73, 100, 59, 10, 32, 32, 32, 32, 32, 32, 99, 111, 110, 115, 116, 32, 115, 116, 97, 116, 101, 77, 97, 99, 104, 105, 110, 101, 73, 100, 32, 61, 32, 114, 101, 113, 117, 101, 115, 116, 46, 112, 97, 114, 97, 109, 115, 46, 115, 116, 97, 116, 101, 77, 97, 99, 104, 105, 110, 101, 73, 100, 59, 10, 32, 32, 32, 32, 32, 32, 99, 111, 110, 115, 116, 32, 105, 110, 115, 116, 97, 110, 99, 101, 32, 61, 32, 105, 110, 115, 116, 97, 110, 99, 101, 115, 77, 97, 112, 46, 103, 101, 116, 40, 105, 110, 115, 116, 97, 110, 99, 101, 73, 100, 41, 59, 10, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 33, 105, 110, 115, 116, 97, 110, 99, 101, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 116, 104, 114, 111, 119, 32, 110, 101, 119, 32, 69, 114, 114, 111, 114, 40, 96, 73, 110, 115, 116, 97, 110, 99, 101, 32, 119, 105, 116, 104, 32, 105, 100, 32, 36, 123, 105, 110, 115, 116, 97, 110, 99, 101, 73, 100, 125, 32, 100, 111, 101, 115, 32, 110, 111, 116, 32, 101, 120, 105, 115, 116, 46, 96, 41, 59, 10, 32, 32, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 105, 110, 115, 116, 97, 110, 99, 101, 46, 108, 111, 97, 100, 83, 116, 97, 116, 101, 77, 97, 99, 104, 105, 110, 101, 40, 115, 116, 97, 116, 101, 77, 97, 99, 104, 105, 110, 101, 73, 100, 41, 59, 10, 32, 32, 32, 32, 125, 44, 10, 32, 32, 32, 32, 108, 111, 97, 100, 83, 116, 97, 116, 101, 77, 97, 99, 104, 105, 110, 101, 68, 97, 116, 97, 40, 114, 101, 113, 117, 101, 115, 116, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 99, 111, 110, 115, 116, 32, 105, 110, 115, 116, 97, 110, 99, 101, 73, 100, 32, 61, 32, 114, 101, 113, 117, 101, 115, 116, 46, 112, 97, 114, 97, 109, 115, 46, 105, 110, 115, 116, 97, 110, 99, 101, 73, 100, 59, 10, 32, 32, 32, 32, 32, 32, 99, 111, 110, 115, 116, 32, 115, 116, 97, 116, 101, 77, 97, 99, 104, 105, 110, 101, 68, 97, 116, 97, 32, 61, 32, 114, 101, 113, 117, 101, 115, 116, 46, 112, 97, 114, 97, 109, 115, 46, 115, 116, 97, 116, 101, 77, 97, 99, 104, 105, 110, 101, 68, 97, 116, 97, 59, 10, 32, 32, 32, 32, 32, 32, 99, 111, 110, 115, 116, 32, 105, 110, 115, 116, 97, 110, 99, 101, 32, 61, 32, 105, 110, 115, 116, 97, 110, 99, 101, 115, 77, 97, 112, 46, 103, 101, 116, 40, 105, 110, 115, 116, 97, 110, 99, 101, 73, 100, 41, 59, 10, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 33, 105, 110, 115, 116, 97, 110, 99, 101, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 116, 104, 114, 111, 119, 32, 110, 101, 119, 32, 69, 114, 114, 111, 114, 40, 96, 73, 110, 115, 116, 97, 110, 99, 101, 32, 119, 105, 116, 104, 32, 105, 100, 32, 36, 123, 105, 110, 115, 116, 97, 110, 99, 101, 73, 100, 125, 32, 100, 111, 101, 115, 32, 110, 111, 116, 32, 101, 120, 105, 115, 116, 46, 96, 41, 59, 10, 32, 32, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 105, 110, 115, 116, 97, 110, 99, 101, 46, 108, 111, 97, 100, 83, 116, 97, 116, 101, 77, 97, 99, 104, 105, 110, 101, 68, 97, 116, 97, 40, 115, 116, 97, 116, 101, 77, 97, 99, 104, 105, 110, 101, 68, 97, 116, 97, 41, 59, 10, 32, 32, 32, 32, 125, 44, 10, 32, 32, 32, 32, 99, 114, 101, 97, 116, 101, 58, 32, 40, 114, 101, 113, 117, 101, 115, 116, 41, 32, 61, 62, 32, 123, 10, 32, 32, 32, 32, 32, 32, 99, 111, 110, 115, 116, 32, 105, 110, 115, 116, 97, 110, 99, 101, 73, 100, 32, 61, 32, 114, 101, 113, 117, 101, 115, 116, 46, 112, 97, 114, 97, 109, 115, 46, 105, 110, 115, 116, 97, 110, 99, 101, 73, 100, 59, 10, 32, 32, 32, 32, 32, 32, 99, 111, 110, 115, 116, 32, 99, 111, 110, 102, 105, 103, 32, 61, 32, 114, 101, 113, 117, 101, 115, 116, 46, 112, 97, 114, 97, 109, 115, 46, 99, 111, 110, 102, 105, 103, 59, 10, 32, 32, 32, 32, 32, 32, 99, 111, 110, 115, 116, 32, 119, 105, 100, 116, 104, 32, 61, 32, 114, 101, 113, 117, 101, 115, 116, 46, 112, 97, 114, 97, 109, 115, 46, 119, 105, 100, 116, 104, 59, 10, 32, 32, 32, 32, 32, 32, 99, 111, 110, 115, 116, 32, 104, 101, 105, 103, 104, 116, 32, 61, 32, 114, 101, 113, 117, 101, 115, 116, 46, 112, 97, 114, 97, 109, 115, 46, 104, 101, 105, 103, 104, 116, 59, 10, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 105, 110, 115, 116, 97, 110, 99, 101, 115, 77, 97, 112, 46, 104, 97, 115, 40, 105, 110, 115, 116, 97, 110, 99, 101, 73, 100, 41, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 116, 104, 114, 111, 119, 32, 110, 101, 119, 32, 69, 114, 114, 111, 114, 40, 96, 73, 110, 115, 116, 97, 110, 99, 101, 32, 119, 105, 116, 104, 32, 105, 100, 32, 36, 123, 105, 110, 115, 116, 97, 110, 99, 101, 73, 100, 125, 32, 97, 108, 114, 101, 97, 100, 121, 32, 101, 120, 105, 115, 116, 115, 46, 96, 41, 59, 10, 32, 32, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 32, 32, 99, 111, 110, 115, 116, 32, 105, 110, 115, 116, 97, 110, 99, 101, 32, 61, 32, 110, 101, 119, 32, 68, 111, 116, 76, 111, 116, 116, 105, 101, 40, 99, 111, 110, 102, 105, 103, 41, 59, 10, 32, 32, 32, 32, 32, 32, 105, 110, 115, 116, 97, 110, 99, 101, 46, 99, 97, 110, 118, 97, 115, 46, 104, 101, 105, 103, 104, 116, 32, 61, 32, 104, 101, 105, 103, 104, 116, 59, 10, 32, 32, 32, 32, 32, 32, 105, 110, 115, 116, 97, 110, 99, 101, 46, 99, 97, 110, 118, 97, 115, 46, 119, 105, 100, 116, 104, 32, 61, 32, 119, 105, 100, 116, 104, 59, 10, 32, 32, 32, 32, 32, 32, 105, 110, 115, 116, 97, 110, 99, 101, 115, 77, 97, 112, 46, 115, 101, 116, 40, 105, 110, 115, 116, 97, 110, 99, 101, 73, 100, 44, 32, 105, 110, 115, 116, 97, 110, 99, 101, 41, 59, 10, 32, 32, 32, 32, 32, 32, 99, 111, 110, 115, 116, 32, 101, 118, 101, 110, 116, 115, 32, 61, 32, 91, 10, 32, 32, 32, 32, 32, 32, 32, 32, 34, 99, 111, 109, 112, 108, 101, 116, 101, 34, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 34, 102, 114, 97, 109, 101, 34, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 34, 108, 111, 97, 100, 34, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 34, 108, 111, 97, 100, 69, 114, 114, 111, 114, 34, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 34, 108, 111, 111, 112, 34, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 34, 112, 97, 117, 115, 101, 34, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 34, 112, 108, 97, 121, 34, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 34, 115, 116, 111, 112, 34, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 34, 100, 101, 115, 116, 114, 111, 121, 34, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 34, 102, 114, 101, 101, 122, 101, 34, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 34, 117, 110, 102, 114, 101, 101, 122, 101, 34, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 34, 114, 101, 110, 100, 101, 114, 34, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 34, 114, 101, 97, 100, 121, 34, 10, 32, 32, 32, 32, 32, 32, 93, 59, 10, 32, 32, 32, 32, 32, 32, 101, 118, 101, 110, 116, 115, 46, 102, 111, 114, 69, 97, 99, 104, 40, 40, 101, 118, 101, 110, 116, 41, 32, 61, 62, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 105, 110, 115, 116, 97, 110, 99, 101, 46, 97, 100, 100, 69, 118, 101, 110, 116, 76, 105, 115, 116, 101, 110, 101, 114, 40, 101, 118, 101, 110, 116, 44, 32, 101, 118, 101, 110, 116, 72, 97, 110, 100, 108, 101, 114, 77, 97, 112, 91, 101, 118, 101, 110, 116, 93, 40, 105, 110, 115, 116, 97, 110, 99, 101, 73, 100, 41, 41, 59, 10, 32, 32, 32, 32, 32, 32, 125, 41, 59, 10, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 105, 110, 115, 116, 97, 110, 99, 101, 73, 100, 10, 32, 32, 32, 32, 32, 32, 125, 59, 10, 32, 32, 32, 32, 125, 44, 10, 32, 32, 32, 32, 100, 101, 115, 116, 114, 111, 121, 58, 32, 40, 114, 101, 113, 117, 101, 115, 116, 41, 32, 61, 62, 32, 123, 10, 32, 32, 32, 32, 32, 32, 99, 111, 110, 115, 116, 32, 105, 110, 115, 116, 97, 110, 99, 101, 73, 100, 32, 61, 32, 114, 101, 113, 117, 101, 115, 116, 46, 112, 97, 114, 97, 109, 115, 46, 105, 110, 115, 116, 97, 110, 99, 101, 73, 100, 59, 10, 32, 32, 32, 32, 32, 32, 99, 111, 110, 115, 116, 32, 105, 110, 115, 116, 97, 110, 99, 101, 32, 61, 32, 105, 110, 115, 116, 97, 110, 99, 101, 115, 77, 97, 112, 46, 103, 101, 116, 40, 105, 110, 115, 116, 97, 110, 99, 101, 73, 100, 41, 59, 10, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 33, 105, 110, 115, 116, 97, 110, 99, 101, 41, 32, 114, 101, 116, 117, 114, 110, 59, 10, 32, 32, 32, 32, 32, 32, 105, 110, 115, 116, 97, 110, 99, 101, 46, 100, 101, 115, 116, 114, 111, 121, 40, 41, 59, 10, 32, 32, 32, 32, 32, 32, 105, 110, 115, 116, 97, 110, 99, 101, 115, 77, 97, 112, 46, 100, 101, 108, 101, 116, 101, 40, 105, 110, 115, 116, 97, 110, 99, 101, 73, 100, 41, 59, 10, 32, 32, 32, 32, 125, 44, 10, 32, 32, 32, 32, 102, 114, 101, 101, 122, 101, 58, 32, 40, 114, 101, 113, 117, 101, 115, 116, 41, 32, 61, 62, 32, 123, 10, 32, 32, 32, 32, 32, 32, 99, 111, 110, 115, 116, 32, 105, 110, 115, 116, 97, 110, 99, 101, 73, 100, 32, 61, 32, 114, 101, 113, 117, 101, 115, 116, 46, 112, 97, 114, 97, 109, 115, 46, 105, 110, 115, 116, 97, 110, 99, 101, 73, 100, 59, 10, 32, 32, 32, 32, 32, 32, 99, 111, 110, 115, 116, 32, 105, 110, 115, 116, 97, 110, 99, 101, 32, 61, 32, 105, 110, 115, 116, 97, 110, 99, 101, 115, 77, 97, 112, 46, 103, 101, 116, 40, 105, 110, 115, 116, 97, 110, 99, 101, 73, 100, 41, 59, 10, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 33, 105, 110, 115, 116, 97, 110, 99, 101, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 116, 104, 114, 111, 119, 32, 110, 101, 119, 32, 69, 114, 114, 111, 114, 40, 96, 73, 110, 115, 116, 97, 110, 99, 101, 32, 119, 105, 116, 104, 32, 105, 100, 32, 36, 123, 105, 110, 115, 116, 97, 110, 99, 101, 73, 100, 125, 32, 100, 111, 101, 115, 32, 110, 111, 116, 32, 101, 120, 105, 115, 116, 46, 96, 41, 59, 10, 32, 32, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 32, 32, 105, 110, 115, 116, 97, 110, 99, 101, 46, 102, 114, 101, 101, 122, 101, 40, 41, 59, 10, 32, 32, 32, 32, 125, 44, 10, 32, 32, 32, 32, 108, 111, 97, 100, 58, 32, 40, 114, 101, 113, 117, 101, 115, 116, 41, 32, 61, 62, 32, 123, 10, 32, 32, 32, 32, 32, 32, 99, 111, 110, 115, 116, 32, 105, 110, 115, 116, 97, 110, 99, 101, 73, 100, 32, 61, 32, 114, 101, 113, 117, 101, 115, 116, 46, 112, 97, 114, 97, 109, 115, 46, 105, 110, 115, 116, 97, 110, 99, 101, 73, 100, 59, 10, 32, 32, 32, 32, 32, 32, 99, 111, 110, 115, 116, 32, 99, 111, 110, 102, 105, 103, 32, 61, 32, 114, 101, 113, 117, 101, 115, 116, 46, 112, 97, 114, 97, 109, 115, 46, 99, 111, 110, 102, 105, 103, 59, 10, 32, 32, 32, 32, 32, 32, 99, 111, 110, 115, 116, 32, 105, 110, 115, 116, 97, 110, 99, 101, 32, 61, 32, 105, 110, 115, 116, 97, 110, 99, 101, 115, 77, 97, 112, 46, 103, 101, 116, 40, 105, 110, 115, 116, 97, 110, 99, 101, 73, 100, 41, 59, 10, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 33, 105, 110, 115, 116, 97, 110, 99, 101, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 116, 104, 114, 111, 119, 32, 110, 101, 119, 32, 69, 114, 114, 111, 114, 40, 96, 73, 110, 115, 116, 97, 110, 99, 101, 32, 119, 105, 116, 104, 32, 105, 100, 32, 36, 123, 105, 110, 115, 116, 97, 110, 99, 101, 73, 100, 125, 32, 100, 111, 101, 115, 32, 110, 111, 116, 32, 101, 120, 105, 115, 116, 46, 96, 41, 59, 10, 32, 32, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 32, 32, 105, 110, 115, 116, 97, 110, 99, 101, 46, 108, 111, 97, 100, 40, 99, 111, 110, 102, 105, 103, 41, 59, 10, 32, 32, 32, 32, 125, 44, 10, 32, 32, 32, 32, 108, 111, 97, 100, 65, 110, 105, 109, 97, 116, 105, 111, 110, 58, 32, 40, 114, 101, 113, 117, 101, 115, 116, 41, 32, 61, 62, 32, 123, 10, 32, 32, 32, 32, 32, 32, 99, 111, 110, 115, 116, 32, 105, 110, 115, 116, 97, 110, 99, 101, 73, 100, 32, 61, 32, 114, 101, 113, 117, 101, 115, 116, 46, 112, 97, 114, 97, 109, 115, 46, 105, 110, 115, 116, 97, 110, 99, 101, 73, 100, 59, 10, 32, 32, 32, 32, 32, 32, 99, 111, 110, 115, 116, 32, 97, 110, 105, 109, 97, 116, 105, 111, 110, 73, 100, 32, 61, 32, 114, 101, 113, 117, 101, 115, 116, 46, 112, 97, 114, 97, 109, 115, 46, 97, 110, 105, 109, 97, 116, 105, 111, 110, 73, 100, 59, 10, 32, 32, 32, 32, 32, 32, 99, 111, 110, 115, 116, 32, 105, 110, 115, 116, 97, 110, 99, 101, 32, 61, 32, 105, 110, 115, 116, 97, 110, 99, 101, 115, 77, 97, 112, 46, 103, 101, 116, 40, 105, 110, 115, 116, 97, 110, 99, 101, 73, 100, 41, 59, 10, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 33, 105, 110, 115, 116, 97, 110, 99, 101, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 116, 104, 114, 111, 119, 32, 110, 101, 119, 32, 69, 114, 114, 111, 114, 40, 96, 73, 110, 115, 116, 97, 110, 99, 101, 32, 119, 105, 116, 104, 32, 105, 100, 32, 36, 123, 105, 110, 115, 116, 97, 110, 99, 101, 73, 100, 125, 32, 100, 111, 101, 115, 32, 110, 111, 116, 32, 101, 120, 105, 115, 116, 46, 96, 41, 59, 10, 32, 32, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 32, 32, 105, 110, 115, 116, 97, 110, 99, 101, 46, 108, 111, 97, 100, 65, 110, 105, 109, 97, 116, 105, 111, 110, 40, 97, 110, 105, 109, 97, 116, 105, 111, 110, 73, 100, 41, 59, 10, 32, 32, 32, 32, 125, 44, 10, 32, 32, 32, 32, 108, 111, 97, 100, 84, 104, 101, 109, 101, 58, 32, 40, 114, 101, 113, 117, 101, 115, 116, 41, 32, 61, 62, 32, 123, 10, 32, 32, 32, 32, 32, 32, 99, 111, 110, 115, 116, 32, 105, 110, 115, 116, 97, 110, 99, 101, 73, 100, 32, 61, 32, 114, 101, 113, 117, 101, 115, 116, 46, 112, 97, 114, 97, 109, 115, 46, 105, 110, 115, 116, 97, 110, 99, 101, 73, 100, 59, 10, 32, 32, 32, 32, 32, 32, 99, 111, 110, 115, 116, 32, 116, 104, 101, 109, 101, 73, 100, 32, 61, 32, 114, 101, 113, 117, 101, 115, 116, 46, 112, 97, 114, 97, 109, 115, 46, 116, 104, 101, 109, 101, 73, 100, 59, 10, 32, 32, 32, 32, 32, 32, 99, 111, 110, 115, 116, 32, 105, 110, 115, 116, 97, 110, 99, 101, 32, 61, 32, 105, 110, 115, 116, 97, 110, 99, 101, 115, 77, 97, 112, 46, 103, 101, 116, 40, 105, 110, 115, 116, 97, 110, 99, 101, 73, 100, 41, 59, 10, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 33, 105, 110, 115, 116, 97, 110, 99, 101, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 116, 104, 114, 111, 119, 32, 110, 101, 119, 32, 69, 114, 114, 111, 114, 40, 96, 73, 110, 115, 116, 97, 110, 99, 101, 32, 119, 105, 116, 104, 32, 105, 100, 32, 36, 123, 105, 110, 115, 116, 97, 110, 99, 101, 73, 100, 125, 32, 100, 111, 101, 115, 32, 110, 111, 116, 32, 101, 120, 105, 115, 116, 46, 96, 41, 59, 10, 32, 32, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 105, 110, 115, 116, 97, 110, 99, 101, 46, 108, 111, 97, 100, 84, 104, 101, 109, 101, 40, 116, 104, 101, 109, 101, 73, 100, 41, 59, 10, 32, 32, 32, 32, 125, 44, 10, 32, 32, 32, 32, 108, 111, 97, 100, 84, 104, 101, 109, 101, 68, 97, 116, 97, 58, 32, 40, 114, 101, 113, 117, 101, 115, 116, 41, 32, 61, 62, 32, 123, 10, 32, 32, 32, 32, 32, 32, 99, 111, 110, 115, 116, 32, 105, 110, 115, 116, 97, 110, 99, 101, 73, 100, 32, 61, 32, 114, 101, 113, 117, 101, 115, 116, 46, 112, 97, 114, 97, 109, 115, 46, 105, 110, 115, 116, 97, 110, 99, 101, 73, 100, 59, 10, 32, 32, 32, 32, 32, 32, 99, 111, 110, 115, 116, 32, 116, 104, 101, 109, 101, 68, 97, 116, 97, 32, 61, 32, 114, 101, 113, 117, 101, 115, 116, 46, 112, 97, 114, 97, 109, 115, 46, 116, 104, 101, 109, 101, 68, 97, 116, 97, 59, 10, 32, 32, 32, 32, 32, 32, 99, 111, 110, 115, 116, 32, 105, 110, 115, 116, 97, 110, 99, 101, 32, 61, 32, 105, 110, 115, 116, 97, 110, 99, 101, 115, 77, 97, 112, 46, 103, 101, 116, 40, 105, 110, 115, 116, 97, 110, 99, 101, 73, 100, 41, 59, 10, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 33, 105, 110, 115, 116, 97, 110, 99, 101, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 116, 104, 114, 111, 119, 32, 110, 101, 119, 32, 69, 114, 114, 111, 114, 40, 96, 73, 110, 115, 116, 97, 110, 99, 101, 32, 119, 105, 116, 104, 32, 105, 100, 32, 36, 123, 105, 110, 115, 116, 97, 110, 99, 101, 73, 100, 125, 32, 100, 111, 101, 115, 32, 110, 111, 116, 32, 101, 120, 105, 115, 116, 46, 96, 41, 59, 10, 32, 32, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 105, 110, 115, 116, 97, 110, 99, 101, 46, 108, 111, 97, 100, 84, 104, 101, 109, 101, 68, 97, 116, 97, 40, 116, 104, 101, 109, 101, 68, 97, 116, 97, 41, 59, 10, 32, 32, 32, 32, 125, 44, 10, 32, 32, 32, 32, 112, 97, 117, 115, 101, 58, 32, 40, 114, 101, 113, 117, 101, 115, 116, 41, 32, 61, 62, 32, 123, 10, 32, 32, 32, 32, 32, 32, 99, 111, 110, 115, 116, 32, 105, 110, 115, 116, 97, 110, 99, 101, 73, 100, 32, 61, 32, 114, 101, 113, 117, 101, 115, 116, 46, 112, 97, 114, 97, 109, 115, 46, 105, 110, 115, 116, 97, 110, 99, 101, 73, 100, 59, 10, 32, 32, 32, 32, 32, 32, 99, 111, 110, 115, 116, 32, 105, 110, 115, 116, 97, 110, 99, 101, 32, 61, 32, 105, 110, 115, 116, 97, 110, 99, 101, 115, 77, 97, 112, 46, 103, 101, 116, 40, 105, 110, 115, 116, 97, 110, 99, 101, 73, 100, 41, 59, 10, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 33, 105, 110, 115, 116, 97, 110, 99, 101, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 116, 104, 114, 111, 119, 32, 110, 101, 119, 32, 69, 114, 114, 111, 114, 40, 96, 73, 110, 115, 116, 97, 110, 99, 101, 32, 119, 105, 116, 104, 32, 105, 100, 32, 36, 123, 105, 110, 115, 116, 97, 110, 99, 101, 73, 100, 125, 32, 100, 111, 101, 115, 32, 110, 111, 116, 32, 101, 120, 105, 115, 116, 46, 96, 41, 59, 10, 32, 32, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 105, 110, 115, 116, 97, 110, 99, 101, 46, 112, 97, 117, 115, 101, 40, 41, 59, 10, 32, 32, 32, 32, 125, 44, 10, 32, 32, 32, 32, 112, 108, 97, 121, 58, 32, 40, 114, 101, 113, 117, 101, 115, 116, 41, 32, 61, 62, 32, 123, 10, 32, 32, 32, 32, 32, 32, 99, 111, 110, 115, 116, 32, 105, 110, 115, 116, 97, 110, 99, 101, 73, 100, 32, 61, 32, 114, 101, 113, 117, 101, 115, 116, 46, 112, 97, 114, 97, 109, 115, 46, 105, 110, 115, 116, 97, 110, 99, 101, 73, 100, 59, 10, 32, 32, 32, 32, 32, 32, 99, 111, 110, 115, 116, 32, 105, 110, 115, 116, 97, 110, 99, 101, 32, 61, 32, 105, 110, 115, 116, 97, 110, 99, 101, 115, 77, 97, 112, 46, 103, 101, 116, 40, 105, 110, 115, 116, 97, 110, 99, 101, 73, 100, 41, 59, 10, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 33, 105, 110, 115, 116, 97, 110, 99, 101, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 116, 104, 114, 111, 119, 32, 110, 101, 119, 32, 69, 114, 114, 111, 114, 40, 96, 73, 110, 115, 116, 97, 110, 99, 101, 32, 119, 105, 116, 104, 32, 105, 100, 32, 36, 123, 105, 110, 115, 116, 97, 110, 99, 101, 73, 100, 125, 32, 100, 111, 101, 115, 32, 110, 111, 116, 32, 101, 120, 105, 115, 116, 46, 96, 41, 59, 10, 32, 32, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 105, 110, 115, 116, 97, 110, 99, 101, 46, 112, 108, 97, 121, 40, 41, 59, 10, 32, 32, 32, 32, 125, 44, 10, 32, 32, 32, 32, 114, 101, 115, 105, 122, 101, 58, 32, 40, 114, 101, 113, 117, 101, 115, 116, 41, 32, 61, 62, 32, 123, 10, 32, 32, 32, 32, 32, 32, 99, 111, 110, 115, 116, 32, 105, 110, 115, 116, 97, 110, 99, 101, 73, 100, 32, 61, 32, 114, 101, 113, 117, 101, 115, 116, 46, 112, 97, 114, 97, 109, 115, 46, 105, 110, 115, 116, 97, 110, 99, 101, 73, 100, 59, 10, 32, 32, 32, 32, 32, 32, 99, 111, 110, 115, 116, 32, 119, 105, 100, 116, 104, 32, 61, 32, 114, 101, 113, 117, 101, 115, 116, 46, 112, 97, 114, 97, 109, 115, 46, 119, 105, 100, 116, 104, 59, 10, 32, 32, 32, 32, 32, 32, 99, 111, 110, 115, 116, 32, 104, 101, 105, 103, 104, 116, 32, 61, 32, 114, 101, 113, 117, 101, 115, 116, 46, 112, 97, 114, 97, 109, 115, 46, 104, 101, 105, 103, 104, 116, 59, 10, 32, 32, 32, 32, 32, 32, 99, 111, 110, 115, 116, 32, 105, 110, 115, 116, 97, 110, 99, 101, 32, 61, 32, 105, 110, 115, 116, 97, 110, 99, 101, 115, 77, 97, 112, 46, 103, 101, 116, 40, 105, 110, 115, 116, 97, 110, 99, 101, 73, 100, 41, 59, 10, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 33, 105, 110, 115, 116, 97, 110, 99, 101, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 116, 104, 114, 111, 119, 32, 110, 101, 119, 32, 69, 114, 114, 111, 114, 40, 96, 73, 110, 115, 116, 97, 110, 99, 101, 32, 119, 105, 116, 104, 32, 105, 100, 32, 36, 123, 105, 110, 115, 116, 97, 110, 99, 101, 73, 100, 125, 32, 100, 111, 101, 115, 32, 110, 111, 116, 32, 101, 120, 105, 115, 116, 46, 96, 41, 59, 10, 32, 32, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 32, 32, 105, 110, 115, 116, 97, 110, 99, 101, 46, 99, 97, 110, 118, 97, 115, 46, 104, 101, 105, 103, 104, 116, 32, 61, 32, 104, 101, 105, 103, 104, 116, 59, 10, 32, 32, 32, 32, 32, 32, 105, 110, 115, 116, 97, 110, 99, 101, 46, 99, 97, 110, 118, 97, 115, 46, 119, 105, 100, 116, 104, 32, 61, 32, 119, 105, 100, 116, 104, 59, 10, 32, 32, 32, 32, 32, 32, 105, 110, 115, 116, 97, 110, 99, 101, 46, 114, 101, 115, 105, 122, 101, 40, 41, 59, 10, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 115, 117, 99, 99, 101, 115, 115, 58, 32, 116, 114, 117, 101, 10, 32, 32, 32, 32, 32, 32, 125, 59, 10, 32, 32, 32, 32, 125, 44, 10, 32, 32, 32, 32, 115, 101, 116, 66, 97, 99, 107, 103, 114, 111, 117, 110, 100, 67, 111, 108, 111, 114, 58, 32, 40, 114, 101, 113, 117, 101, 115, 116, 41, 32, 61, 62, 32, 123, 10, 32, 32, 32, 32, 32, 32, 99, 111, 110, 115, 116, 32, 105, 110, 115, 116, 97, 110, 99, 101, 73, 100, 32, 61, 32, 114, 101, 113, 117, 101, 115, 116, 46, 112, 97, 114, 97, 109, 115, 46, 105, 110, 115, 116, 97, 110, 99, 101, 73, 100, 59, 10, 32, 32, 32, 32, 32, 32, 99, 111, 110, 115, 116, 32, 98, 97, 99, 107, 103, 114, 111, 117, 110, 100, 67, 111, 108, 111, 114, 32, 61, 32, 114, 101, 113, 117, 101, 115, 116, 46, 112, 97, 114, 97, 109, 115, 46, 98, 97, 99, 107, 103, 114, 111, 117, 110, 100, 67, 111, 108, 111, 114, 59, 10, 32, 32, 32, 32, 32, 32, 99, 111, 110, 115, 116, 32, 105, 110, 115, 116, 97, 110, 99, 101, 32, 61, 32, 105, 110, 115, 116, 97, 110, 99, 101, 115, 77, 97, 112, 46, 103, 101, 116, 40, 105, 110, 115, 116, 97, 110, 99, 101, 73, 100, 41, 59, 10, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 33, 105, 110, 115, 116, 97, 110, 99, 101, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 116, 104, 114, 111, 119, 32, 110, 101, 119, 32, 69, 114, 114, 111, 114, 40, 96, 73, 110, 115, 116, 97, 110, 99, 101, 32, 119, 105, 116, 104, 32, 105, 100, 32, 36, 123, 105, 110, 115, 116, 97, 110, 99, 101, 73, 100, 125, 32, 100, 111, 101, 115, 32, 110, 111, 116, 32, 101, 120, 105, 115, 116, 46, 96, 41, 59, 10, 32, 32, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 32, 32, 105, 110, 115, 116, 97, 110, 99, 101, 46, 115, 101, 116, 66, 97, 99, 107, 103, 114, 111, 117, 110, 100, 67, 111, 108, 111, 114, 40, 98, 97, 99, 107, 103, 114, 111, 117, 110, 100, 67, 111, 108, 111, 114, 41, 59, 10, 32, 32, 32, 32, 125, 44, 10, 32, 32, 32, 32, 115, 101, 116, 70, 114, 97, 109, 101, 58, 32, 40, 114, 101, 113, 117, 101, 115, 116, 41, 32, 61, 62, 32, 123, 10, 32, 32, 32, 32, 32, 32, 99, 111, 110, 115, 116, 32, 105, 110, 115, 116, 97, 110, 99, 101, 73, 100, 32, 61, 32, 114, 101, 113, 117, 101, 115, 116, 46, 112, 97, 114, 97, 109, 115, 46, 105, 110, 115, 116, 97, 110, 99, 101, 73, 100, 59, 10, 32, 32, 32, 32, 32, 32, 99, 111, 110, 115, 116, 32, 102, 114, 97, 109, 101, 32, 61, 32, 114, 101, 113, 117, 101, 115, 116, 46, 112, 97, 114, 97, 109, 115, 46, 102, 114, 97, 109, 101, 59, 10, 32, 32, 32, 32, 32, 32, 99, 111, 110, 115, 116, 32, 105, 110, 115, 116, 97, 110, 99, 101, 32, 61, 32, 105, 110, 115, 116, 97, 110, 99, 101, 115, 77, 97, 112, 46, 103, 101, 116, 40, 105, 110, 115, 116, 97, 110, 99, 101, 73, 100, 41, 59, 10, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 33, 105, 110, 115, 116, 97, 110, 99, 101, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 116, 104, 114, 111, 119, 32, 110, 101, 119, 32, 69, 114, 114, 111, 114, 40, 96, 73, 110, 115, 116, 97, 110, 99, 101, 32, 119, 105, 116, 104, 32, 105, 100, 32, 36, 123, 105, 110, 115, 116, 97, 110, 99, 101, 73, 100, 125, 32, 100, 111, 101, 115, 32, 110, 111, 116, 32, 101, 120, 105, 115, 116, 46, 96, 41, 59, 10, 32, 32, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 32, 32, 105, 110, 115, 116, 97, 110, 99, 101, 46, 115, 101, 116, 70, 114, 97, 109, 101, 40, 102, 114, 97, 109, 101, 41, 59, 10, 32, 32, 32, 32, 125, 44, 10, 32, 32, 32, 32, 115, 101, 116, 77, 111, 100, 101, 58, 32, 40, 114, 101, 113, 117, 101, 115, 116, 41, 32, 61, 62, 32, 123, 10, 32, 32, 32, 32, 32, 32, 99, 111, 110, 115, 116, 32, 105, 110, 115, 116, 97, 110, 99, 101, 73, 100, 32, 61, 32, 114, 101, 113, 117, 101, 115, 116, 46, 112, 97, 114, 97, 109, 115, 46, 105, 110, 115, 116, 97, 110, 99, 101, 73, 100, 59, 10, 32, 32, 32, 32, 32, 32, 99, 111, 110, 115, 116, 32, 109, 111, 100, 101, 32, 61, 32, 114, 101, 113, 117, 101, 115, 116, 46, 112, 97, 114, 97, 109, 115, 46, 109, 111, 100, 101, 59, 10, 32, 32, 32, 32, 32, 32, 99, 111, 110, 115, 116, 32, 105, 110, 115, 116, 97, 110, 99, 101, 32, 61, 32, 105, 110, 115, 116, 97, 110, 99, 101, 115, 77, 97, 112, 46, 103, 101, 116, 40, 105, 110, 115, 116, 97, 110, 99, 101, 73, 100, 41, 59, 10, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 33, 105, 110, 115, 116, 97, 110, 99, 101, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 116, 104, 114, 111, 119, 32, 110, 101, 119, 32, 69, 114, 114, 111, 114, 40, 96, 73, 110, 115, 116, 97, 110, 99, 101, 32, 119, 105, 116, 104, 32, 105, 100, 32, 36, 123, 105, 110, 115, 116, 97, 110, 99, 101, 73, 100, 125, 32, 100, 111, 101, 115, 32, 110, 111, 116, 32, 101, 120, 105, 115, 116, 46, 96, 41, 59, 10, 32, 32, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 32, 32, 105, 110, 115, 116, 97, 110, 99, 101, 46, 115, 101, 116, 77, 111, 100, 101, 40, 109, 111, 100, 101, 41, 59, 10, 32, 32, 32, 32, 125, 44, 10, 32, 32, 32, 32, 115, 101, 116, 82, 101, 110, 100, 101, 114, 67, 111, 110, 102, 105, 103, 58, 32, 40, 114, 101, 113, 117, 101, 115, 116, 41, 32, 61, 62, 32, 123, 10, 32, 32, 32, 32, 32, 32, 99, 111, 110, 115, 116, 32, 105, 110, 115, 116, 97, 110, 99, 101, 73, 100, 32, 61, 32, 114, 101, 113, 117, 101, 115, 116, 46, 112, 97, 114, 97, 109, 115, 46, 105, 110, 115, 116, 97, 110, 99, 101, 73, 100, 59, 10, 32, 32, 32, 32, 32, 32, 99, 111, 110, 115, 116, 32, 114, 101, 110, 100, 101, 114, 67, 111, 110, 102, 105, 103, 32, 61, 32, 114, 101, 113, 117, 101, 115, 116, 46, 112, 97, 114, 97, 109, 115, 46, 114, 101, 110, 100, 101, 114, 67, 111, 110, 102, 105, 103, 59, 10, 32, 32, 32, 32, 32, 32, 99, 111, 110, 115, 116, 32, 105, 110, 115, 116, 97, 110, 99, 101, 32, 61, 32, 105, 110, 115, 116, 97, 110, 99, 101, 115, 77, 97, 112, 46, 103, 101, 116, 40, 105, 110, 115, 116, 97, 110, 99, 101, 73, 100, 41, 59, 10, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 33, 105, 110, 115, 116, 97, 110, 99, 101, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 116, 104, 114, 111, 119, 32, 110, 101, 119, 32, 69, 114, 114, 111, 114, 40, 96, 73, 110, 115, 116, 97, 110, 99, 101, 32, 119, 105, 116, 104, 32, 105, 100, 32, 36, 123, 105, 110, 115, 116, 97, 110, 99, 101, 73, 100, 125, 32, 100, 111, 101, 115, 32, 110, 111, 116, 32, 101, 120, 105, 115, 116, 46, 96, 41, 59, 10, 32, 32, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 32, 32, 105, 110, 115, 116, 97, 110, 99, 101, 46, 115, 101, 116, 82, 101, 110, 100, 101, 114, 67, 111, 110, 102, 105, 103, 40, 114, 101, 110, 100, 101, 114, 67, 111, 110, 102, 105, 103, 41, 59, 10, 32, 32, 32, 32, 125, 44, 10, 32, 32, 32, 32, 115, 101, 116, 83, 101, 103, 109, 101, 110, 116, 58, 32, 40, 114, 101, 113, 117, 101, 115, 116, 41, 32, 61, 62, 32, 123, 10, 32, 32, 32, 32, 32, 32, 99, 111, 110, 115, 116, 32, 105, 110, 115, 116, 97, 110, 99, 101, 73, 100, 32, 61, 32, 114, 101, 113, 117, 101, 115, 116, 46, 112, 97, 114, 97, 109, 115, 46, 105, 110, 115, 116, 97, 110, 99, 101, 73, 100, 59, 10, 32, 32, 32, 32, 32, 32, 99, 111, 110, 115, 116, 32, 115, 101, 103, 109, 101, 110, 116, 32, 61, 32, 114, 101, 113, 117, 101, 115, 116, 46, 112, 97, 114, 97, 109, 115, 46, 115, 101, 103, 109, 101, 110, 116, 59, 10, 32, 32, 32, 32, 32, 32, 99, 111, 110, 115, 116, 32, 105, 110, 115, 116, 97, 110, 99, 101, 32, 61, 32, 105, 110, 115, 116, 97, 110, 99, 101, 115, 77, 97, 112, 46, 103, 101, 116, 40, 105, 110, 115, 116, 97, 110, 99, 101, 73, 100, 41, 59, 10, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 33, 105, 110, 115, 116, 97, 110, 99, 101, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 116, 104, 114, 111, 119, 32, 110, 101, 119, 32, 69, 114, 114, 111, 114, 40, 96, 73, 110, 115, 116, 97, 110, 99, 101, 32, 119, 105, 116, 104, 32, 105, 100, 32, 36, 123, 105, 110, 115, 116, 97, 110, 99, 101, 73, 100, 125, 32, 100, 111, 101, 115, 32, 110, 111, 116, 32, 101, 120, 105, 115, 116, 46, 96, 41, 59, 10, 32, 32, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 32, 32, 105, 110, 115, 116, 97, 110, 99, 101, 46, 115, 101, 116, 83, 101, 103, 109, 101, 110, 116, 40, 115, 101, 103, 109, 101, 110, 116, 91, 48, 93, 44, 32, 115, 101, 103, 109, 101, 110, 116, 91, 49, 93, 41, 59, 10, 32, 32, 32, 32, 125, 44, 10, 32, 32, 32, 32, 115, 101, 116, 83, 112, 101, 101, 100, 58, 32, 40, 114, 101, 113, 117, 101, 115, 116, 41, 32, 61, 62, 32, 123, 10, 32, 32, 32, 32, 32, 32, 99, 111, 110, 115, 116, 32, 105, 110, 115, 116, 97, 110, 99, 101, 73, 100, 32, 61, 32, 114, 101, 113, 117, 101, 115, 116, 46, 112, 97, 114, 97, 109, 115, 46, 105, 110, 115, 116, 97, 110, 99, 101, 73, 100, 59, 10, 32, 32, 32, 32, 32, 32, 99, 111, 110, 115, 116, 32, 115, 112, 101, 101, 100, 32, 61, 32, 114, 101, 113, 117, 101, 115, 116, 46, 112, 97, 114, 97, 109, 115, 46, 115, 112, 101, 101, 100, 59, 10, 32, 32, 32, 32, 32, 32, 99, 111, 110, 115, 116, 32, 105, 110, 115, 116, 97, 110, 99, 101, 32, 61, 32, 105, 110, 115, 116, 97, 110, 99, 101, 115, 77, 97, 112, 46, 103, 101, 116, 40, 105, 110, 115, 116, 97, 110, 99, 101, 73, 100, 41, 59, 10, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 33, 105, 110, 115, 116, 97, 110, 99, 101, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 116, 104, 114, 111, 119, 32, 110, 101, 119, 32, 69, 114, 114, 111, 114, 40, 96, 73, 110, 115, 116, 97, 110, 99, 101, 32, 119, 105, 116, 104, 32, 105, 100, 32, 36, 123, 105, 110, 115, 116, 97, 110, 99, 101, 73, 100, 125, 32, 100, 111, 101, 115, 32, 110, 111, 116, 32, 101, 120, 105, 115, 116, 46, 96, 41, 59, 10, 32, 32, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 32, 32, 105, 110, 115, 116, 97, 110, 99, 101, 46, 115, 101, 116, 83, 112, 101, 101, 100, 40, 115, 112, 101, 101, 100, 41, 59, 10, 32, 32, 32, 32, 125, 44, 10, 32, 32, 32, 32, 115, 101, 116, 85, 115, 101, 70, 114, 97, 109, 101, 73, 110, 116, 101, 114, 112, 111, 108, 97, 116, 105, 111, 110, 58, 32, 40, 114, 101, 113, 117, 101, 115, 116, 41, 32, 61, 62, 32, 123, 10, 32, 32, 32, 32, 32, 32, 99, 111, 110, 115, 116, 32, 105, 110, 115, 116, 97, 110, 99, 101, 73, 100, 32, 61, 32, 114, 101, 113, 117, 101, 115, 116, 46, 112, 97, 114, 97, 109, 115, 46, 105, 110, 115, 116, 97, 110, 99, 101, 73, 100, 59, 10, 32, 32, 32, 32, 32, 32, 99, 111, 110, 115, 116, 32, 117, 115, 101, 70, 114, 97, 109, 101, 73, 110, 116, 101, 114, 112, 111, 108, 97, 116, 105, 111, 110, 32, 61, 32, 114, 101, 113, 117, 101, 115, 116, 46, 112, 97, 114, 97, 109, 115, 46, 117, 115, 101, 70, 114, 97, 109, 101, 73, 110, 116, 101, 114, 112, 111, 108, 97, 116, 105, 111, 110, 59, 10, 32, 32, 32, 32, 32, 32, 99, 111, 110, 115, 116, 32, 105, 110, 115, 116, 97, 110, 99, 101, 32, 61, 32, 105, 110, 115, 116, 97, 110, 99, 101, 115, 77, 97, 112, 46, 103, 101, 116, 40, 105, 110, 115, 116, 97, 110, 99, 101, 73, 100, 41, 59, 10, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 33, 105, 110, 115, 116, 97, 110, 99, 101, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 116, 104, 114, 111, 119, 32, 110, 101, 119, 32, 69, 114, 114, 111, 114, 40, 96, 73, 110, 115, 116, 97, 110, 99, 101, 32, 119, 105, 116, 104, 32, 105, 100, 32, 36, 123, 105, 110, 115, 116, 97, 110, 99, 101, 73, 100, 125, 32, 100, 111, 101, 115, 32, 110, 111, 116, 32, 101, 120, 105, 115, 116, 46, 96, 41, 59, 10, 32, 32, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 32, 32, 105, 110, 115, 116, 97, 110, 99, 101, 46, 115, 101, 116, 85, 115, 101, 70, 114, 97, 109, 101, 73, 110, 116, 101, 114, 112, 111, 108, 97, 116, 105, 111, 110, 40, 117, 115, 101, 70, 114, 97, 109, 101, 73, 110, 116, 101, 114, 112, 111, 108, 97, 116, 105, 111, 110, 41, 59, 10, 32, 32, 32, 32, 125, 44, 10, 32, 32, 32, 32, 115, 101, 116, 87, 97, 115, 109, 85, 114, 108, 58, 32, 40, 114, 101, 113, 117, 101, 115, 116, 41, 32, 61, 62, 32, 123, 10, 32, 32, 32, 32, 32, 32, 68, 111, 116, 76, 111, 116, 116, 105, 101, 46, 115, 101, 116, 87, 97, 115, 109, 85, 114, 108, 40, 114, 101, 113, 117, 101, 115, 116, 46, 112, 97, 114, 97, 109, 115, 46, 117, 114, 108, 41, 59, 10, 32, 32, 32, 32, 125, 44, 10, 32, 32, 32, 32, 115, 116, 111, 112, 58, 32, 40, 114, 101, 113, 117, 101, 115, 116, 41, 32, 61, 62, 32, 123, 10, 32, 32, 32, 32, 32, 32, 99, 111, 110, 115, 116, 32, 105, 110, 115, 116, 97, 110, 99, 101, 73, 100, 32, 61, 32, 114, 101, 113, 117, 101, 115, 116, 46, 112, 97, 114, 97, 109, 115, 46, 105, 110, 115, 116, 97, 110, 99, 101, 73, 100, 59, 10, 32, 32, 32, 32, 32, 32, 99, 111, 110, 115, 116, 32, 105, 110, 115, 116, 97, 110, 99, 101, 32, 61, 32, 105, 110, 115, 116, 97, 110, 99, 101, 115, 77, 97, 112, 46, 103, 101, 116, 40, 105, 110, 115, 116, 97, 110, 99, 101, 73, 100, 41, 59, 10, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 33, 105, 110, 115, 116, 97, 110, 99, 101, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 116, 104, 114, 111, 119, 32, 110, 101, 119, 32, 69, 114, 114, 111, 114, 40, 96, 73, 110, 115, 116, 97, 110, 99, 101, 32, 119, 105, 116, 104, 32, 105, 100, 32, 36, 123, 105, 110, 115, 116, 97, 110, 99, 101, 73, 100, 125, 32, 100, 111, 101, 115, 32, 110, 111, 116, 32, 101, 120, 105, 115, 116, 46, 96, 41, 59, 10, 32, 32, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 32, 32, 105, 110, 115, 116, 97, 110, 99, 101, 46, 115, 116, 111, 112, 40, 41, 59, 10, 32, 32, 32, 32, 125, 44, 10, 32, 32, 32, 32, 117, 110, 102, 114, 101, 101, 122, 101, 58, 32, 40, 114, 101, 113, 117, 101, 115, 116, 41, 32, 61, 62, 32, 123, 10, 32, 32, 32, 32, 32, 32, 99, 111, 110, 115, 116, 32, 105, 110, 115, 116, 97, 110, 99, 101, 73, 100, 32, 61, 32, 114, 101, 113, 117, 101, 115, 116, 46, 112, 97, 114, 97, 109, 115, 46, 105, 110, 115, 116, 97, 110, 99, 101, 73, 100, 59, 10, 32, 32, 32, 32, 32, 32, 99, 111, 110, 115, 116, 32, 105, 110, 115, 116, 97, 110, 99, 101, 32, 61, 32, 105, 110, 115, 116, 97, 110, 99, 101, 115, 77, 97, 112, 46, 103, 101, 116, 40, 105, 110, 115, 116, 97, 110, 99, 101, 73, 100, 41, 59, 10, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 33, 105, 110, 115, 116, 97, 110, 99, 101, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 116, 104, 114, 111, 119, 32, 110, 101, 119, 32, 69, 114, 114, 111, 114, 40, 96, 73, 110, 115, 116, 97, 110, 99, 101, 32, 119, 105, 116, 104, 32, 105, 100, 32, 36, 123, 105, 110, 115, 116, 97, 110, 99, 101, 73, 100, 125, 32, 100, 111, 101, 115, 32, 110, 111, 116, 32, 101, 120, 105, 115, 116, 46, 96, 41, 59, 10, 32, 32, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 32, 32, 105, 110, 115, 116, 97, 110, 99, 101, 46, 117, 110, 102, 114, 101, 101, 122, 101, 40, 41, 59, 10, 32, 32, 32, 32, 125, 44, 10, 32, 32, 32, 32, 115, 101, 116, 86, 105, 101, 119, 112, 111, 114, 116, 40, 114, 101, 113, 117, 101, 115, 116, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 99, 111, 110, 115, 116, 32, 105, 110, 115, 116, 97, 110, 99, 101, 73, 100, 32, 61, 32, 114, 101, 113, 117, 101, 115, 116, 46, 112, 97, 114, 97, 109, 115, 46, 105, 110, 115, 116, 97, 110, 99, 101, 73, 100, 59, 10, 32, 32, 32, 32, 32, 32, 99, 111, 110, 115, 116, 32, 120, 32, 61, 32, 114, 101, 113, 117, 101, 115, 116, 46, 112, 97, 114, 97, 109, 115, 46, 120, 59, 10, 32, 32, 32, 32, 32, 32, 99, 111, 110, 115, 116, 32, 121, 32, 61, 32, 114, 101, 113, 117, 101, 115, 116, 46, 112, 97, 114, 97, 109, 115, 46, 121, 59, 10, 32, 32, 32, 32, 32, 32, 99, 111, 110, 115, 116, 32, 119, 105, 100, 116, 104, 32, 61, 32, 114, 101, 113, 117, 101, 115, 116, 46, 112, 97, 114, 97, 109, 115, 46, 119, 105, 100, 116, 104, 59, 10, 32, 32, 32, 32, 32, 32, 99, 111, 110, 115, 116, 32, 104, 101, 105, 103, 104, 116, 32, 61, 32, 114, 101, 113, 117, 101, 115, 116, 46, 112, 97, 114, 97, 109, 115, 46, 104, 101, 105, 103, 104, 116, 59, 10, 32, 32, 32, 32, 32, 32, 99, 111, 110, 115, 116, 32, 105, 110, 115, 116, 97, 110, 99, 101, 32, 61, 32, 105, 110, 115, 116, 97, 110, 99, 101, 115, 77, 97, 112, 46, 103, 101, 116, 40, 105, 110, 115, 116, 97, 110, 99, 101, 73, 100, 41, 59, 10, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 33, 105, 110, 115, 116, 97, 110, 99, 101, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 116, 104, 114, 111, 119, 32, 110, 101, 119, 32, 69, 114, 114, 111, 114, 40, 96, 73, 110, 115, 116, 97, 110, 99, 101, 32, 119, 105, 116, 104, 32, 105, 100, 32, 36, 123, 105, 110, 115, 116, 97, 110, 99, 101, 73, 100, 125, 32, 100, 111, 101, 115, 32, 110, 111, 116, 32, 101, 120, 105, 115, 116, 46, 96, 41, 59, 10, 32, 32, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 105, 110, 115, 116, 97, 110, 99, 101, 46, 115, 101, 116, 86, 105, 101, 119, 112, 111, 114, 116, 40, 120, 44, 32, 121, 44, 32, 119, 105, 100, 116, 104, 44, 32, 104, 101, 105, 103, 104, 116, 41, 59, 10, 32, 32, 32, 32, 125, 44, 10, 32, 32, 32, 32, 115, 101, 116, 77, 97, 114, 107, 101, 114, 40, 114, 101, 113, 117, 101, 115, 116, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 99, 111, 110, 115, 116, 32, 105, 110, 115, 116, 97, 110, 99, 101, 73, 100, 32, 61, 32, 114, 101, 113, 117, 101, 115, 116, 46, 112, 97, 114, 97, 109, 115, 46, 105, 110, 115, 116, 97, 110, 99, 101, 73, 100, 59, 10, 32, 32, 32, 32, 32, 32, 99, 111, 110, 115, 116, 32, 109, 97, 114, 107, 101, 114, 32, 61, 32, 114, 101, 113, 117, 101, 115, 116, 46, 112, 97, 114, 97, 109, 115, 46, 109, 97, 114, 107, 101, 114, 59, 10, 32, 32, 32, 32, 32, 32, 99, 111, 110, 115, 116, 32, 105, 110, 115, 116, 97, 110, 99, 101, 32, 61, 32, 105, 110, 115, 116, 97, 110, 99, 101, 115, 77, 97, 112, 46, 103, 101, 116, 40, 105, 110, 115, 116, 97, 110, 99, 101, 73, 100, 41, 59, 10, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 33, 105, 110, 115, 116, 97, 110, 99, 101, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 116, 104, 114, 111, 119, 32, 110, 101, 119, 32, 69, 114, 114, 111, 114, 40, 96, 73, 110, 115, 116, 97, 110, 99, 101, 32, 119, 105, 116, 104, 32, 105, 100, 32, 36, 123, 105, 110, 115, 116, 97, 110, 99, 101, 73, 100, 125, 32, 100, 111, 101, 115, 32, 110, 111, 116, 32, 101, 120, 105, 115, 116, 46, 96, 41, 59, 10, 32, 32, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 32, 32, 105, 110, 115, 116, 97, 110, 99, 101, 46, 115, 101, 116, 77, 97, 114, 107, 101, 114, 40, 109, 97, 114, 107, 101, 114, 41, 59, 10, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 115, 117, 99, 99, 101, 115, 115, 58, 32, 116, 114, 117, 101, 10, 32, 32, 32, 32, 32, 32, 125, 59, 10, 32, 32, 32, 32, 125, 44, 10, 32, 32, 32, 32, 115, 101, 116, 76, 111, 111, 112, 40, 114, 101, 113, 117, 101, 115, 116, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 99, 111, 110, 115, 116, 32, 105, 110, 115, 116, 97, 110, 99, 101, 73, 100, 32, 61, 32, 114, 101, 113, 117, 101, 115, 116, 46, 112, 97, 114, 97, 109, 115, 46, 105, 110, 115, 116, 97, 110, 99, 101, 73, 100, 59, 10, 32, 32, 32, 32, 32, 32, 99, 111, 110, 115, 116, 32, 108, 111, 111, 112, 32, 61, 32, 114, 101, 113, 117, 101, 115, 116, 46, 112, 97, 114, 97, 109, 115, 46, 108, 111, 111, 112, 59, 10, 32, 32, 32, 32, 32, 32, 99, 111, 110, 115, 116, 32, 105, 110, 115, 116, 97, 110, 99, 101, 32, 61, 32, 105, 110, 115, 116, 97, 110, 99, 101, 115, 77, 97, 112, 46, 103, 101, 116, 40, 105, 110, 115, 116, 97, 110, 99, 101, 73, 100, 41, 59, 10, 32, 32, 32, 32, 32, 32, 105, 102, 32, 40, 33, 105, 110, 115, 116, 97, 110, 99, 101, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 116, 104, 114, 111, 119, 32, 110, 101, 119, 32, 69, 114, 114, 111, 114, 40, 96, 73, 110, 115, 116, 97, 110, 99, 101, 32, 119, 105, 116, 104, 32, 105, 100, 32, 36, 123, 105, 110, 115, 116, 97, 110, 99, 101, 73, 100, 125, 32, 100, 111, 101, 115, 32, 110, 111, 116, 32, 101, 120, 105, 115, 116, 46, 96, 41, 59, 10, 32, 32, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 32, 32, 105, 110, 115, 116, 97, 110, 99, 101, 46, 115, 101, 116, 76, 111, 111, 112, 40, 108, 111, 111, 112, 41, 59, 10, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 115, 117, 99, 99, 101, 115, 115, 58, 32, 116, 114, 117, 101, 10, 32, 32, 32, 32, 32, 32, 125, 59, 10, 32, 32, 32, 32, 125, 10, 32, 32, 125, 59, 10, 32, 32, 102, 117, 110, 99, 116, 105, 111, 110, 32, 101, 120, 101, 99, 117, 116, 101, 67, 111, 109, 109, 97, 110, 100, 40, 114, 112, 99, 82, 101, 113, 117, 101, 115, 116, 41, 32, 123, 10, 32, 32, 32, 32, 99, 111, 110, 115, 116, 32, 109, 101, 116, 104, 111, 100, 32, 61, 32, 114, 112, 99, 82, 101, 113, 117, 101, 115, 116, 46, 109, 101, 116, 104, 111, 100, 59, 10, 32, 32, 32, 32, 105, 102, 32, 40, 116, 121, 112, 101, 111, 102, 32, 99, 111, 109, 109, 97, 110, 100, 115, 91, 109, 101, 116, 104, 111, 100, 93, 32, 61, 61, 61, 32, 34, 102, 117, 110, 99, 116, 105, 111, 110, 34, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 114, 101, 116, 117, 114, 110, 32, 99, 111, 109, 109, 97, 110, 100, 115, 91, 109, 101, 116, 104, 111, 100, 93, 40, 114, 112, 99, 82, 101, 113, 117, 101, 115, 116, 41, 59, 10, 32, 32, 32, 32, 125, 32, 101, 108, 115, 101, 32, 123, 10, 32, 32, 32, 32, 32, 32, 116, 104, 114, 111, 119, 32, 110, 101, 119, 32, 69, 114, 114, 111, 114, 40, 96, 77, 101, 116, 104, 111, 100, 32, 36, 123, 109, 101, 116, 104, 111, 100, 125, 32, 105, 115, 32, 110, 111, 116, 32, 105, 109, 112, 108, 101, 109, 101, 110, 116, 101, 100, 32, 105, 110, 32, 99, 111, 109, 109, 97, 110, 100, 115, 46, 96, 41, 59, 10, 32, 32, 32, 32, 125, 10, 32, 32, 125, 10, 32, 32, 115, 101, 108, 102, 46, 111, 110, 109, 101, 115, 115, 97, 103, 101, 32, 61, 32, 40, 101, 118, 101, 110, 116, 41, 32, 61, 62, 32, 123, 10, 32, 32, 32, 32, 116, 114, 121, 32, 123, 10, 32, 32, 32, 32, 32, 32, 99, 111, 110, 115, 116, 32, 114, 101, 115, 117, 108, 116, 32, 61, 32, 101, 120, 101, 99, 117, 116, 101, 67, 111, 109, 109, 97, 110, 100, 40, 101, 118, 101, 110, 116, 46, 100, 97, 116, 97, 41, 59, 10, 32, 32, 32, 32, 32, 32, 99, 111, 110, 115, 116, 32, 114, 101, 115, 112, 111, 110, 115, 101, 32, 61, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 105, 100, 58, 32, 101, 118, 101, 110, 116, 46, 100, 97, 116, 97, 46, 105, 100, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 109, 101, 116, 104, 111, 100, 58, 32, 101, 118, 101, 110, 116, 46, 100, 97, 116, 97, 46, 109, 101, 116, 104, 111, 100, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 114, 101, 115, 117, 108, 116, 10, 32, 32, 32, 32, 32, 32, 125, 59, 10, 32, 32, 32, 32, 32, 32, 115, 101, 108, 102, 46, 112, 111, 115, 116, 77, 101, 115, 115, 97, 103, 101, 40, 114, 101, 115, 112, 111, 110, 115, 101, 41, 59, 10, 32, 32, 32, 32, 125, 32, 99, 97, 116, 99, 104, 32, 40, 101, 114, 114, 111, 114, 41, 32, 123, 10, 32, 32, 32, 32, 32, 32, 99, 111, 110, 115, 116, 32, 101, 114, 114, 111, 114, 82, 101, 115, 112, 111, 110, 115, 101, 32, 61, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 105, 100, 58, 32, 101, 118, 101, 110, 116, 46, 100, 97, 116, 97, 46, 105, 100, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 109, 101, 116, 104, 111, 100, 58, 32, 101, 118, 101, 110, 116, 46, 100, 97, 116, 97, 46, 109, 101, 116, 104, 111, 100, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 101, 114, 114, 111, 114, 58, 32, 101, 114, 114, 111, 114, 46, 109, 101, 115, 115, 97, 103, 101, 10, 32, 32, 32, 32, 32, 32, 125, 59, 10, 32, 32, 32, 32, 32, 32, 115, 101, 108, 102, 46, 112, 111, 115, 116, 77, 101, 115, 115, 97, 103, 101, 40, 101, 114, 114, 111, 114, 82, 101, 115, 112, 111, 110, 115, 101, 41, 59, 10, 32, 32, 32, 32, 125, 10, 32, 32, 125, 59, 10, 32, 32, 118, 97, 114, 32, 100, 117, 109, 109, 121, 32, 61, 32, 34, 34, 59, 10, 32, 32, 118, 97, 114, 32, 100, 111, 116, 108, 111, 116, 116, 105, 101, 95, 119, 111, 114, 107, 101, 114, 95, 100, 101, 102, 97, 117, 108, 116, 32, 61, 32, 100, 117, 109, 109, 121, 59, 10, 125, 41, 40, 41, 59, 10])], { type: \"application/javascript\" }), r = URL.createObjectURL(n), c = new Worker(r);\n return URL.revokeObjectURL(r), c;\n }\n};\nvar Z2 = l2;\nvar k1 = class {\n constructor() {\n m(this, \"_workers\", /* @__PURE__ */ new Map());\n m(this, \"_animationWorkerMap\", /* @__PURE__ */ new Map());\n }\n getWorker(n) {\n return this._workers.has(n) || this._workers.set(n, new Z2()), this._workers.get(n);\n }\n assignAnimationToWorker(n, r) {\n this._animationWorkerMap.set(n, r);\n }\n unassignAnimationFromWorker(n) {\n this._animationWorkerMap.delete(n);\n }\n sendMessage(n, r, c) {\n this.getWorker(n).postMessage(r, c || []);\n }\n terminateWorker(n) {\n let r = this._workers.get(n);\n r && (r.terminate(), this._workers.delete(n));\n }\n};\nfunction Q2(f) {\n if (f instanceof OffscreenCanvas)\n return { width: f.width, height: f.height };\n let { height: n, width: r } = f.getBoundingClientRect();\n return { width: r * window.devicePixelRatio, height: n * window.devicePixelRatio };\n}\nfunction e3() {\n return Date.now().toString(36) + Math.random().toString(36).substr(2, 9);\n}\nvar N = class N2 {\n constructor(n) {\n m(this, \"_eventManager\", new o1());\n m(this, \"_id\");\n m(this, \"_worker\");\n m(this, \"_canvas\");\n m(this, \"_dotLottieInstanceState\", { markers: [], autoplay: false, backgroundColor: \"\", currentFrame: 0, duration: 0, loop: false, mode: \"forward\", segment: [0, 0], segmentDuration: 0, speed: 1, totalFrames: 0, isLoaded: false, isPlaying: false, isPaused: false, isStopped: true, isFrozen: false, useFrameInterpolation: false, renderConfig: { devicePixelRatio: e1() }, activeAnimationId: \"\", activeThemeId: \"\", layout: void 0, marker: void 0, isReady: false, manifest: null });\n m(this, \"_created\", false);\n m(this, \"_pointerUpMethod\");\n m(this, \"_pointerDownMethod\");\n m(this, \"_pointerMoveMethod\");\n m(this, \"_pointerEnterMethod\");\n m(this, \"_pointerExitMethod\");\n m(this, \"_onCompleteMethod\");\n this._canvas = n.canvas, this._id = `dotlottie-${e3()}`;\n let r = n.workerId || \"defaultWorker\";\n this._worker = N2._workerManager.getWorker(r), N2._workerManager.assignAnimationToWorker(this._id, r), N2._wasmUrl && this._sendMessage(\"setWasmUrl\", { url: N2._wasmUrl }), this._create({ ...n, renderConfig: { ...n.renderConfig, devicePixelRatio: n.renderConfig?.devicePixelRatio || e1(), freezeOnOffscreen: n.renderConfig?.freezeOnOffscreen ?? true } }), this._worker.addEventListener(\"message\", this._handleWorkerEvent.bind(this)), this._pointerUpMethod = this._onPointerUp.bind(this), this._pointerDownMethod = this._onPointerDown.bind(this), this._pointerMoveMethod = this._onPointerMove.bind(this), this._pointerEnterMethod = this._onPointerEnter.bind(this), this._pointerExitMethod = this._onPointerLeave.bind(this), this._onCompleteMethod = this._onComplete.bind(this);\n }\n async _handleWorkerEvent(n) {\n let r = n.data;\n r.id || (r.method === \"onLoad\" && r.result.instanceId === this._id && (await this._updateDotLottieInstanceState(), this._eventManager.dispatch(r.result.event), I && this._canvas instanceof HTMLCanvasElement && (this._dotLottieInstanceState.renderConfig.freezeOnOffscreen && A.observe(this._canvas, this), this._dotLottieInstanceState.renderConfig.autoResize && k.observe(this._canvas, this))), r.method === \"onComplete\" && r.result.instanceId === this._id && (await this._updateDotLottieInstanceState(), this._eventManager.dispatch(r.result.event)), r.method === \"onDestroy\" && r.result.instanceId === this._id && this._eventManager.dispatch(r.result.event), r.method === \"onUnfreeze\" && r.result.instanceId === this._id && (await this._updateDotLottieInstanceState(), this._dotLottieInstanceState.isFrozen = false, this._eventManager.dispatch(r.result.event)), r.method === \"onFrame\" && r.result.instanceId === this._id && (this._dotLottieInstanceState.currentFrame = r.result.event.currentFrame, this._eventManager.dispatch(r.result.event)), r.method === \"onRender\" && r.result.instanceId === this._id && this._eventManager.dispatch(r.result.event), r.method === \"onFreeze\" && r.result.instanceId === this._id && (await this._updateDotLottieInstanceState(), this._eventManager.dispatch(r.result.event)), r.method === \"onPause\" && r.result.instanceId === this._id && (await this._updateDotLottieInstanceState(), this._eventManager.dispatch(r.result.event)), r.method === \"onPlay\" && r.result.instanceId === this._id && (await this._updateDotLottieInstanceState(), this._eventManager.dispatch(r.result.event)), r.method === \"onStop\" && r.result.instanceId === this._id && (await this._updateDotLottieInstanceState(), this._eventManager.dispatch(r.result.event)), r.method === \"onLoadError\" && r.result.instanceId === this._id && (await this._updateDotLottieInstanceState(), this._eventManager.dispatch(r.result.event)), r.method === \"onReady\" && r.result.instanceId === this._id && (await this._updateDotLottieInstanceState(), this._eventManager.dispatch(r.result.event)));\n }\n async _create(n) {\n let r;\n this._canvas instanceof HTMLCanvasElement ? r = this._canvas.transferControlToOffscreen() : r = this._canvas;\n let { instanceId: c } = await this._sendMessage(\"create\", { instanceId: this._id, config: { ...n, canvas: r }, ...Q2(this._canvas) }, [r]);\n if (c !== this._id)\n throw new Error(\"Instance ID mismatch\");\n this._created = true, await this._updateDotLottieInstanceState();\n }\n get isLoaded() {\n return this._dotLottieInstanceState.isLoaded;\n }\n get isPlaying() {\n return this._dotLottieInstanceState.isPlaying;\n }\n get isPaused() {\n return this._dotLottieInstanceState.isPaused;\n }\n get isStopped() {\n return this._dotLottieInstanceState.isStopped;\n }\n get currentFrame() {\n return this._dotLottieInstanceState.currentFrame;\n }\n get isFrozen() {\n return this._dotLottieInstanceState.isFrozen;\n }\n get segmentDuration() {\n return this._dotLottieInstanceState.segmentDuration;\n }\n get totalFrames() {\n return this._dotLottieInstanceState.totalFrames;\n }\n get segment() {\n return this._dotLottieInstanceState.segment;\n }\n get speed() {\n return this._dotLottieInstanceState.speed;\n }\n get duration() {\n return this._dotLottieInstanceState.duration;\n }\n get isReady() {\n return this._dotLottieInstanceState.isReady;\n }\n get mode() {\n return this._dotLottieInstanceState.mode;\n }\n get canvas() {\n return this._canvas;\n }\n get autoplay() {\n return this._dotLottieInstanceState.autoplay;\n }\n get backgroundColor() {\n return this._dotLottieInstanceState.backgroundColor;\n }\n get loop() {\n return this._dotLottieInstanceState.loop;\n }\n get useFrameInterpolation() {\n return this._dotLottieInstanceState.useFrameInterpolation;\n }\n get renderConfig() {\n return this._dotLottieInstanceState.renderConfig;\n }\n get manifest() {\n return this._dotLottieInstanceState.manifest;\n }\n get activeAnimationId() {\n return this._dotLottieInstanceState.activeAnimationId;\n }\n get marker() {\n return this._dotLottieInstanceState.marker;\n }\n get activeThemeId() {\n return this._dotLottieInstanceState.activeThemeId;\n }\n get layout() {\n return this._dotLottieInstanceState.layout;\n }\n async play() {\n this._created && (await this._sendMessage(\"play\", { instanceId: this._id }), await this._updateDotLottieInstanceState(), I && this._canvas instanceof HTMLCanvasElement && this._dotLottieInstanceState.renderConfig.freezeOnOffscreen && !A1(this._canvas) && await this.freeze());\n }\n async pause() {\n this._created && (await this._sendMessage(\"pause\", { instanceId: this._id }), await this._updateDotLottieInstanceState());\n }\n async stop() {\n this._created && (await this._sendMessage(\"stop\", { instanceId: this._id }), await this._updateDotLottieInstanceState());\n }\n async setSpeed(n) {\n this._created && (await this._sendMessage(\"setSpeed\", { instanceId: this._id, speed: n }), await this._updateDotLottieInstanceState());\n }\n async setMode(n) {\n this._created && (await this._sendMessage(\"setMode\", { instanceId: this._id, mode: n }), await this._updateDotLottieInstanceState());\n }\n async setFrame(n) {\n this._created && (await this._sendMessage(\"setFrame\", { frame: n, instanceId: this._id }), await this._updateDotLottieInstanceState());\n }\n async setSegment(n, r) {\n this._created && (await this._sendMessage(\"setSegment\", { instanceId: this._id, segment: [n, r] }), await this._updateDotLottieInstanceState());\n }\n async setRenderConfig(n) {\n if (!this._created)\n return;\n let { devicePixelRatio: r, freezeOnOffscreen: c, ...y } = n;\n await this._sendMessage(\"setRenderConfig\", { instanceId: this._id, renderConfig: { ...this._dotLottieInstanceState.renderConfig, ...y, devicePixelRatio: r || e1(), freezeOnOffscreen: c ?? true } }), await this._updateDotLottieInstanceState(), I && this._canvas instanceof HTMLCanvasElement && (this._dotLottieInstanceState.renderConfig.autoResize ? k.observe(this._canvas, this) : k.unobserve(this._canvas), this._dotLottieInstanceState.renderConfig.freezeOnOffscreen ? A.observe(this._canvas, this) : (A.unobserve(this._canvas), this._dotLottieInstanceState.isFrozen && await this.unfreeze()));\n }\n async setUseFrameInterpolation(n) {\n this._created && (await this._sendMessage(\"setUseFrameInterpolation\", { instanceId: this._id, useFrameInterpolation: n }), await this._updateDotLottieInstanceState());\n }\n async loadTheme(n) {\n if (!this._created)\n return false;\n let r = this._sendMessage(\"loadTheme\", { instanceId: this._id, themeId: n });\n return await this._updateDotLottieInstanceState(), r;\n }\n async load(n) {\n this._created && (await this._sendMessage(\"load\", { config: n, instanceId: this._id }), await this._updateDotLottieInstanceState());\n }\n async setLoop(n) {\n this._created && (await this._sendMessage(\"setLoop\", { instanceId: this._id, loop: n }), await this._updateDotLottieInstanceState());\n }\n async resize() {\n if (!this._created)\n return;\n let { height: n, width: r } = Q2(this._canvas);\n await this._sendMessage(\"resize\", { height: n, instanceId: this._id, width: r }), await this._updateDotLottieInstanceState();\n }\n async destroy() {\n this._created && (this._created = false, await this._sendMessage(\"destroy\", { instanceId: this._id }), this._cleanupStateMachineListeners(), N2._workerManager.unassignAnimationFromWorker(this._id), this._eventManager.removeAllEventListeners(), I && this._canvas instanceof HTMLCanvasElement && (A.unobserve(this._canvas), k.unobserve(this._canvas)));\n }\n async freeze() {\n this._created && (await this._sendMessage(\"freeze\", { instanceId: this._id }), await this._updateDotLottieInstanceState());\n }\n async unfreeze() {\n this._created && (await this._sendMessage(\"unfreeze\", { instanceId: this._id }), await this._updateDotLottieInstanceState());\n }\n async setBackgroundColor(n) {\n this._created && (await this._sendMessage(\"setBackgroundColor\", { instanceId: this._id, backgroundColor: n }), await this._updateDotLottieInstanceState());\n }\n async loadAnimation(n) {\n this._created && (await this._sendMessage(\"loadAnimation\", { animationId: n, instanceId: this._id }), await this._updateDotLottieInstanceState());\n }\n async setLayout(n) {\n this._created && (await this._sendMessage(\"setLayout\", { instanceId: this._id, layout: n }), await this._updateDotLottieInstanceState());\n }\n async _updateDotLottieInstanceState() {\n if (!this._created)\n return;\n let n = await this._sendMessage(\"getDotLottieInstanceState\", { instanceId: this._id });\n this._dotLottieInstanceState = n.state;\n }\n markers() {\n return this._dotLottieInstanceState.markers;\n }\n async setMarker(n) {\n this._created && (await this._sendMessage(\"setMarker\", { instanceId: this._id, marker: n }), await this._updateDotLottieInstanceState());\n }\n async loadThemeData(n) {\n if (!this._created)\n return false;\n let r = await this._sendMessage(\"loadThemeData\", { instanceId: this._id, themeData: n });\n return await this._updateDotLottieInstanceState(), r;\n }\n async setViewport(n, r, c, y) {\n return this._created ? this._sendMessage(\"setViewport\", { x: n, y: r, width: c, height: y, instanceId: this._id }) : false;\n }\n async _sendMessage(n, r, c) {\n let y = { id: `dotlottie-request-${e3()}`, method: n, params: r };\n return this._worker.postMessage(y, c || []), new Promise((R, H) => {\n let $ = (z) => {\n let t1 = z.data;\n t1.id === y.id && (this._worker.removeEventListener(\"message\", $), t1.error ? H(new Error(`Failed to execute method ${n}: ${t1.error}`)) : R(t1.result));\n };\n this._worker.addEventListener(\"message\", $);\n });\n }\n addEventListener(n, r) {\n this._eventManager.addEventListener(n, r);\n }\n removeEventListener(n, r) {\n this._eventManager.removeEventListener(n, r);\n }\n static setWasmUrl(n) {\n N2._wasmUrl = n;\n }\n async loadStateMachine(n) {\n if (!this._created)\n return false;\n let r = await this._sendMessage(\"loadStateMachine\", { instanceId: this._id, stateMachineId: n });\n return await this._updateDotLottieInstanceState(), r;\n }\n async loadStateMachineData(n) {\n if (!this._created)\n return false;\n let r = await this._sendMessage(\"loadStateMachineData\", { instanceId: this._id, stateMachineData: n });\n return await this._updateDotLottieInstanceState(), r;\n }\n async startStateMachine() {\n if (!this._created)\n return false;\n this._setupStateMachineListeners();\n let n = await this._sendMessage(\"startStateMachine\", { instanceId: this._id });\n return await this._updateDotLottieInstanceState(), n;\n }\n async stopStateMachine() {\n return this._created ? (this._cleanupStateMachineListeners(), this._sendMessage(\"stopStateMachine\", { instanceId: this._id })) : false;\n }\n async postStateMachineEvent(n) {\n return this._created ? this._sendMessage(\"postStateMachineEvent\", { event: n, instanceId: this._id }) : 1;\n }\n async getStateMachineListeners() {\n return this._created ? this._sendMessage(\"getStateMachineListeners\", { instanceId: this._id }) : [];\n }\n _getPointerPosition(n) {\n let r = this._canvas.getBoundingClientRect(), c = this._canvas.width / r.width, y = this._canvas.height / r.height, R = this._dotLottieInstanceState.renderConfig.devicePixelRatio || window.devicePixelRatio || 1, H = (n.clientX - r.left) * c / R, $ = (n.clientY - r.top) * y / R;\n return { x: H, y: $ };\n }\n _onPointerUp(n) {\n let { x: r, y: c } = this._getPointerPosition(n);\n this.postStateMachineEvent(`OnPointerUp: ${r} ${c}`);\n }\n _onPointerDown(n) {\n let { x: r, y: c } = this._getPointerPosition(n);\n this.postStateMachineEvent(`OnPointerDown: ${r} ${c}`);\n }\n _onPointerMove(n) {\n let { x: r, y: c } = this._getPointerPosition(n);\n this.postStateMachineEvent(`OnPointerMove: ${r} ${c}`);\n }\n _onPointerEnter(n) {\n let { x: r, y: c } = this._getPointerPosition(n);\n this.postStateMachineEvent(`OnPointerEnter: ${r} ${c}`);\n }\n _onPointerLeave(n) {\n let { x: r, y: c } = this._getPointerPosition(n);\n this.postStateMachineEvent(`OnPointerExit: ${r} ${c}`);\n }\n _onComplete() {\n this.postStateMachineEvent(\"OnComplete\");\n }\n async _setupStateMachineListeners() {\n if (I && this._canvas instanceof HTMLCanvasElement && this.isLoaded) {\n let n = await this._sendMessage(\"getStateMachineListeners\", { instanceId: this._id });\n n.includes(\"PointerUp\") && this._canvas.addEventListener(\"pointerup\", this._pointerUpMethod), n.includes(\"PointerDown\") && this._canvas.addEventListener(\"pointerdown\", this._pointerDownMethod), n.includes(\"PointerMove\") && this._canvas.addEventListener(\"pointermove\", this._pointerMoveMethod), n.includes(\"PointerEnter\") && this._canvas.addEventListener(\"pointerenter\", this._pointerEnterMethod), n.includes(\"PointerExit\") && this._canvas.addEventListener(\"pointerleave\", this._pointerExitMethod), n.includes(\"Complete\") && this.addEventListener(\"complete\", this._onCompleteMethod);\n }\n }\n _cleanupStateMachineListeners() {\n I && this._canvas instanceof HTMLCanvasElement && (this._canvas.removeEventListener(\"pointerup\", this._pointerUpMethod), this._canvas.removeEventListener(\"pointerdown\", this._pointerDownMethod), this._canvas.removeEventListener(\"pointermove\", this._pointerMoveMethod), this._canvas.removeEventListener(\"pointerenter\", this._pointerEnterMethod), this._canvas.removeEventListener(\"pointerleave\", this._pointerExitMethod), this.removeEventListener(\"complete\", this._onCompleteMethod));\n }\n};\nm(N, \"_workerManager\", new k1()), m(N, \"_wasmUrl\", \"\");\nvar t3 = N;\nfunction DotLottieComponent({\n children,\n className = \"\",\n setCanvasRef,\n setContainerRef,\n style,\n ...rest\n}) {\n const containerStyle = {\n width: \"100%\",\n height: \"100%\",\n lineHeight: 0,\n ...style\n };\n return /* @__PURE__ */ React.createElement(\"div\", { ref: setContainerRef, className, ...!className && { style: containerStyle } }, /* @__PURE__ */ React.createElement(\n \"canvas\",\n {\n ref: setCanvasRef,\n style: {\n width: \"100%\",\n height: \"100%\"\n },\n ...rest\n },\n children\n ));\n}\nvar useDotLottie = (config) => {\n const [dotLottie, setDotLottie] = useState(null);\n const dotLottieRef = useRef(null);\n const configRef = useRef(config);\n const canvasRef = useRef(null);\n const containerRef = useRef(null);\n dotLottieRef.current = dotLottie;\n configRef.current = config;\n const hoverHandler = useCallback((event) => {\n if (!configRef.current?.playOnHover || !dotLottieRef.current?.isLoaded)\n return;\n if (event.type === \"mouseenter\") {\n dotLottieRef.current.play();\n } else if (event.type === \"mouseleave\") {\n dotLottieRef.current.pause();\n }\n }, []);\n const setCanvasRef = useCallback((canvas) => {\n canvasRef.current = canvas;\n }, []);\n const setContainerRef = useCallback((container) => {\n containerRef.current = container;\n }, []);\n const Component = useCallback(\n (props) => {\n return /* @__PURE__ */ React.createElement(DotLottieComponent, { setContainerRef, setCanvasRef, ...props });\n },\n [setCanvasRef, setContainerRef]\n );\n useEffect(() => {\n const canvas = canvasRef.current;\n let dotLottieInstance = null;\n if (canvas) {\n dotLottieInstance = new X2({\n ...configRef.current,\n canvas\n });\n canvas.addEventListener(\"mouseenter\", hoverHandler);\n canvas.addEventListener(\"mouseleave\", hoverHandler);\n setDotLottie(dotLottieInstance);\n }\n return () => {\n dotLottieInstance?.destroy();\n setDotLottie(null);\n canvas?.removeEventListener(\"mouseenter\", hoverHandler);\n canvas?.removeEventListener(\"mouseleave\", hoverHandler);\n };\n }, [hoverHandler]);\n useEffect(() => {\n if (!dotLottieRef.current)\n return;\n if (typeof config?.speed === \"number\" && config.speed !== dotLottieRef.current.speed) {\n dotLottieRef.current.setSpeed(config.speed);\n }\n }, [config?.speed]);\n useEffect(() => {\n if (!dotLottieRef.current)\n return;\n if (typeof config?.mode === \"string\" && config.mode !== dotLottieRef.current.mode) {\n dotLottieRef.current.setMode(config.mode);\n }\n }, [config?.mode]);\n useEffect(() => {\n if (!dotLottieRef.current)\n return;\n if (typeof config?.loop === \"boolean\" && config.loop !== dotLottieRef.current.loop) {\n dotLottieRef.current.setLoop(config.loop);\n }\n }, [config?.loop]);\n useEffect(() => {\n if (!dotLottieRef.current)\n return;\n if (typeof config?.useFrameInterpolation === \"boolean\" && config.useFrameInterpolation !== dotLottieRef.current.useFrameInterpolation) {\n dotLottieRef.current.setUseFrameInterpolation(config.useFrameInterpolation);\n }\n }, [config?.useFrameInterpolation]);\n useEffect(() => {\n if (!dotLottieRef.current)\n return;\n const startFrame = config?.segment?.[0];\n const endFrame = config?.segment?.[1];\n if (typeof startFrame === \"number\" && typeof endFrame === \"number\") {\n dotLottieRef.current.setSegment(startFrame, endFrame);\n }\n }, [config?.segment]);\n useEffect(() => {\n if (!dotLottieRef.current)\n return;\n if (typeof config?.backgroundColor === \"string\" && config.backgroundColor !== dotLottieRef.current.backgroundColor) {\n dotLottieRef.current.setBackgroundColor(config.backgroundColor);\n }\n }, [config?.backgroundColor]);\n useEffect(() => {\n if (!dotLottieRef.current)\n return;\n if (typeof config?.renderConfig === \"object\") {\n dotLottieRef.current.setRenderConfig(config.renderConfig);\n }\n }, [JSON.stringify(config?.renderConfig)]);\n useEffect(() => {\n if (!dotLottieRef.current)\n return;\n if (typeof config?.data === \"string\" || config?.data instanceof ArrayBuffer) {\n dotLottieRef.current.load({\n data: config.data,\n ...configRef.current || {}\n });\n }\n }, [config?.data]);\n useEffect(() => {\n if (!dotLottieRef.current)\n return;\n if (typeof config?.src === \"string\") {\n dotLottieRef.current.load({\n src: config.src,\n ...configRef.current || {}\n });\n }\n }, [config?.src]);\n useEffect(() => {\n if (!dotLottieRef.current)\n return;\n if (typeof config?.marker === \"string\") {\n dotLottieRef.current.setMarker(config.marker);\n }\n }, [config?.marker]);\n useEffect(() => {\n if (!dotLottieRef.current)\n return;\n if (dotLottieRef.current.isLoaded && config?.animationId && dotLottieRef.current.activeAnimationId !== config.animationId) {\n dotLottieRef.current.loadAnimation(config.animationId);\n }\n }, [config?.animationId]);\n useEffect(() => {\n if (!dotLottieRef.current)\n return;\n if (dotLottieRef.current.isLoaded && dotLottieRef.current.activeThemeId !== config?.themeId) {\n dotLottieRef.current.loadTheme(config?.themeId || \"\");\n }\n }, [config?.themeId]);\n useEffect(() => {\n if (!dotLottieRef.current)\n return;\n if (dotLottieRef.current.isLoaded) {\n dotLottieRef.current.loadThemeData(config?.themeData || \"\");\n }\n }, [config?.themeData]);\n return {\n dotLottie,\n setCanvasRef,\n setContainerRef,\n canvas: canvasRef.current,\n container: containerRef.current,\n DotLottieComponent: Component\n };\n};\nvar useIsomorphicLayoutEffect = typeof window !== \"undefined\" ? useLayoutEffect : useEffect;\nfunction useStableCallback(callback) {\n const callbackContainer = useRef(callback);\n useIsomorphicLayoutEffect(() => {\n callbackContainer.current = callback;\n });\n return useCallback((...args) => callbackContainer.current(...args), [callbackContainer]);\n}\n\n// src/dotlottie.tsx\nvar DotLottieReact = ({\n animationId,\n autoplay,\n backgroundColor,\n data,\n dotLottieRefCallback,\n loop,\n marker,\n mode,\n playOnHover,\n renderConfig,\n segment,\n speed,\n src,\n themeData,\n themeId,\n useFrameInterpolation,\n ...props\n}) => {\n const { DotLottieComponent: DotLottieComponent2, dotLottie } = useDotLottie({\n data,\n mode,\n speed,\n src,\n autoplay,\n loop,\n segment,\n renderConfig,\n backgroundColor,\n useFrameInterpolation,\n playOnHover,\n marker,\n themeId,\n animationId,\n themeData\n });\n const stableDotLottieRefCallback = typeof dotLottieRefCallback === \"function\" ? useStableCallback(dotLottieRefCallback) : void 0;\n React.useEffect(() => {\n if (typeof stableDotLottieRefCallback === \"function\") {\n stableDotLottieRefCallback(dotLottie);\n }\n }, [stableDotLottieRefCallback, dotLottie]);\n return /* @__PURE__ */ React.createElement(DotLottieComponent2, { ...props });\n};\nfunction DotLottieWorkerComponent({\n children,\n className = \"\",\n setCanvasRef,\n setContainerRef,\n style,\n ...rest\n}) {\n const containerStyle = {\n width: \"100%\",\n height: \"100%\",\n lineHeight: 0,\n ...style\n };\n return /* @__PURE__ */ React.createElement(\"div\", { ref: setContainerRef, className, ...!className && { style: containerStyle } }, /* @__PURE__ */ React.createElement(\n \"canvas\",\n {\n ref: setCanvasRef,\n style: {\n width: \"100%\",\n height: \"100%\"\n },\n ...rest\n },\n children\n ));\n}\nvar useDotLottieWorker = (config) => {\n const [dotLottie, setDotLottie] = useState(null);\n const dotLottieRef = useRef(null);\n const configRef = useRef(config);\n const canvasRef = useRef(null);\n const containerRef = useRef(null);\n dotLottieRef.current = dotLottie;\n configRef.current = config;\n const hoverHandler = useCallback((event) => {\n if (!configRef.current?.playOnHover || !dotLottieRef.current?.isLoaded)\n return;\n if (event.type === \"mouseenter\") {\n dotLottieRef.current.play();\n } else if (event.type === \"mouseleave\") {\n dotLottieRef.current.pause();\n }\n }, []);\n const setCanvasRef = useCallback((canvas) => {\n canvasRef.current = canvas;\n }, []);\n const setContainerRef = useCallback((container) => {\n containerRef.current = container;\n }, []);\n const Component = useCallback(\n (props) => {\n return /* @__PURE__ */ React.createElement(DotLottieWorkerComponent, { setContainerRef, setCanvasRef, ...props });\n },\n [setCanvasRef, setContainerRef]\n );\n useEffect(() => {\n const canvas = canvasRef.current;\n let dotLottieInstance = null;\n if (canvas) {\n dotLottieInstance = new t3({\n ...configRef.current,\n canvas\n });\n canvas.addEventListener(\"mouseenter\", hoverHandler);\n canvas.addEventListener(\"mouseleave\", hoverHandler);\n setDotLottie(dotLottieInstance);\n }\n return () => {\n dotLottieInstance?.destroy();\n setDotLottie(null);\n canvas?.removeEventListener(\"mouseenter\", hoverHandler);\n canvas?.removeEventListener(\"mouseleave\", hoverHandler);\n };\n }, [hoverHandler]);\n useEffect(() => {\n if (!dotLottieRef.current)\n return;\n if (typeof config?.speed === \"number\" && config.speed !== dotLottieRef.current.speed) {\n dotLottieRef.current.setSpeed(config.speed);\n }\n }, [config?.speed]);\n useEffect(() => {\n if (!dotLottieRef.current)\n return;\n if (typeof config?.mode === \"string\" && config.mode !== dotLottieRef.current.mode) {\n dotLottieRef.current.setMode(config.mode);\n }\n }, [config?.mode]);\n useEffect(() => {\n if (!dotLottieRef.current)\n return;\n if (typeof config?.loop === \"boolean\" && config.loop !== dotLottieRef.current.loop) {\n dotLottieRef.current.setLoop(config.loop);\n }\n }, [config?.loop]);\n useEffect(() => {\n if (!dotLottieRef.current)\n return;\n if (typeof config?.useFrameInterpolation === \"boolean\" && config.useFrameInterpolation !== dotLottieRef.current.useFrameInterpolation) {\n dotLottieRef.current.setUseFrameInterpolation(config.useFrameInterpolation);\n }\n }, [config?.useFrameInterpolation]);\n useEffect(() => {\n if (!dotLottieRef.current)\n return;\n const startFrame = config?.segment?.[0];\n const endFrame = config?.segment?.[1];\n if (typeof startFrame === \"number\" && typeof endFrame === \"number\") {\n dotLottieRef.current.setSegment(startFrame, endFrame);\n }\n }, [config?.segment]);\n useEffect(() => {\n if (!dotLottieRef.current)\n return;\n if (typeof config?.backgroundColor === \"string\" && config.backgroundColor !== dotLottieRef.current.backgroundColor) {\n dotLottieRef.current.setBackgroundColor(config.backgroundColor);\n }\n }, [config?.backgroundColor]);\n useEffect(() => {\n if (!dotLottieRef.current)\n return;\n if (typeof config?.renderConfig === \"object\") {\n dotLottieRef.current.setRenderConfig(config.renderConfig);\n }\n }, [JSON.stringify(config?.renderConfig)]);\n useEffect(() => {\n if (!dotLottieRef.current)\n return;\n if (typeof config?.data === \"string\" || config?.data instanceof ArrayBuffer) {\n dotLottieRef.current.load({\n data: config.data,\n ...configRef.current || {}\n });\n }\n }, [config?.data]);\n useEffect(() => {\n if (!dotLottieRef.current)\n return;\n if (typeof config?.src === \"string\") {\n dotLottieRef.current.load({\n src: config.src,\n ...configRef.current || {}\n });\n }\n }, [config?.src]);\n useEffect(() => {\n if (!dotLottieRef.current)\n return;\n if (typeof config?.marker === \"string\") {\n dotLottieRef.current.setMarker(config.marker);\n }\n }, [config?.marker]);\n useEffect(() => {\n if (!dotLottieRef.current)\n return;\n if (dotLottieRef.current.isLoaded && config?.animationId && dotLottieRef.current.activeAnimationId !== config.animationId) {\n dotLottieRef.current.loadAnimation(config.animationId);\n }\n }, [config?.animationId]);\n useEffect(() => {\n if (!dotLottieRef.current)\n return;\n if (dotLottieRef.current.isLoaded && dotLottieRef.current.activeThemeId !== config?.themeId) {\n dotLottieRef.current.loadTheme(config?.themeId || \"\");\n }\n }, [config?.themeId]);\n useEffect(() => {\n if (!dotLottieRef.current)\n return;\n if (dotLottieRef.current.isLoaded) {\n dotLottieRef.current.loadThemeData(config?.themeData || \"\");\n }\n }, [config?.themeData]);\n return {\n dotLottie,\n setCanvasRef,\n setContainerRef,\n canvas: canvasRef.current,\n container: containerRef.current,\n DotLottieComponent: Component\n };\n};\nvar DotLottieWorkerReact = ({\n animationId,\n autoplay,\n backgroundColor,\n data,\n dotLottieRefCallback,\n loop,\n marker,\n mode,\n playOnHover,\n renderConfig,\n segment,\n speed,\n src,\n themeData,\n themeId,\n useFrameInterpolation,\n workerId,\n ...props\n}) => {\n const { DotLottieComponent: DotLottieComponent2, dotLottie } = useDotLottieWorker({\n workerId,\n data,\n mode,\n speed,\n src,\n autoplay,\n loop,\n segment,\n renderConfig,\n backgroundColor,\n useFrameInterpolation,\n playOnHover,\n marker,\n themeId,\n animationId,\n themeData\n });\n const stableDotLottieRefCallback = typeof dotLottieRefCallback === \"function\" ? useStableCallback(dotLottieRefCallback) : void 0;\n React.useEffect(() => {\n if (typeof stableDotLottieRefCallback === \"function\") {\n stableDotLottieRefCallback(dotLottie);\n }\n }, [stableDotLottieRefCallback, dotLottie]);\n return /* @__PURE__ */ React.createElement(DotLottieComponent2, { ...props });\n};\n\n// src/index.ts\nvar setWasmUrl = (url) => {\n t3.setWasmUrl(url);\n X2.setWasmUrl(url);\n};\n\nexport { DotLottieReact, DotLottieWorkerReact, setWasmUrl, useDotLottie, useDotLottieWorker };\n","import React, { useEffect, useState } from \"react\";\r\nimport { ButtonSquare } from \"../../ButtonSquare\";\r\nimport { DotLottieReact } from \"@lottiefiles/dotlottie-react\";\r\nimport { usePageViewStyle } from \"../../../hooks\";\r\nexport const HomePageMainBanner = ({ title, description, desktopAnimation, mobileAnimation, buttonLabel, buttonUrl, buttonOpenInNewTab, linkHref, linkLabel, textBelowCTA = \"\" }) => {\r\n const { isLarge, isMedium } = usePageViewStyle();\r\n const [animationPath, setAnimationPath] = useState(isLarge ? desktopAnimation : mobileAnimation);\r\n const [animationWidth, setAnimationWidth] = useState(isLarge ? 1920 : 744);\r\n const [animationHeight, setAnimationHeight] = useState(isLarge ? 650 : 500);\r\n const checkHasLink = () => linkHref && linkLabel;\r\n useEffect(() => {\r\n if (isLarge) {\r\n setAnimationPath(desktopAnimation);\r\n setAnimationWidth(1920);\r\n setAnimationHeight(650);\r\n }\r\n else {\r\n setAnimationPath(mobileAnimation);\r\n if (isMedium) {\r\n setAnimationWidth(744);\r\n setAnimationHeight(500);\r\n }\r\n else {\r\n setAnimationWidth(375);\r\n setAnimationHeight(253);\r\n }\r\n }\r\n }, [animationPath, isLarge, isMedium, desktopAnimation, mobileAnimation]);\r\n return (React.createElement(\"div\", { className: \"home-page-main-banner-background\" },\r\n React.createElement(\"div\", { className: \"home-page-main-banner\" },\r\n React.createElement(\"div\", { className: \"home-page-main-banner__text-button-wrapper\" },\r\n React.createElement(\"div\", { className: \"home-page-main-banner__text-button-box\" },\r\n React.createElement(\"h1\", { dangerouslySetInnerHTML: { __html: title } }),\r\n React.createElement(\"p\", null, description),\r\n buttonUrl && React.createElement(ButtonSquare, { label: buttonLabel, href: buttonUrl, openinnewtab: buttonOpenInNewTab.toString() }),\r\n checkHasLink() && React.createElement(\"a\", { href: linkHref, className: \"home-page-main-banner__text-link\" }, linkLabel),\r\n React.createElement(\"div\", { dangerouslySetInnerHTML: { __html: textBelowCTA }, className: \"home-page-main-banner__text-below-cta\" }))),\r\n React.createElement(DotLottieReact, { src: animationPath, loop: true, autoplay: true, width: animationWidth, height: animationHeight }))));\r\n};\r\n","import React, { useEffect, useRef } from \"react\";\r\nexport const ErrorHandler = ({ stamp }) => {\r\n const commentRef = useRef();\r\n useEffect(() => {\r\n if (commentRef.current) {\r\n commentRef.current.innerHTML = ``;\r\n }\r\n }, [stamp]);\r\n return React.createElement(\"div\", { ref: commentRef });\r\n};\r\n","import React from \"react\";\r\nexport const IconChevronRight = (React.createElement(\"svg\", { xmlns: \"http://www.w3.org/2000/svg\", width: \"12\", height: \"12\", viewBox: \"0 0 12 12\", fill: \"none\" },\r\n React.createElement(\"path\", { d: \"M6.5857 6.00064L4.46439 3.87929C4.26913 3.68403 4.26913 3.36745 4.46439 3.17219C4.65965 2.97693 4.97624 2.97693 5.1715 3.17219L7.29284 5.29353C7.68337 5.68405 7.68336 6.31722 7.29284 6.70774L5.1715 8.82906C4.97624 9.02433 4.65965 9.02432 4.46439 8.82906C4.26913 8.6338 4.26913 8.31722 4.46439 8.12195L6.5857 6.00064Z\", fill: \"#3E4A5A\" })));\r\n","import React from \"react\";\r\nexport const StatsValuesRibbon = ({ subTitle, title }) => (React.createElement(\"div\", { className: \"options-wrapper__option\" },\r\n React.createElement(\"p\", { className: \"options-wrapper__option__p-title\" }, title),\r\n React.createElement(\"div\", { className: \"options-wrapper__option__p-subtitle\", dangerouslySetInnerHTML: {\r\n __html: subTitle || \"\"\r\n } })));\r\n","import React from \"react\";\r\nimport { ButtonV2 } from \"../../../ButtonV2\";\r\nexport const ButtonSection = ({ buttonLabel, buttonOpenInNewTab, buttonHref, linkLabel, linkHref, showArrowRight }) => (React.createElement(React.Fragment, null,\r\n buttonLabel && buttonHref && (React.createElement(ButtonV2, { classes: \"tmx25-round-green-lightgreen\", href: buttonHref, openInNewTab: buttonOpenInNewTab, showArrowRight: showArrowRight }, buttonLabel)),\r\n linkLabel && linkHref && (React.createElement(ButtonV2, { design: \"ghost-large-wbg\", classes: \"login-button\", href: linkHref, openInNewTab: buttonOpenInNewTab }, linkLabel))));\r\n","import { useRive } from \"@rive-app/react-canvas\";\r\nimport React from \"react\";\r\nexport const MediaViewerComponent = ({ ...props }) => {\r\n const { RiveComponent } = useRive({\r\n autoplay: true,\r\n ...props\r\n });\r\n return (React.createElement(RiveComponent, null));\r\n};\r\n","import React from \"react\";\r\nimport { MediaViewerComponent } from \"../../../MediaViewerComponent/MediaViewerComponent\";\r\nexport const AnimationSection = ({ animationSrc, animationStateMachines, imageEl }) => (React.createElement(React.Fragment, null, (animationSrc && animationStateMachines)\r\n ? React.createElement(\"div\", { className: \"HeroBannerHomepageUplift__content__animation-container\" },\r\n React.createElement(MediaViewerComponent, { src: animationSrc, stateMachines: animationStateMachines }))\r\n : React.createElement(\"div\", { className: \"HeroBannerHomepageUplift__image\" }, imageEl)));\r\n","import React from \"react\";\r\nexport const CryptoDisclaimer = ({ content }) => (React.createElement(\"p\", { className: 'crypto-disclaimer' }, content));\r\n","import React, { useState, useEffect, useMemo } from \"react\";\r\nimport { Container, ContainerFW } from \"../../global\";\r\nimport { Img } from \"../../Img\";\r\nimport { usePageViewStyle } from \"../../../hooks\";\r\nimport { IconChevronRight } from \"../../../Components/svgIcons/chevronRight\";\r\nimport { StatsValuesRibbon } from \"./StatsValuesRibbon/StatsValuesRibbon\";\r\nimport { ButtonSection } from \"./ButtonSection/ButtonSection\";\r\nimport { AnimationSection } from \"./AnimationSection/AnimationSection\";\r\nimport { CryptoDisclaimer } from \"./CryptoDisclaimer/CryptoDisclaimer\";\r\nexport const HeroBannerWithImagesHomeUplift = ({ title, subtitle, desktopImage, mobileImage, buttonLabel, buttonHref, buttonHrefMobile, buttonOpenInNewTab, linkHref, linkLabel, backgroundColor, actionMessageLink, actionMessageBadge, actionMessageText, actionMessageLinkInNewTab, animationSrc, animationStateMachines, statValues, mobileTitleAlignment, tabletTitleAlignment, desktopTitleAlignment, mobileSubTitleAlignment, tabletSubTitleAlignment, desktopSubTitleAlignment, showArrowRight, cryptoDisclaimerContent }) => {\r\n const [buttonUrl, setButtonUrl] = useState(buttonHref);\r\n const { isLarge } = usePageViewStyle();\r\n const [imageEl, setImageEl] = useState(React.createElement(React.Fragment, null));\r\n useEffect(() => {\r\n setImageEl(isLarge ? React.createElement(Img, { src: desktopImage, alt: title, loading: \"eager\" }) : React.createElement(Img, { src: mobileImage, alt: title, loading: \"eager\" }));\r\n }, [isLarge, desktopImage, mobileImage, title]);\r\n useEffect(() => {\r\n setButtonUrl((!isLarge && buttonHrefMobile) ? buttonHrefMobile : buttonHref);\r\n }, [isLarge, buttonHrefMobile, buttonHref]);\r\n const mainClassName = `${backgroundColor === \"White\" ? \"HeroBannerHomepageUplift white-background\" : \"HeroBannerHomepageUplift\"}`;\r\n const showActionMessage = () => (actionMessageText && actionMessageLink) &&\r\n React.createElement(\"a\", { href: actionMessageLink, target: actionMessageLinkInNewTab ? \"__blank\" : \"__self\", className: \"HeroBannerHomepageUplift__action-message\" },\r\n actionMessageBadge && React.createElement(\"span\", { className: \"badge\" }, actionMessageBadge),\r\n actionMessageText,\r\n IconChevronRight);\r\n const handleButtonStatsBanner = useMemo(() => {\r\n if (buttonLabel && buttonHref) {\r\n return (React.createElement(\"div\", { className: \"buttonsWrapper\" },\r\n React.createElement(ButtonSection, { showArrowRight: showArrowRight, buttonLabel: buttonLabel, buttonHref: buttonUrl, linkHref: linkHref, linkLabel: linkLabel, buttonOpenInNewTab: buttonOpenInNewTab })));\r\n }\r\n return (Array.isArray(statValues) &&\r\n React.createElement(\"div\", { className: \"options-wrapper\" }, statValues.map((a) => (React.createElement(StatsValuesRibbon, { key: `unique${a.title}`, ...a })))));\r\n }, [buttonHref, buttonLabel, buttonOpenInNewTab, buttonUrl, linkHref, linkLabel, showArrowRight, statValues]);\r\n return (React.createElement(\"div\", { className: mainClassName },\r\n React.createElement(ContainerFW, { className: \"g-container--new\" },\r\n React.createElement(\"div\", { className: \"streaks-container\" },\r\n React.createElement(\"div\", { className: \"streaks\" },\r\n React.createElement(\"div\", { className: \"streak1\" }),\r\n React.createElement(\"div\", { className: \"streak2\" }),\r\n React.createElement(\"div\", { className: \"streak3\" }))),\r\n React.createElement(\"div\", { className: \"HeroBannerHomepageUplift__container\" },\r\n React.createElement(Container, { className: \"g-container--new\" },\r\n React.createElement(\"div\", { className: \"HeroBannerHomepageUplift__content\" },\r\n showActionMessage(),\r\n React.createElement(\"h1\", { className: \"h1-v2dot6 titleWrapper__title\", dangerouslySetInnerHTML: {\r\n __html: title,\r\n }, style: {\r\n \"--mobile-title-alignment\": mobileTitleAlignment,\r\n \"--tablet-title-alignment\": tabletTitleAlignment,\r\n \"--desktop-title-alignment\": desktopTitleAlignment\r\n } }),\r\n React.createElement(\"div\", { className: \"titleWrapper__subtitle\", dangerouslySetInnerHTML: {\r\n __html: subtitle,\r\n }, style: {\r\n \"--mobile-subTitle-alignment\": mobileSubTitleAlignment,\r\n \"--tablet-subTitle-alignment\": tabletSubTitleAlignment,\r\n \"--desktop-subTitle-alignment\": desktopSubTitleAlignment\r\n } }),\r\n handleButtonStatsBanner,\r\n cryptoDisclaimerContent && React.createElement(CryptoDisclaimer, { content: cryptoDisclaimerContent })),\r\n React.createElement(AnimationSection, { imageEl: imageEl, animationSrc: animationSrc, animationStateMachines: animationStateMachines }))))));\r\n};\r\n","import { createContext, useContext, useState, useEffect, useRef, useMemo } from 'react';\nimport { createError } from '@dotlottie/common';\n\nfunction x(){var e=useRef(!0);return e.current?(e.current=!1,!0):e.current}var T=function(e,o){var t=x();useEffect(function(){if(!t)return e()},o);},P=T;var c=function(){};function m(e){for(var o=[],t=1;t{let e=useContext(C);if(typeof e>\"u\")throw createError(\"useDotLottieContext must be used within a DotLottieProvider\");return e};var ve=(e,o,t)=>{let[r,u]=useState(()=>t());return useEffect(()=>{let f=e(()=>{let n=o();u(n);});return ()=>{f();}},[e]),r};\n\nexport { P as a, F as b, A as c, ve as d, de as e, pe as f };\n//# sourceMappingURL=out.js.map\n//# sourceMappingURL=chunk-XVC7DH25.js.map","import { a, e, d } from './chunk-XVC7DH25.js';\nimport { PlayerState, PlayerEvents, DotLottieCommonPlayer, DEFAULT_STATE } from '@dotlottie/common';\nimport c, { useRef, useEffect, useState, useCallback, useLayoutEffect } from 'react';\n\nvar Z=typeof window>\"u\"?useEffect:useLayoutEffect,H=(e,o,d)=>{let[a]=useState(()=>new DotLottieCommonPlayer(e,o.current,d)),u=useRef(!1);return Z(()=>{async function m(){!u.current&&o.current&&(u.current=!0,a.setContainer(o.current),await a.load());}return m(),()=>{u.current&&a.destroy();}},[a]),a};function L(e,o){let d$1=useCallback(()=>o(e.getState()),[o,e]),a=useCallback(m=>e.state.subscribe(m),[e]);return d(a,d$1,()=>o(DEFAULT_STATE))}var N={animation:{position:\"relative\",width:\"100%\",height:\"100%\"},animationWithControls:{position:\"relative\"}},fe=c.forwardRef(({onEvent:e$1,activeAnimationId:o,autoplay:d,background:a$1=\"transparent\",direction:u,intermission:m,loop:D,playMode:P,hover:f,speed:g,renderer:U=\"svg\",rendererSettings:$={},src:S,className:j=\"\",testId:p,children:b,defaultTheme:y,light:v=!1,worker:z=!1,activeStateId:C,lottieRef:B,...I},W)=>{let R=useRef(null),i=H(S,R,{renderer:U,activeAnimationId:o,rendererSettings:{clearCanvas:!0,progressiveLoad:!1,hideOnTransparent:!0,...$},hover:f,loop:D,direction:u,speed:g,intermission:m,background:a$1,playMode:P,autoplay:f?!1:d,testId:p,defaultTheme:y,light:v,worker:z,activeStateId:C}),t=useRef(i);t.current=i,c.useImperativeHandle(W,()=>i,[i]),c.useImperativeHandle(B,()=>i,[i]);let T=L(i,n=>n.currentState),k=L(i,n=>n.frame),q=L(i,n=>n.seeker),G=L(i,n=>n.currentAnimationId);return a(()=>{typeof D>\"u\"?t.current.revertToManifestValues([\"loop\"]):t.current.setLoop(D);},[D]),a(()=>{[PlayerState.Initial,PlayerState.Loading].includes(T)||(typeof d>\"u\"?t.current.revertToManifestValues([\"autoplay\"]):t.current.setAutoplay(d));},[d]),a(()=>{typeof u>\"u\"?t.current.revertToManifestValues([\"direction\"]):t.current.setDirection(u);},[u]),a(()=>{typeof g>\"u\"?t.current.revertToManifestValues([\"speed\"]):t.current.setSpeed(g);},[g]),a(()=>{typeof P>\"u\"?t.current.revertToManifestValues([\"playMode\"]):t.current.setMode(P);},[P]),a(()=>{typeof f>\"u\"?t.current.revertToManifestValues([\"hover\"]):t.current.setHover(f);},[f]),a(()=>{typeof a$1>\"u\"?t.current.setBackground(\"transparent\"):t.current.setBackground(a$1);},[a$1]),a(()=>{typeof m>\"u\"?t.current.revertToManifestValues([\"intermission\"]):t.current.setIntermission(m);},[m]),a(()=>{typeof y>\"u\"||!y?t.current.revertToManifestValues([\"defaultTheme\"]):t.current.setDefaultTheme(y);},[y]),a(()=>{o&&t.current.play(o);},[o]),a(()=>(typeof C<\"u\"&&t.current.enterInteractiveMode(C),()=>{t.current.exitInteractiveMode();}),[C]),a(()=>{typeof S<\"u\"&&t.current.updateSrc(S);},[S]),useEffect(()=>{let n=()=>{e$1==null||e$1(PlayerEvents.Ready);},w=()=>{e$1==null||e$1(PlayerEvents.DataReady);},x=()=>{e$1==null||e$1(PlayerEvents.DataFail);},V=()=>{t.current.currentState!==PlayerState.Playing&&(e$1==null||e$1(PlayerEvents.Complete));},h=()=>{e$1==null||e$1(PlayerEvents.LoopComplete);};return t.current.addEventListener(\"DOMLoaded\",n),t.current.addEventListener(\"data_ready\",w),t.current.addEventListener(\"data_failed\",x),t.current.addEventListener(\"complete\",V),t.current.addEventListener(\"loopComplete\",h),()=>{t.current.removeEventListener(\"DOMLoaded\",n),t.current.removeEventListener(\"data_ready\",w),t.current.removeEventListener(\"data_failed\",x),t.current.removeEventListener(\"complete\",V),t.current.removeEventListener(\"loopComplete\",h);}},[]),useEffect(()=>{switch(T){case PlayerState.Stopped:e$1==null||e$1(PlayerEvents.Stop);break;case PlayerState.Paused:e$1==null||e$1(PlayerEvents.Pause);break;case PlayerState.Playing:e$1==null||e$1(PlayerEvents.Play);break;case PlayerState.Frozen:e$1==null||e$1(PlayerEvents.Freeze);break;case PlayerState.Error:e$1==null||e$1(PlayerEvents.Error);break;}},[T]),useEffect(()=>{e$1==null||e$1(PlayerEvents.Frame,{frame:k,seeker:q});},[k]),c.createElement(e,{value:i},c.createElement(\"div\",{className:`dotlottie-container main ${b?\"controls\":\"\"} ${j}`,lang:\"en\",...p&&{\"data-testid\":p},...I},c.createElement(\"div\",{ref:R,\"data-name\":`${G}`,role:\"figure\",className:`animation ${b?\"controls\":\"\"}`,style:b?N.animationWithControls:N.animation,...p&&{\"data-testid\":\"animation\"}},T===PlayerState.Error&&c.createElement(\"div\",{...p&&{\"data-testid\":\"error\"},className:\"error\"},\"\\u26A0\\uFE0F\")),b))});\n\nexport { fe as a };\n//# sourceMappingURL=out.js.map\n//# sourceMappingURL=chunk-ZAFYX2AB.js.map","import React, { useState, useEffect } from \"react\";\r\nimport { DotLottiePlayer } from \"@dotlottie/react-player\";\r\nimport { ImgV2 } from \"../../ImgV2\";\r\nexport const SmallCardWithAnimatedIcon = ({ title, animation, linkUrl, linkTarget }) => {\r\n const [dotLottieOrImgV2, setDotLottieOrImgV2] = useState(Boolean);\r\n useEffect(() => {\r\n animation.includes(\".lottie\") ? setDotLottieOrImgV2(true) : setDotLottieOrImgV2(false);\r\n }, [animation]);\r\n return (React.createElement(\"div\", { className: \"small-card-with-animated-icon\" },\r\n React.createElement(\"a\", { href: linkUrl, target: linkTarget === false ? \"_self\" : \"_blank\", className: \"small-card-with-animated-icon__container\", rel: \"noreferrer\" },\r\n React.createElement(\"div\", { className: \"small-card-with-animated-icon__animation-wrapper\" }, dotLottieOrImgV2 ? React.createElement(DotLottiePlayer, { src: animation, autoplay: false, loop: true, hover: true }) : React.createElement(ImgV2, { src: animation, alt: title })),\r\n React.createElement(\"div\", { className: \"small-card-with-animated-icon__title-wrapper\" }, title))));\r\n};\r\n","import React from \"react\";\r\nimport { Container, ContainerFW } from \"../global\";\r\nimport { Swiper, SwiperSlide, } from \"swiper/react\";\r\nimport { SmallCardWithAnimatedIcon } from \"./SmallCardWithAnimatedIcon/SmallCardWithAnimatedIcon\";\r\nimport { getColors } from \"../../utils\";\r\nexport const SmallCardsSlider = (props) => {\r\n const { bgColor } = getColors(props.backgroundColor || \"neutralaccentbackground\");\r\n return (React.createElement(\"div\", { className: \"small-cards-slider\" },\r\n React.createElement(ContainerFW, { backgroundColor: bgColor, className: \"g-container--new\" },\r\n React.createElement(Container, { className: \"g-container--new\" },\r\n React.createElement(Swiper, { spaceBetween: 0, slidesPerView: \"auto\" }, props.content.map((item, i) => React.createElement(SwiperSlide, { key: `small-cards-slider-item-${i}` },\r\n React.createElement(SmallCardWithAnimatedIcon, { title: item.title, animation: item.animation, linkUrl: item.linkUrl, linkTarget: item.linkTarget }))))))));\r\n};\r\n","const MEDIA_EXTENSIONS = {\r\n video: [\"mp4\", \"webm\", \"avi\"],\r\n image: [\"png\", \"webp\", \"jpg\", \"svg\"]\r\n};\r\nconst getMediaFileExtension = (fileUrl) => fileUrl.includes(\".\") ? fileUrl.split(\".\").pop() : undefined;\r\nexport const getMediaType = (fileUrl) => {\r\n const extension = getMediaFileExtension(fileUrl);\r\n if (!extension) {\r\n return undefined;\r\n }\r\n return Object.entries(MEDIA_EXTENSIONS).find(([, extensions]) => extensions.includes(extension?.toLowerCase()))?.[0];\r\n};\r\n","import React from \"react\";\r\nimport { getMediaType } from \"./utils\";\r\nexport const MediaViewer = ({ mediaFileUrl, posterUrl, isVideoLooping = true }) => {\r\n const mediaType = getMediaType(mediaFileUrl);\r\n if (mediaType === \"image\") {\r\n return (React.createElement(\"div\", { className: \"media-viewer\" },\r\n React.createElement(\"img\", { src: mediaFileUrl })));\r\n }\r\n if (mediaType === \"video\") {\r\n return (React.createElement(\"div\", { className: \"media-viewer\" },\r\n React.createElement(\"video\", { src: mediaFileUrl, poster: posterUrl, autoPlay: true, muted: true, playsInline: true, loop: isVideoLooping })));\r\n }\r\n return React.createElement(React.Fragment, null);\r\n};\r\n","import React from \"react\";\r\nimport { MediaViewer } from \"./MediaViewer\";\r\nexport const SmartphoneFrameWithMedia = ({ frameImageUrl, mediaFileUrl, posterUrl, isVideoLooping, }) => (React.createElement(\"div\", { className: \"smartphone-frame-with-media\" },\r\n React.createElement(\"div\", { className: \"smartphone-frame-with-media__container\" },\r\n React.createElement(MediaViewer, { mediaFileUrl: mediaFileUrl, posterUrl: posterUrl, isVideoLooping: isVideoLooping }),\r\n React.createElement(\"img\", { className: \"smartphone-frame-with-media__frame\", src: frameImageUrl }))));\r\n","import React from \"react\";\r\nexport const LinkPill = ({ label, href, purpose = \"regular-button\", iconUrl, openNewTab = false, onClick, }) => (React.createElement(\"a\", { className: `link-pill link-pill--${purpose}`, href: href, target: openNewTab ? \"_blank\" : undefined, rel: openNewTab ? \"noreferrer\" : undefined, onClick: onClick },\r\n iconUrl && React.createElement(\"img\", { src: iconUrl }),\r\n label));\r\n","import React from \"react\";\r\nimport { LinkPill } from \"./LinkPill\";\r\nexport const LinkPillsPair = ({ pills }) => (React.createElement(\"div\", { className: \"link-pills-pair\" }, pills.map(({ label, href, purpose, iconUrl, openNewTab, onClick }, index) => (React.createElement(LinkPill, { key: index, label: label, purpose: purpose, href: href, iconUrl: iconUrl, openNewTab: openNewTab, onClick: onClick })))));\r\n","import React, { useEffect } from \"react\";\r\nimport { createPortal } from \"react-dom\";\r\nimport { IconClose } from \"../../../Components/svgIcons\";\r\nexport const MobileAppDownloadPopin = ({ title, subtitle, qRCodeImageUrl, downloadLinks, onClose }) => {\r\n useEffect(() => {\r\n const handleEsc = (event) => {\r\n if (event.key === \"Escape\") {\r\n onClose && onClose(event);\r\n }\r\n };\r\n document.addEventListener(\"keydown\", handleEsc);\r\n return () => {\r\n document.removeEventListener(\"keydown\", handleEsc);\r\n };\r\n }, [onClose]);\r\n return React.createElement(\"div\", { className: \"mobile-app-download-popin\" },\r\n React.createElement(\"div\", { className: \"mobile-app-download-popin__inner\" },\r\n React.createElement(\"button\", { className: \"mobile-app-download-popin__close-button\", onClick: onClose },\r\n React.createElement(IconClose, null)),\r\n React.createElement(\"div\", { className: \"mobile-app-download-popin__top\" },\r\n React.createElement(\"h3\", { className: \"h3-v2dot6\" }, title),\r\n subtitle && (React.createElement(\"div\", { className: \"mobile-app-download-popin__subtitle\" }, subtitle))),\r\n React.createElement(\"div\", { className: \"mobile-app-download-popin__QRCode\" },\r\n React.createElement(\"img\", { src: qRCodeImageUrl })),\r\n Array.isArray(downloadLinks) && downloadLinks.length > 0 && (React.createElement(\"div\", { className: \"mobile-app-download-popin__download-links\" }, downloadLinks.map(({ href, imageUrl }, index) => (React.createElement(\"a\", { key: index, href: href },\r\n React.createElement(\"img\", { src: imageUrl }))))))));\r\n};\r\nexport const PortalledMobileAppDownload = ({ title, subtitle, qRCodeImageUrl, downloadLinks, onClose }) => createPortal(React.createElement(MobileAppDownloadPopin, { title: title, subtitle: subtitle, downloadLinks: downloadLinks, qRCodeImageUrl: qRCodeImageUrl, onClose: onClose }), document.body);\r\n","import React from \"react\";\r\nexport const SimpleIconAndTextCard = ({ iconUrl, title, text }) => React.createElement(\"div\", { className: \"simple-icon-and-text-card\" },\r\n React.createElement(\"img\", { src: iconUrl }),\r\n React.createElement(\"h6\", { className: \"h6-v2dot6 simple-icon-and-text-card__title\" }, title),\r\n text && React.createElement(\"div\", { className: \"simple-icon-and-text-card__text\" }, text));\r\n","import React from \"react\";\r\nimport { SimpleIconAndTextCard, } from \"./SimpleIconAndTextCard/SimpleIconAndTextCard\";\r\nexport const SimpleIconAndTextCardDeck = ({ cards, className, }) => (React.createElement(\"div\", { className: `simple-icon-and-text-card-deck${className ? ` ${className}` : \"\"}` }, Array.isArray(cards) &&\r\n cards.map((card, index) => (React.createElement(SimpleIconAndTextCard, { key: index, iconUrl: card.iconUrl, title: card.title, text: card.text })))));\r\n","import React, { forwardRef, useCallback, useState, } from \"react\";\r\nimport { ContainerFW, Container } from \"../global\";\r\nimport { SmartphoneFrameWithMedia, } from \"./SmartphoneFrameWithMedia\";\r\nimport { LinkPillsPair } from \"./LinkPillsPair\";\r\nimport { PortalledMobileAppDownload, } from \"./MobileAppDownload/MobileAppDownload\";\r\nimport { SimpleIconAndTextCardDeck, } from \"./SimpleIconAndTextCardDeck\";\r\nexport const ThreeColsSectionMediaAndButtonsBase = forwardRef(({ title, cardsGroup1, cardsGroup2, mediaProps, mobileAppDownloadProps, ctaButtons, backgroundImageUrl, backgroundColor, className, anchorId = \"\" }, ref) => {\r\n const [isModalOpen, setIsModalOpen] = useState(false);\r\n const handleMobileDownloadButton = useCallback((event) => {\r\n event.preventDefault();\r\n setIsModalOpen(!isModalOpen);\r\n }, [isModalOpen]);\r\n const getEnhancedCtaButtons = () => {\r\n if (ctaButtons) {\r\n return ctaButtons.reduce((newCtaButtons, buttonProps) => {\r\n if (buttonProps.purpose === \"mobile-app-button\") {\r\n const newButtonProps = {\r\n ...buttonProps,\r\n onClick: handleMobileDownloadButton,\r\n };\r\n newCtaButtons.push(newButtonProps);\r\n return newCtaButtons;\r\n }\r\n newCtaButtons.push(buttonProps);\r\n return newCtaButtons;\r\n }, []);\r\n }\r\n return ctaButtons;\r\n };\r\n return (React.createElement(ContainerFW, { className: \"g-container--new\", backgroundColor: backgroundColor },\r\n React.createElement(\"div\", { className: \"three-cols-section-media-buttons__container\", style: {\r\n \"--background-image-url\": `url(${backgroundImageUrl})`,\r\n }, id: anchorId },\r\n React.createElement(Container, { className: \"g-container--new\" },\r\n React.createElement(\"div\", { className: `three-cols-section-media-buttons ${className ? className : \"\"}`, ref: ref },\r\n React.createElement(\"h2\", { className: \"h2-v2dot6 three-cols-section-media-buttons__title\" }, title),\r\n React.createElement(\"div\", { className: \"three-cols-section-media-buttons__media-container\" },\r\n React.createElement(SmartphoneFrameWithMedia, { frameImageUrl: mediaProps.frameImageUrl, mediaFileUrl: mediaProps.mediaFileUrl, posterUrl: mediaProps.posterUrl })),\r\n React.createElement(SimpleIconAndTextCardDeck, { cards: cardsGroup1.cards, className: \"three-cols-section-media-buttons__usps-1\" }),\r\n React.createElement(SimpleIconAndTextCardDeck, { cards: cardsGroup2.cards, className: \"three-cols-section-media-buttons__usps-2\" }),\r\n Array.isArray(ctaButtons) &&\r\n ctaButtons.length > 0 && (React.createElement(\"div\", { className: \"three-cols-section-media-buttons__cta\" },\r\n React.createElement(LinkPillsPair, { pills: getEnhancedCtaButtons() })))),\r\n mobileAppDownloadProps && isModalOpen && (React.createElement(PortalledMobileAppDownload, { title: mobileAppDownloadProps.title, subtitle: mobileAppDownloadProps.subtitle, qRCodeImageUrl: mobileAppDownloadProps.qRCodeImageUrl, downloadLinks: mobileAppDownloadProps.downloadLinks, onClose: handleMobileDownloadButton }))))));\r\n});\r\nThreeColsSectionMediaAndButtonsBase.displayName =\r\n \"ThreeColsSectionMediaAndButtonsBase\";\r\n","\"use client\";\nvar __defProp = Object.defineProperty;\nvar __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;\nvar __publicField = (obj, key, value) => __defNormalProp(obj, typeof key !== \"symbol\" ? key + \"\" : key, value);\n\n// src/InView.tsx\nimport * as React from \"react\";\n\n// src/observe.ts\nvar observerMap = /* @__PURE__ */ new Map();\nvar RootIds = /* @__PURE__ */ new WeakMap();\nvar rootId = 0;\nvar unsupportedValue = void 0;\nfunction defaultFallbackInView(inView) {\n unsupportedValue = inView;\n}\nfunction getRootId(root) {\n if (!root) return \"0\";\n if (RootIds.has(root)) return RootIds.get(root);\n rootId += 1;\n RootIds.set(root, rootId.toString());\n return RootIds.get(root);\n}\nfunction optionsToId(options) {\n return Object.keys(options).sort().filter(\n (key) => options[key] !== void 0\n ).map((key) => {\n return `${key}_${key === \"root\" ? getRootId(options.root) : options[key]}`;\n }).toString();\n}\nfunction createObserver(options) {\n const id = optionsToId(options);\n let instance = observerMap.get(id);\n if (!instance) {\n const elements = /* @__PURE__ */ new Map();\n let thresholds;\n const observer = new IntersectionObserver((entries) => {\n entries.forEach((entry) => {\n var _a;\n const inView = entry.isIntersecting && thresholds.some((threshold) => entry.intersectionRatio >= threshold);\n if (options.trackVisibility && typeof entry.isVisible === \"undefined\") {\n entry.isVisible = inView;\n }\n (_a = elements.get(entry.target)) == null ? void 0 : _a.forEach((callback) => {\n callback(inView, entry);\n });\n });\n }, options);\n thresholds = observer.thresholds || (Array.isArray(options.threshold) ? options.threshold : [options.threshold || 0]);\n instance = {\n id,\n observer,\n elements\n };\n observerMap.set(id, instance);\n }\n return instance;\n}\nfunction observe(element, callback, options = {}, fallbackInView = unsupportedValue) {\n if (typeof window.IntersectionObserver === \"undefined\" && fallbackInView !== void 0) {\n const bounds = element.getBoundingClientRect();\n callback(fallbackInView, {\n isIntersecting: fallbackInView,\n target: element,\n intersectionRatio: typeof options.threshold === \"number\" ? options.threshold : 0,\n time: 0,\n boundingClientRect: bounds,\n intersectionRect: bounds,\n rootBounds: bounds\n });\n return () => {\n };\n }\n const { id, observer, elements } = createObserver(options);\n const callbacks = elements.get(element) || [];\n if (!elements.has(element)) {\n elements.set(element, callbacks);\n }\n callbacks.push(callback);\n observer.observe(element);\n return function unobserve() {\n callbacks.splice(callbacks.indexOf(callback), 1);\n if (callbacks.length === 0) {\n elements.delete(element);\n observer.unobserve(element);\n }\n if (elements.size === 0) {\n observer.disconnect();\n observerMap.delete(id);\n }\n };\n}\n\n// src/InView.tsx\nfunction isPlainChildren(props) {\n return typeof props.children !== \"function\";\n}\nvar InView = class extends React.Component {\n constructor(props) {\n super(props);\n __publicField(this, \"node\", null);\n __publicField(this, \"_unobserveCb\", null);\n __publicField(this, \"handleNode\", (node) => {\n if (this.node) {\n this.unobserve();\n if (!node && !this.props.triggerOnce && !this.props.skip) {\n this.setState({ inView: !!this.props.initialInView, entry: void 0 });\n }\n }\n this.node = node ? node : null;\n this.observeNode();\n });\n __publicField(this, \"handleChange\", (inView, entry) => {\n if (inView && this.props.triggerOnce) {\n this.unobserve();\n }\n if (!isPlainChildren(this.props)) {\n this.setState({ inView, entry });\n }\n if (this.props.onChange) {\n this.props.onChange(inView, entry);\n }\n });\n this.state = {\n inView: !!props.initialInView,\n entry: void 0\n };\n }\n componentDidMount() {\n this.unobserve();\n this.observeNode();\n }\n componentDidUpdate(prevProps) {\n if (prevProps.rootMargin !== this.props.rootMargin || prevProps.root !== this.props.root || prevProps.threshold !== this.props.threshold || prevProps.skip !== this.props.skip || prevProps.trackVisibility !== this.props.trackVisibility || prevProps.delay !== this.props.delay) {\n this.unobserve();\n this.observeNode();\n }\n }\n componentWillUnmount() {\n this.unobserve();\n }\n observeNode() {\n if (!this.node || this.props.skip) return;\n const {\n threshold,\n root,\n rootMargin,\n trackVisibility,\n delay,\n fallbackInView\n } = this.props;\n this._unobserveCb = observe(\n this.node,\n this.handleChange,\n {\n threshold,\n root,\n rootMargin,\n // @ts-ignore\n trackVisibility,\n // @ts-ignore\n delay\n },\n fallbackInView\n );\n }\n unobserve() {\n if (this._unobserveCb) {\n this._unobserveCb();\n this._unobserveCb = null;\n }\n }\n render() {\n const { children } = this.props;\n if (typeof children === \"function\") {\n const { inView, entry } = this.state;\n return children({ inView, entry, ref: this.handleNode });\n }\n const {\n as,\n triggerOnce,\n threshold,\n root,\n rootMargin,\n onChange,\n skip,\n trackVisibility,\n delay,\n initialInView,\n fallbackInView,\n ...props\n } = this.props;\n return React.createElement(\n as || \"div\",\n { ref: this.handleNode, ...props },\n children\n );\n }\n};\n\n// src/useInView.tsx\nimport * as React2 from \"react\";\nfunction useInView({\n threshold,\n delay,\n trackVisibility,\n rootMargin,\n root,\n triggerOnce,\n skip,\n initialInView,\n fallbackInView,\n onChange\n} = {}) {\n var _a;\n const [ref, setRef] = React2.useState(null);\n const callback = React2.useRef();\n const [state, setState] = React2.useState({\n inView: !!initialInView,\n entry: void 0\n });\n callback.current = onChange;\n React2.useEffect(\n () => {\n if (skip || !ref) return;\n let unobserve;\n unobserve = observe(\n ref,\n (inView, entry) => {\n setState({\n inView,\n entry\n });\n if (callback.current) callback.current(inView, entry);\n if (entry.isIntersecting && triggerOnce && unobserve) {\n unobserve();\n unobserve = void 0;\n }\n },\n {\n root,\n rootMargin,\n threshold,\n // @ts-ignore\n trackVisibility,\n // @ts-ignore\n delay\n },\n fallbackInView\n );\n return () => {\n if (unobserve) {\n unobserve();\n }\n };\n },\n // We break the rule here, because we aren't including the actual `threshold` variable\n // eslint-disable-next-line react-hooks/exhaustive-deps\n [\n // If the threshold is an array, convert it to a string, so it won't change between renders.\n Array.isArray(threshold) ? threshold.toString() : threshold,\n ref,\n root,\n rootMargin,\n triggerOnce,\n skip,\n trackVisibility,\n fallbackInView,\n delay\n ]\n );\n const entryTarget = (_a = state.entry) == null ? void 0 : _a.target;\n const previousEntryTarget = React2.useRef();\n if (!ref && entryTarget && !triggerOnce && !skip && previousEntryTarget.current !== entryTarget) {\n previousEntryTarget.current = entryTarget;\n setState({\n inView: !!initialInView,\n entry: void 0\n });\n }\n const result = [setRef, state.inView, state.entry];\n result.ref = result[0];\n result.inView = result[1];\n result.entry = result[2];\n return result;\n}\nexport {\n InView,\n defaultFallbackInView,\n observe,\n useInView\n};\n//# sourceMappingURL=index.mjs.map","import { useRef } from \"react\";\r\nimport { useInView } from \"react-intersection-observer\";\r\nexport const useComponentIntersection = (intersectionThresholds, phaseSettingFunction) => {\r\n const isIntersectionCompleteRef = useRef(false);\r\n const passedThresholdsRef = useRef([]);\r\n const manageIntersections = (entry, phaseSettingFunction) => {\r\n const sorted_thresholds = [...intersectionThresholds].sort((a, b) => b - a);\r\n for (let i = 0; i < sorted_thresholds.length; i++) {\r\n if (entry.intersectionRatio >= sorted_thresholds[i]) {\r\n if (passedThresholdsRef.current.includes(sorted_thresholds[i])) {\r\n continue;\r\n }\r\n const phaseNum = sorted_thresholds.length - i;\r\n passedThresholdsRef.current.push(sorted_thresholds[i]);\r\n phaseSettingFunction(phaseNum);\r\n if (i === 0) {\r\n isIntersectionCompleteRef.current = true;\r\n }\r\n return;\r\n }\r\n }\r\n };\r\n const handleIntersectionChange = (inView, entry) => {\r\n if (isIntersectionCompleteRef.current) {\r\n return;\r\n }\r\n manageIntersections(entry, phaseSettingFunction);\r\n };\r\n const { ref } = useInView({\r\n threshold: intersectionThresholds,\r\n onChange: handleIntersectionChange\r\n });\r\n return {\r\n ref\r\n };\r\n};\r\n","import React, { useState } from \"react\";\r\nimport { useComponentIntersection } from \"./hooks/useComponentIntersection\";\r\nimport { ThreeColsSectionMediaAndButtonsBase } from \"./ThreeColsSectionMediaAndButtonsBase\";\r\nconst INTERSECTION_THRESHOLDS = [\r\n 0.3,\r\n 0.4,\r\n 0.45\r\n];\r\nexport const ThreeColsSectionMediaAndButtonsIntersectionObserver = ({ title, cardsGroup1, cardsGroup2, mediaProps, mobileAppDownloadProps, ctaButtons, backgroundImageUrl, backgroundColor, animationType = \"none\", anchorId = \"\" }) => {\r\n const [interSectionPhase, setIntersectionPhase] = useState(0);\r\n const { ref } = useComponentIntersection(INTERSECTION_THRESHOLDS, setIntersectionPhase);\r\n const getExtraClasses = () => {\r\n let animationBaseClass = `three-cols-section-media-buttons--animation three-cols-section-media-buttons--animation--${animationType}`;\r\n if (interSectionPhase) {\r\n animationBaseClass += \" three-cols-section-media-buttons--animation--triggered\";\r\n for (let i = 1; i <= interSectionPhase; i++) {\r\n animationBaseClass += ` three-cols-section-media-buttons--animation--triggered--${i}`;\r\n }\r\n return animationBaseClass;\r\n }\r\n return animationBaseClass;\r\n };\r\n return (React.createElement(ThreeColsSectionMediaAndButtonsBase, { title: title, cardsGroup1: cardsGroup1, cardsGroup2: cardsGroup2, mediaProps: mediaProps, mobileAppDownloadProps: mobileAppDownloadProps, ctaButtons: ctaButtons, backgroundImageUrl: backgroundImageUrl, backgroundColor: backgroundColor, className: getExtraClasses(), anchorId: anchorId, ref: ref }));\r\n};\r\n","import React from \"react\";\r\nimport { ThreeColsSectionMediaAndButtonsBase } from \"./ThreeColsSectionMediaAndButtonsBase\";\r\nimport { ThreeColsSectionMediaAndButtonsIntersectionObserver } from \"./ThreeColsSectionMediaAndButtonsIntersectionObserver\";\r\nexport const ThreeColsSectionMediaAndButtons = ({ title, cardsGroup1, cardsGroup2, mediaProps, mobileAppDownloadProps, ctaButtons, backgroundImageUrl, backgroundColor, animationType = \"none\", anchorId = \"\" }) => {\r\n if (animationType !== \"none\") {\r\n return (React.createElement(ThreeColsSectionMediaAndButtonsIntersectionObserver, { title: title, cardsGroup1: cardsGroup1, cardsGroup2: cardsGroup2, mediaProps: mediaProps, mobileAppDownloadProps: mobileAppDownloadProps, ctaButtons: ctaButtons, backgroundImageUrl: backgroundImageUrl, backgroundColor: backgroundColor, animationType: animationType, anchorId: anchorId }));\r\n }\r\n return (React.createElement(ThreeColsSectionMediaAndButtonsBase, { title: title, cardsGroup1: cardsGroup1, cardsGroup2: cardsGroup2, mediaProps: mediaProps, mobileAppDownloadProps: mobileAppDownloadProps, ctaButtons: ctaButtons, backgroundImageUrl: backgroundImageUrl, backgroundColor: backgroundColor, anchorId: anchorId }));\r\n};\r\n","import React from \"react\";\r\nimport { Heading } from \"../../Heading\";\r\nimport { ImgV2 } from \"../../ImgV2\";\r\nexport const License = ({ description, iconUrl, title }) => (React.createElement(\"div\", { className: 'license-root' },\r\n React.createElement(ImgV2, { src: iconUrl }),\r\n React.createElement(Heading, { design: \"h3-bold-small\" }, title),\r\n React.createElement(\"p\", { className: \"license-root__description\" }, description)));\r\n","import React, { useEffect, useState } from \"react\";\r\nimport { Swiper, SwiperSlide } from \"swiper/react\";\r\nimport { License } from \"./License/License\";\r\nimport { ContainerFW } from \"../global\";\r\nimport { Autoplay } from \"swiper\";\r\nexport const LicenseSlider = ({ licenses, title, backgroundColor = \"#FFF\" }) => {\r\n const [isClient, setIsClient] = useState(false);\r\n useEffect(() => {\r\n setIsClient(true);\r\n }, []);\r\n return (React.createElement(ContainerFW, { backgroundColor: backgroundColor, className: \"g-container--new license-slider-root__container\" },\r\n React.createElement(\"div\", { className: \"license-slider-root__container\" }, isClient && (React.createElement(\"div\", { className: \"license-slider-root\", style: { \"--gradient-start-color\": `${backgroundColor}` } },\r\n React.createElement(\"p\", { className: \"text-nav\" }, title),\r\n React.createElement(\"div\", { className: \"license-slider-root__license-wrapper\" }, licenses.length > 0 &&\r\n React.createElement(Swiper, { breakpoints: {\r\n 375: {\r\n spaceBetween: 8,\r\n },\r\n 601: {\r\n spaceBetween: 32,\r\n },\r\n 1024: {\r\n spaceBetween: 32,\r\n },\r\n 1600: {\r\n spaceBetween: 32,\r\n },\r\n }, slidesPerView: \"auto\", loop: true, autoplay: {\r\n delay: 1,\r\n disableOnInteraction: true,\r\n }, speed: 4000, allowTouchMove: false, modules: [Autoplay], freeMode: true }, [...licenses, ...licenses, ...licenses].map((license, i) => (React.createElement(SwiperSlide, { key: `license-slide-${i}-${license.title}` },\r\n React.createElement(License, { ...license })))))))))));\r\n};\r\n","import React from \"react\";\r\nimport { ImgV2 } from \"../../../ImgV2\";\r\nexport const FeaturesList = ({ featureTitle, imageUrl }) => (React.createElement(\"div\", { className: 'features-list__root' },\r\n React.createElement(ImgV2, { src: imageUrl, alt: imageUrl }),\r\n React.createElement(\"p\", { className: 'feature-title' }, featureTitle)));\r\n","import React, { useEffect, useMemo, useRef } from \"react\";\r\nexport const TrustPilotMiniBanner = ({ locale = \"en\", theme = \"light\" }) => {\r\n const containerRef = useRef(null);\r\n useEffect(() => {\r\n const script = document.createElement(\"script\");\r\n script.src = \"https://widget.trustpilot.com/bootstrap/v5/tp.widget.bootstrap.min.js\";\r\n script.async = true;\r\n script.type = \"text/javascript\";\r\n if (containerRef.current) {\r\n containerRef.current.appendChild(script);\r\n }\r\n }, []);\r\n const handleTVWidget = useMemo(() => (`
\r\n Trustpilot\r\n
`), [locale, theme]);\r\n return (React.createElement(\"div\", { ref: containerRef, dangerouslySetInnerHTML: {\r\n __html: handleTVWidget,\r\n } }));\r\n};\r\n","import React from \"react\";\r\nimport { ImgV2 } from \"../../../ImgV2\";\r\nexport const CheckOutButton = ({ title, iconUrl, linkUrl }) => (React.createElement(\"a\", { href: linkUrl, className: \"caption-risk-warning-bold\" },\r\n React.createElement(\"p\", { className: \"button-title\" }, title),\r\n React.createElement(ImgV2, { src: iconUrl, alt: iconUrl })));\r\n","import React from \"react\";\r\nimport { getColors } from \"../../../utils\";\r\nimport { Container, ContainerFW } from \"../../../header\";\r\nimport { FeaturesList } from \"./FeaturesList/FeaturesList\";\r\nimport { TrustPilotMiniBanner } from \"./TrustPilotMiniBanner/TrustPilotMiniBanner\";\r\nimport { CheckOutButton } from \"./CheckOutButton/CheckOutButton\";\r\nexport const StatsLineRibbonBanner = ({ features, backgroundColor, trustPilotLocale, checkOutButtonValues, trustPilotTheme = \"light\" }) => {\r\n const { bgColor } = getColors(backgroundColor);\r\n return (React.createElement(ContainerFW, { backgroundColor: bgColor, className: \"g-container--new\" },\r\n React.createElement(Container, { className: \"g-container--new\" },\r\n React.createElement(\"div\", { className: \"stats-line-ribbon-banner__root\" },\r\n React.createElement(\"div\", { className: \"stats-line-ribbon-banner__root__features\" }, features.length > 0 && features.map((a) => (React.createElement(FeaturesList, { key: `unique${a.featureTitle}`, ...a })))),\r\n React.createElement(TrustPilotMiniBanner, { theme: trustPilotTheme, locale: trustPilotLocale }),\r\n React.createElement(CheckOutButton, { ...checkOutButtonValues })))));\r\n};\r\n","import React from \"react\";\r\nimport { ImgV2 } from \"../../../ImgV2\";\r\nexport const SmallAwardCard = ({ leftLeavesImage, rightLeavesImage, title, subtitle, date }) => (React.createElement(\"div\", { className: \"small-award-card\" },\r\n React.createElement(\"div\", { className: \"small-award-card__award-wrapper\" },\r\n React.createElement(ImgV2, { src: leftLeavesImage }),\r\n React.createElement(\"p\", { className: \"small-award-card__award-wrapper__title\" }, title),\r\n React.createElement(ImgV2, { src: rightLeavesImage })),\r\n React.createElement(\"p\", { className: \"small-award-card__subtitle\" }, subtitle),\r\n React.createElement(\"p\", { className: \"small-award-card__date\" }, date)));\r\n","import * as React from \"react\";\r\nimport { ContainerFW, Container } from \"../global\";\r\nimport { Swiper, SwiperSlide } from \"swiper/react\";\r\nimport { Navigation, Pagination } from \"swiper\";\r\nimport { SmallAwardCard } from \"../Cards/SmallAwardCardsDeck/SmallAwardCard/SmallAwardCard\";\r\nimport { getContainerClassPerMaxWidth } from \"../../utils\";\r\nexport const AwardsSlider = (props) => {\r\n const slidesQuantity = props.awards.length > 4 ? 4 : props.awards.length;\r\n const containerMaxWidthClass = props.containerMaxWidth && getContainerClassPerMaxWidth(props.containerMaxWidth);\r\n const containerExtraClass = containerMaxWidthClass ? ` ${containerMaxWidthClass}` : \"\";\r\n return (React.createElement(ContainerFW, { backgroundColor: props.backgroundColor, className: containerExtraClass },\r\n React.createElement(\"div\", { className: \"awards\" },\r\n props.title && React.createElement(\"h2\", { className: \"h2-v2dot6 awards__title\" }, props.title),\r\n React.createElement(Container, { className: containerExtraClass },\r\n React.createElement(\"div\", { className: \"awards__wrapper\" },\r\n React.createElement(Swiper, { modules: [Navigation, Pagination], navigation: {\r\n nextEl: \".swiper-button-next\",\r\n prevEl: \".swiper-button-prev\",\r\n }, breakpoints: {\r\n 375: {\r\n slidesPerView: 1.3,\r\n },\r\n 601: {\r\n slidesPerView: 2.2,\r\n },\r\n 1024: {\r\n slidesPerView: slidesQuantity\r\n },\r\n }, pagination: {\r\n el: \".awards__pagination\",\r\n clickable: true,\r\n renderBullet: () => \"\",\r\n } }, props.awards.map((award) => (React.createElement(SwiperSlide, { key: `awards-slide-${award.title}` },\r\n React.createElement(SmallAwardCard, { ...award })))))),\r\n React.createElement(\"div\", { className: \"awards__pagination\" })))));\r\n};\r\n","import * as React from \"react\";\r\nimport { getColors } from \"../../../../utils/getColors\";\r\nimport { Heading } from \"../../../Heading\";\r\nimport { ImgV2 } from \"../../../ImgV2\";\r\nimport { DotLottiePlayer } from \"@dotlottie/react-player\";\r\nexport const FeatureCard = ({ cardBackgroundColor, cardTitle, cardDescription, cardClass, cardVideoURL, thumbnailImageURL, cardButtonURL, cardButtonLabel, openOnNewPage, cardLottieURL = \"\", cardImageURL, cardImageAlt }) => {\r\n const { bgColor } = getColors(cardBackgroundColor);\r\n const linkTarget = openOnNewPage === true ? \"_blank\" : \"_self\";\r\n const [dotLottieOrImgV2, setDotLottieOrImgV2] = React.useState(Boolean);\r\n const [videoPath, setVideoPath] = React.useState(cardVideoURL);\r\n React.useEffect(() => {\r\n cardLottieURL.includes(\".lottie\") ? setDotLottieOrImgV2(true) : setDotLottieOrImgV2(false);\r\n }, [cardLottieURL]);\r\n React.useEffect(() => {\r\n setVideoPath(cardVideoURL);\r\n }, [cardVideoURL]);\r\n const cardType = () => {\r\n if (cardClass === \"item0\") {\r\n return (React.createElement(\"div\", { style: { backgroundColor: bgColor }, className: cardClass },\r\n React.createElement(\"video\", { autoPlay: true, loop: true, muted: true, playsInline: true, poster: thumbnailImageURL },\r\n React.createElement(\"source\", { src: videoPath, type: \"video/mp4\" })),\r\n React.createElement(\"div\", { className: \"item0-text-wrapper\" },\r\n React.createElement(Heading, { design: \"h3-v2dot6\" }, cardTitle),\r\n React.createElement(\"p\", { dangerouslySetInnerHTML: {\r\n __html: cardDescription,\r\n } })),\r\n React.createElement(\"a\", { href: cardButtonURL, target: linkTarget, rel: \"noreferrer\" }, cardButtonLabel)));\r\n }\r\n else if (cardClass === \"item1\") {\r\n return (React.createElement(\"div\", { style: { backgroundColor: bgColor }, className: cardClass },\r\n React.createElement(\"div\", { className: \"item1-text-wrapper\" },\r\n React.createElement(Heading, { design: \"h4-v2dot6\" }, cardTitle),\r\n React.createElement(\"p\", { dangerouslySetInnerHTML: {\r\n __html: cardDescription,\r\n } }),\r\n React.createElement(\"a\", { href: cardButtonURL, target: linkTarget, className: \"item1-button\", rel: \"noreferrer\" }, cardButtonLabel)),\r\n React.createElement(ImgV2, { src: cardImageURL, alt: cardImageAlt })));\r\n }\r\n else if (cardClass === \"item2\") {\r\n return (React.createElement(\"div\", { style: { backgroundColor: bgColor }, className: cardClass },\r\n React.createElement(\"div\", { className: \"item2-text-wrapper\" },\r\n React.createElement(Heading, { design: \"h4-v2dot6\" }, cardTitle),\r\n React.createElement(\"p\", { dangerouslySetInnerHTML: {\r\n __html: cardDescription,\r\n } }),\r\n React.createElement(\"a\", { href: cardButtonURL, target: linkTarget, className: \"item2-button\", rel: \"noreferrer\" }, cardButtonLabel)),\r\n dotLottieOrImgV2 ? React.createElement(DotLottiePlayer, { src: cardLottieURL, autoplay: true, loop: true }) : React.createElement(\"div\", { className: \"item2-image-container\" },\r\n React.createElement(ImgV2, { src: cardLottieURL, alt: cardImageAlt }))));\r\n }\r\n else {\r\n return (React.createElement(React.Fragment, null));\r\n }\r\n };\r\n return (cardType());\r\n};\r\n","import * as React from \"react\";\r\nimport { Container, ContainerFW } from \"../../global\";\r\nimport { getColors } from \"../../../utils/getColors\";\r\nimport { FeatureCard } from \"./FeatureCard/FeatureCard\";\r\nexport const FeatureCardsSection = ({ backgroundColor, cards }) => {\r\n const { bgColor } = getColors(backgroundColor);\r\n return (React.createElement(\"div\", { className: \"feature-cards-section\", style: { backgroundColor: bgColor } },\r\n React.createElement(ContainerFW, null,\r\n React.createElement(Container, { className: \"g-container--new\" },\r\n React.createElement(\"div\", { className: \"feature-cards-section__cards-container\" }, cards.map((card, index) => React.createElement(FeatureCard, { key: index, ...card, cardClass: `item${index}` })))))));\r\n};\r\n","import React from \"react\";\r\nimport { Container, ContainerFW } from \"../../global\";\r\nimport { ButtonV2 } from \"../../ButtonV2\";\r\nimport { getColors, getContainerClassPerMaxWidth, } from \"../../../utils\";\r\nexport const FooterBannerV2_6 = ({ title, subtitle, topImageUrl, leftImageUrl, rightImageUrl, buttonHref, buttonText, backgroundColor, containerMaxWidth }) => {\r\n const { bgColor, textColor } = getColors(backgroundColor);\r\n const containerMaxWidthClass = containerMaxWidth && getContainerClassPerMaxWidth(containerMaxWidth);\r\n const containerExtraClass = containerMaxWidthClass\r\n ? ` ${containerMaxWidthClass}`\r\n : \"\";\r\n return (React.createElement(ContainerFW, { backgroundColor: bgColor, className: containerExtraClass },\r\n React.createElement(Container, { className: containerExtraClass },\r\n React.createElement(\"div\", { className: \"footer-banner-v2dot6\", style: { \"--text-color\": `${textColor}` } },\r\n React.createElement(\"img\", { className: \"footer-banner-v2dot6__top-image\", src: topImageUrl }),\r\n React.createElement(\"img\", { className: \"footer-banner-v2dot6__left-image\", src: leftImageUrl }),\r\n React.createElement(\"div\", { className: \"footer-banner-v2dot6__text-and-button\" },\r\n React.createElement(\"h3\", { className: \"footer-banner-v2dot6__title\" }, title),\r\n React.createElement(\"div\", { className: \"footer-banner-v2dot6__subtitle\" }, subtitle),\r\n React.createElement(ButtonV2, { href: buttonHref, design: \"tmx25-round-green-lightgreen\" }, buttonText)),\r\n React.createElement(\"img\", { className: \"footer-banner-v2dot6__right-image\", src: rightImageUrl })))));\r\n};\r\n","import React from \"react\";\r\nimport { Img } from \"../../../Img\";\r\nexport const SocialMedia = ({ socialMedia }) => (React.createElement(\"div\", { className: \"social-media\" }, socialMedia &&\r\n socialMedia.map((item, i) => (React.createElement(\"a\", { className: \"social-media__item\", key: i, href: item.iconLink, target: \"_blank\", rel: \"noreferrer\" },\r\n React.createElement(Img, { className: \"social-media__icon\", src: item.iconUrl, alt: item.iconAlt }))))));\r\n","import React, { useCallback } from \"react\";\r\nexport const LiveChatCTA = ({ liveChatText }) => {\r\n const simulateMouseClick = useCallback((element) => {\r\n const mouseClickEvents = [\"mousedown\", \"click\", \"mouseup\"];\r\n mouseClickEvents.forEach(mouseEventType => element.dispatchEvent(new MouseEvent(mouseEventType, {\r\n view: window,\r\n bubbles: true,\r\n cancelable: true,\r\n buttons: 1\r\n })));\r\n }, []);\r\n const simulateMouseClickOnZendeskChatIcon = useCallback((event) => {\r\n const el = event.target.closest(\"A\");\r\n if (el && event.currentTarget.contains(el)) {\r\n const element = document.querySelector(\"a[class=\\\"chat-toggle\\\"]\");\r\n simulateMouseClick(element);\r\n }\r\n }, [simulateMouseClick]);\r\n return React.createElement(\"div\", null,\r\n React.createElement(\"div\", { className: \"live-chat-cta live-chat-cta--mobile\" },\r\n React.createElement(\"div\", { className: \"live-chat-cta__text\", dangerouslySetInnerHTML: {\r\n __html: liveChatText ?? \"\",\r\n } })),\r\n React.createElement(\"div\", { className: \"live-chat-cta--non-mobile\" },\r\n React.createElement(\"div\", { className: \"live-chat-cta__text\", onClick: simulateMouseClickOnZendeskChatIcon, dangerouslySetInnerHTML: {\r\n __html: liveChatText ?? \"\",\r\n } })));\r\n};\r\n","import React from \"react\";\r\nimport { Logo } from \"../../Logo\";\r\nimport { SocialMedia } from \"./SocialMedia\";\r\nimport { LiveChatCTA } from \"./LiveChatCTA\";\r\nexport const SocialBarLogoLiveChat = ({ logo, socialMedia, liveChatCTA, }) => (React.createElement(\"div\", { className: \"social-bar-logo-livechat\" },\r\n React.createElement(\"div\", { className: \"social-bar-logo-livechat__logo\" },\r\n React.createElement(Logo, { imageUrl: logo.logoImageUrl, alt: logo.logoImageAlt, logoHref: logo.logoHref })),\r\n liveChatCTA?.liveChatText && (React.createElement(\"div\", { className: \"social-bar-logo-livechat__livechat-cta\" },\r\n React.createElement(LiveChatCTA, { liveChatText: liveChatCTA?.liveChatText }))),\r\n React.createElement(SocialMedia, { socialMedia: socialMedia })));\r\n","import React from \"react\";\r\nimport { Img } from \"../../Img\";\r\nexport const PaymentMethodsIcons = ({ title, icons, note }) => (React.createElement(\"div\", { className: \"payment-methods-icons\" },\r\n React.createElement(\"h6\", { className: \"payment-methods-icons__title\" }, title),\r\n React.createElement(\"ul\", { className: \"payment-methods-icons__icons-list\" }, icons.map((icon, index) => (React.createElement(\"li\", { key: index, className: \"payment-methods-icons__item\" },\r\n React.createElement(Img, { src: icon.methodIconURL, alt: icon.methodIconAlt }))))),\r\n note && (React.createElement(\"div\", { className: \"payment-methods-icons__note\", dangerouslySetInnerHTML: {\r\n __html: note,\r\n } }))));\r\n","import React from \"react\";\r\nexport const FooterNavLink = ({ text, href, imageUrl, openInNewTab = false, }) => {\r\n const target = openInNewTab ? \"_blank\" : undefined;\r\n const rel = openInNewTab ? \"noreferrer\" : undefined;\r\n return (React.createElement(\"a\", { className: \"footer-nav-link\", href: href, target: target, rel: rel }, imageUrl ? React.createElement(\"img\", { src: imageUrl, alt: text }) : text));\r\n};\r\n","import React from \"react\";\r\nimport { FooterNavLink, } from \"./FooterNavLink/FooterNavLink\";\r\nexport const FooterNavSection = ({ title, links }) => (React.createElement(\"section\", { className: \"footer-nav-section\" },\r\n React.createElement(\"h5\", { className: \"footer-nav-section__title\" }, title),\r\n React.createElement(\"ul\", { className: \"footer-nav-section__links\" }, links.map((link, index) => (React.createElement(\"li\", { key: index, className: \"footer-nav-section__link\" },\r\n React.createElement(FooterNavLink, { text: link.text, href: link.href, imageUrl: link.imageUrl, openInNewTab: link.openInNewTab })))))));\r\n","import React from \"react\";\r\nimport { FooterNavSection } from \"./FooterNavSection\";\r\nexport const FooterNavV2_6 = ({ navSections }) => (React.createElement(\"nav\", { className: \"footer-navigation\" }, navSections.map((section, index) => (React.createElement(FooterNavSection, { key: index, title: section.title, links: section.links })))));\r\n","import React from \"react\";\r\nimport { Container, ContainerFW } from \"../global\";\r\nimport { FooterBannerV2_6 } from \"./FooterBannerV2_6\";\r\nimport { SocialBarLogoLiveChat } from \"./SocialBarWithLogoAndLiveChat\";\r\nimport { PaymentMethodsIcons } from \"./PaymentMethodsIcons\";\r\nimport { FooterNavV2_6 } from \"./FooterNavV2_6\";\r\nexport const FooterV2_6 = ({ socialBarLogoLiveChat, paymentMethodsIcons, footerNavigationProps, legalInfo, backgroundColor, hasBanner = true, footerBannerProps, }) => (React.createElement(ContainerFW, { backgroundColor: backgroundColor, className: \"g-container--new\" },\r\n React.createElement(\"div\", { className: \"footer-v2dot6\" },\r\n hasBanner && footerBannerProps && (React.createElement(FooterBannerV2_6, { title: footerBannerProps.title, subtitle: footerBannerProps.subtitle, topImageUrl: footerBannerProps.topImageUrl, leftImageUrl: footerBannerProps.leftImageUrl, rightImageUrl: footerBannerProps.rightImageUrl, buttonHref: footerBannerProps.buttonHref, buttonText: footerBannerProps.buttonText, backgroundColor: footerBannerProps.backgroundColor, containerMaxWidth: footerBannerProps.containerMaxWidth })),\r\n React.createElement(Container, { className: \"g-container--new\" },\r\n React.createElement(SocialBarLogoLiveChat, { logo: socialBarLogoLiveChat.logo, socialMedia: socialBarLogoLiveChat.socialMedia, liveChatCTA: socialBarLogoLiveChat.liveChatCTA })),\r\n React.createElement(Container, { className: \"g-container--new\" }, Array.isArray(paymentMethodsIcons.icons) && React.createElement(PaymentMethodsIcons, { title: paymentMethodsIcons.title, icons: paymentMethodsIcons.icons, note: paymentMethodsIcons.note })),\r\n React.createElement(Container, { className: \"g-container--new\" },\r\n React.createElement(FooterNavV2_6, { navSections: footerNavigationProps.navSections })),\r\n React.createElement(Container, { className: \"g-container--new\" },\r\n React.createElement(\"div\", { className: \"footer-v2dot6__legal-info\", dangerouslySetInnerHTML: { __html: legalInfo } })))));\r\n"],"names":["root","factory","exports","module","require","define","amd","this","__WEBPACK_EXTERNAL_MODULE__1024__","__WEBPACK_EXTERNAL_MODULE__314__","inProgress","dataWebpackPrefix","Object","defineProperty","value","e","t","n","default","i","r","assign","arguments","length","prototype","hasOwnProperty","call","apply","o","indexOf","getOwnPropertySymbols","propertyIsEnumerable","s","c","useState","useEffect","window","matchMedia","concat","addEventListener","addListener","removeEventListener","removeListener","devicePixelRatio","Math","min","max","SuppressedError","l","observe","unobserve","disconnect","f","globalThis","ResizeObserver","d","v","h","width","height","innerWidth","innerHeight","a","useRef","contentRect","clearTimeout","setTimeout","current","p","useDevicePixelRatio","fitCanvasToArtboardHeight","useOffscreenRenderer","shouldResizeCanvasToContainer","b","w","riveLoaded","canvasElem","containerRef","options","u","onCanvasHasResized","artboardBounds","y","g","m","R","C","E","O","x","T","P","L","S","k","customDevicePixelRatio","M","j","z","H","maxX","I","maxY","D","useCallback","clientWidth","clientHeight","style","IntersectionObserver","elementsMap","Map","onObserved","forEach","get","target","observer","registerCallback","set","removeCallback","delete","setContainerRef","setCanvasRef","className","children","createElement","ref","verticalAlign","Boolean","layout","fit","Fit","Layout","layoutScaleFactor","devicePixelRatioUsed","artboardWidth","artboardHeight","startRendering","resizeToCanvas","bounds","Rive","canvas","on","EventType","Load","cleanup","getBoundingClientRect","top","document","documentElement","bottom","left","right","shouldUseIntersectionObserver","isIntersecting","stopRendering","boundingClientRect","animations","isPlaying","stop","animationNames","play","isPaused","pause","container","rive","RiveComponent","src","artboard","stateMachines","shouldDisableRiveListeners","automaticallyHandleEvents","autoplay","useResizeCanvas","useRive","useRiveFile","Promise","next","throw","done","then","label","sent","trys","ops","create","Iterator","return","Symbol","iterator","TypeError","pop","push","RiveFile","init","getInstance","LoadError","console","error","buffer","riveFile","status","useStateMachineInput","stateMachineInputs","find","name","keys","enumerable","buttonArrowRight","viewBox","fill","xmlns","strokeWidth","strokeLinecap","strokeLinejoin","buttonArrowUp","stroke","buttonArrowDown","ButtonV2","design","classes","props","hrefTarget","openInNewTab","mountArrows","showArrowRight","showArrowUp","showArrowDown","anchor","useMemo","href","onClick","icon","iconHover","spn","role","cursor","classesWrapper","entries","wrapperRef","func","handleClickOutside","event","contains","click","data","dropdownType","sectionWrapperRef","mouseOver","colsLength","param","sections","optionalParam","article","navWidget","item","index","linkUrl","key","Img","alt","title","navCardWithLink","opensInNewTab","imageUrl","description","dangerouslySetInnerHTML","__html","navCardWithMoreLink","linkMoreUrl","type","sectionItem","widget","cardWithLink","cardWithMore","handleValidMenuItems","response","section","sectionItems","map","code","mouseInHandler","mouseOutHandler","overlayRef","onMouseEnter","onMouseLeave","undefined","Heading","headingClassName","getClassName","includes","BaseImg","loading","onError","srcset","sizes","handleError","warn","srcSet","sources","ResponsiveImg","Array","isArray","media","Logo","logo","url","cls","lightLogo","darkLogo","imageUrlReverse","logoWithSource","logoHref","ContainerFW","backgroundColor","Container","CaretDown","CaretUp","rx","fillOpacity","IconChevronDown","IconClose","clipPath","id","transform","FlameIcon","usePageViewStyle","view","setView","pageViewStyle","onViewUpdate","newView","viewStyle","isSmall","isMedium","isLarge","viewSizes","smallMaxWidth","mediumMaxWidth","pageviewstyle","constructor","getView","subscribe","callback","subscribers","maxSubscribers","Error","unsubscribe","subscriberIndex","splice","onResize","calculateView","viewClasses","small","medium","large","onResizeDebounced","debounce","classList","remove","add","getColors","bgColor","textColor","white","dark","CONTAINER_CLASS_PER_MAX_WIDTH","getContainerClassPerMaxWidth","maxWidth","keyFound","handleLinkTarget","isExternalLocation","sanitizeUrl","startsWith","slice","__webpack_modules__","__unused_webpack___webpack_module__","__webpack_exports__","_scriptDir","currentScript","moduleArg","aa","ea","fa","ob","Tb","requestAnimationFrame","bind","cancelAnimationFrame","size","Rb","body","position","color","padding","innerHTML","toFixed","appendChild","performance","now","Ob","ha","assert","has","ready","ia","onRuntimeInitialized","decodeAudio","decodeFont","FileAssetLoader","ptrToAsset","ptrToFileAsset","isImage","ptrToImageAsset","isFont","ptrToFontAsset","isAudio","ptrToAudioAsset","CustomFileAssetLoader","extend","__construct","loadContents","__parent","Gb","CDNFileAssetLoader","cdnUuid","cdnBaseUrl","XMLHttpRequest","responseType","onreadystatechange","readyState","decode","Uint8Array","open","send","FallbackFileAssetLoader","kb","addLoader","computeAlignment","ja","split","ka","alpha","depth","stencil","antialias","premultipliedAlpha","preserveDrawingBuffer","powerPreference","failIfMajorPerformanceCaveat","enableExtensionsByDefault","explicitSwapControl","renderViaOffscreenBackBuffer","test","navigator","userAgent","getContext","log","B","createShader","shaderSource","compileShader","getShaderInfoLog","attachShader","Proxy","isContextLost","getParameter","MAX_RENDERBUFFER_SIZE","MAX_TEXTURE_SIZE","createProgram","VERTEX_SHADER","FRAGMENT_SHADER","bindAttribLocation","linkProgram","getProgramInfoLog","trim","getUniformLocation","useProgram","bindBuffer","ARRAY_BUFFER","createBuffer","enableVertexAttribArray","ELEMENT_ARRAY_BUFFER","uniform1i","pixelStorei","UNPACK_PREMULTIPLY_ALPHA_WEBGL","hc","Mb","deleteTexture","Lb","createTexture","bindTexture","TEXTURE_2D","texImage2D","RGBA","UNSIGNED_BYTE","texParameteri","TEXTURE_WRAP_S","CLAMP_TO_EDGE","TEXTURE_WRAP_T","TEXTURE_MAG_FILTER","LINEAR","TEXTURE_MIN_FILTER","LINEAR_MIPMAP_LINEAR","generateMipmap","Qb","viewport","disable","SCISSOR_TEST","clearColor","clear","COLOR_BUFFER_BIT","enable","sort","ba","wb","bufferData","DYNAMIC_DRAW","bufferSubData","Ta","ca","Db","ra","indices","image","Ka","Ja","mc","scissor","Ya","Za","jb","Ac","uniform4f","Ba","Ca","uniform2f","ic","jc","vertexAttribPointer","FLOAT","drawElements","TRIANGLES","UNSIGNED_SHORT","la","q","srcOver","screen","overlay","darken","lighten","colorDodge","colorBurn","hardLight","softLight","difference","exclusion","multiply","hue","saturation","luminosity","drawWidth","drawHeight","reset","RenderPaintStyle","RenderPath","RenderPaint","Renderer","StrokeCap","StrokeJoin","BlendMode","FillRule","evenOdd","RenderImage","xa","__destruct","URL","revokeObjectURL","Wa","F","Image","createObjectURL","Blob","onload","Fb","Path2D","rewind","addPath","G","A","J","K","X","Q","DOMMatrix","fillRule","Va","moveTo","lineTo","cubicTo","bezierCurveTo","close","closePath","Xa","thickness","Ib","join","miter","Ia","round","bevel","cap","butt","Ha","square","Hb","blendMode","Eb","clearGradient","linearGradient","yb","zb","bb","cb","Ra","radialGradient","ec","addStop","completeGradient","draw","globalCompositeOperation","createRadialGradient","sqrt","createLinearGradient","da","addColorStop","strokeStyle","lineWidth","lineCap","lineJoin","fillStyle","Set","CanvasRenderer","Ua","save","restore","rotate","sin","cos","_drawPath","_drawRiveImage","globalAlpha","drawImage","_getMatrix","_drawImageMesh","Yb","Zb","Ga","sa","ceil","ta","DynamicRectanizer","addRect","$b","ac","Float32Array","Uint16Array","za","qd","resetTransform","bc","_clipPath","clip","clearRect","flush","translate","makeRenderer","decodeImage","renderFactory","makeRenderPaint","makeRenderPath","makeRenderImage","total","loaded","load","rd","RendererWrapper","align","enableFPSCounter","disableFPSCounter","resolveAnimationFrame","ua","va","ma","na","oa","pa","importScripts","qa","self","location","substr","replace","lastIndexOf","onerror","ya","wa","print","printErr","thisProgram","wasmBinary","noExitRuntime","WebAssembly","Aa","Da","Ea","N","Fa","HEAP8","Int8Array","HEAP16","Int16Array","HEAP32","Int32Array","HEAPU8","HEAPU16","HEAPU32","Uint32Array","HEAPF32","HEAPF64","Float64Array","La","Ma","Na","Oa","preRun","shift","unshift","Pa","Qa","onAbort","RuntimeError","Sa","locateFile","fetch","credentials","ok","arrayBuffer","catch","resolve","instantiate","$a","db","AudioContext","webkitAudioContext","capture","ga","stopped","xb","yc","Cb","Sc","Bb","unlock","state","resume","ab","pb","mediaDevices","getUserMedia","sampleRate","suspend","Z","createScriptProcessor","onaudioprocess","inputBuffer","getChannelData","outputBuffer","numberOfChannels","audio","video","createMediaStreamSource","connect","destination","eb","fb","gb","charAt","filter","hb","exec","ib","crypto","getRandomValues","lb","mb","TextDecoder","nb","subarray","String","fromCharCode","charCodeAt","qb","rb","sb","tb","input","V","ub","vb","node","seekable","read","timestamp","Date","write","prompt","readline","Fc","Hc","Ec","Gc","Dc","cc","dc","Ub","U","createNode","dir","Y","Ab","stream","file","link","mode","Kc","Jc","Mc","Oc","uid","Lc","Bc","Nc","Ic","Jb","Cc","parent","byteOffset","path","Kb","Nb","lc","Pb","Vb","defineProperties","object","flags","Sb","Wb","Qc","kc","Xb","zc","logReadFiles","fc","gc","pc","message","stack","nc","oc","qc","rc","sc","tc","toString","uc","vc","W","wc","xc","count","Pc","FinalizationRegistry","unregister","register","Rc","fromWireType","Tc","Uc","Vc","Wc","Xc","Yc","Zc","$c","ad","bd","cd","dd","ed","fd","clone","gd","hd","toWireType","jd","kd","ld","md","nd","od","pd","sd","td","ud","vd","wd","xd","yd","zd","Ad","Bd","Cd","Dd","Ed","Fd","Gd","Nd","Hd","Kd","Ld","Md","Od","USER","LOGNAME","PATH","PWD","HOME","LANG","languages","_","Pd","Qd","Rd","byteLength","BindingError","super","count_emval_handles","PureVirtualError","Td","Ud","getInheritedInstanceCount","getLiveInheritedInstances","flushPendingDeletes","setDelayFunction","InternalError","isAliasOf","getPrototypeOf","isDeleted","deleteLater","argPackAdvance","readValueFromPointer","deleteObject","pointerType","UnboundTypeError","Xd","__syscall_fcntl64","Vd","__syscall_ioctl","__syscall_openat","_embind_create_inheriting_constructor","implement","notifyOnDestruction","_embind_finalize_value_object","_embind_register_bigint","_embind_register_bool","_embind_register_class","$","_embind_register_class_class_function","substring","_embind_register_class_class_property","configurable","_embind_register_class_constructor","_embind_register_class_function","_embind_register_class_property","_embind_register_emval","_embind_register_enum","values","_embind_register_enum_value","_embind_register_float","_embind_register_function","_embind_register_integer","_embind_register_memory_view","_embind_register_std_string","ArrayBuffer","Uint8ClampedArray","Wd","_embind_register_std_wstring","_embind_register_value_object","_embind_register_value_object_field","_embind_register_void","_emscripten_get_now_is_monotonic","_emval_as","_emval_call_method","_emval_call_void_method","_emval_decref","_emval_get_method_caller","Jd","Id","_emval_get_module_property","_emval_get_property","_emval_incref","_emval_new_cstring","_emval_new_object","_emval_run_destructors","_emval_set_property","_emval_take_value","abort","emscripten_asm_const_int","emscripten_date_now","emscripten_get_now","emscripten_memcpy_big","copyWithin","emscripten_resize_heap","grow","environ_get","environ_sizes_get","fd_close","fd_read","fd_seek","NaN","isNaN","abs","floor","fd_write","strftime_l","getFullYear","getMonth","getDate","getDay","getTime","setDate","setMonth","setFullYear","RegExp","Sd","memory","__indirect_function_table","__wasm_call_ctors","monitorRunDependencies","clearInterval","env","wasi_snapshot_preview1","instantiateWasm","instantiateStreaming","instance","free","malloc","_ma_device__on_notification_unlocked","ma_device__on_notification_unlocked","_ma_malloc_emscripten","ma_malloc_emscripten","_ma_free_emscripten","ma_free_emscripten","Yd","_ma_device_process_pcm_frames_capture__webaudio","ma_device_process_pcm_frames_capture__webaudio","_ma_device_process_pcm_frames_playback__webaudio","ma_device_process_pcm_frames_playback__webaudio","__errno_location","__getTypeName","$d","calledRun","noFSInit","stdin","stdout","stderr","postRun","setStatus","__embind_initialize_bindings","_embind_initialize_bindings","dynCall_iiji","dynCall_jiji","dynCall_iiiji","dynCall_iij","dynCall_jii","dynCall_viijii","dynCall_iiiiij","dynCall_iiiiijj","dynCall_iiiiiijj","Zd","preInit","__WEBPACK_DEFAULT_EXPORT__","JSON","parse","__unused_webpack_module","Animation","_Animation__WEBPACK_IMPORTED_MODULE_0__","animation","runtime","playing","loopCount","scrubTo","LinearAnimationInstance","time","loopValue","advance","mix","BLANK_URL","_sanitizeUrl__WEBPACK_IMPORTED_MODULE_1__","registerTouchInteractions","_registerTouchInteractions__WEBPACK_IMPORTED_MODULE_0__","_a","_b","renderer","alignment","_c","isTouchScrollEnabled","_d","_prevEventType","_syntheticEventsActive","MouseEvent","boundingRect","currentTarget","touches","preventDefault","clientX","clientY","changedTouches","getClientCoordinates","canvasX","canvasY","forwardMatrix","minX","minY","invertedMatrix","Mat2D","invert","canvasCoordinatesVector","Vec2D","transformedVector","mapXY","transformedX","transformedY","_i","stateMachines_1","pointerMove","stateMachines_2","stateMachines_3","pointerDown","stateMachines_4","pointerUp","passive","invalidProtocolRegex","htmlEntitiesRegex","htmlCtrlEntityRegex","ctrlCharactersRegex","urlSchemeRegex","relativeFirstCharacters","str","sanitizedUrl","match","dec","isRelativeUrlWithoutProtocol","urlSchemeParseResults","urlScheme","__webpack_module_cache__","moduleId","cachedModule","definition","obj","prop","toStringTag","Alignment","LoopType","RiveEventType","RuntimeLoader","StateMachineInput","StateMachineInputType","Testing","extendStatics","_rive_advanced_mjs__WEBPACK_IMPORTED_MODULE_0__","package_json__WEBPACK_IMPORTED_MODULE_1__","_animation__WEBPACK_IMPORTED_MODULE_2__","_utils__WEBPACK_IMPORTED_MODULE_3__","__extends","setPrototypeOf","__proto__","__","__awaiter","thisArg","_arguments","generator","reject","fulfilled","step","rejected","result","__generator","verb","op","RiveError","_super","_this","isHandledError","params","_e","_f","_g","Contain","Center","new","copyWith","runtimeFit","cachedRuntimeFit","Cover","cover","contain","Fill","FitWidth","fitWidth","FitHeight","fitHeight","ScaleDown","scaleDown","none","runtimeAlignment","cachedRuntimeAlignment","TopLeft","topLeft","TopCenter","topCenter","TopRight","topRight","CenterLeft","centerLeft","CenterRight","centerRight","BottomLeft","bottomLeft","BottomCenter","bottomCenter","BottomRight","bottomRight","center","loadRuntime","wasmURL","callBackQueue","errorDetails","wasmError","CompileError","originalError","debug","backupJsdelivrUrl","version","toLowerCase","setWasmUrl","errorMessage","isLoading","awaitInstance","getWasmUrl","runtimeInput","fire","Trigger","StateMachine","stateMachine","inputs","StateMachineInstance","initInputs","names","stateChangedCount","stateChangedNameByIndex","advanceAndApply","reportedEventCount","reportedEventAt","inputCount","mapRuntimeInput","SMIInput","bool","asBool","number","Number","asNumber","trigger","asTrigger","Animator","eventManager","animatables","fireEvent","mapToStringArray","instancedAnimationNames","instancedMachineNames","aIndex","mIndex","anim","animationByName","newAnimation","sm","stateMachineByName","newStateMachine","Play","Pause","paused","initLinearAnimations","initStateMachines","instancedStateMachineNames","scrub","forScrubbing","removedNames","animationsToRemove","machinesToRemove","Stop","reduce","acc","curr","atLeastOne","instancedName","animationCount","animationByIndex","stateMachineCount","stateMachineByIndex","handleLooping","Loop","PingPong","handleStateChanges","statesChanged","StateChange","handleAdvancing","Advance","SystemAudioStatus","EventManager","listeners","getListeners","listener","currentListener","removeAll","TaskQueueManager","queue","task","process","action","AudioManager","_started","_enabled","_status","UNAVAILABLE","delay","timeout","reportToListeners","AudioStatusChange","enableAudio","AVAILABLE","testAudio","_audioContext","race","_establishAudio","listenForUserAction","once","establishAudio","audioManager","FakeResizeObserver","MyResizeObserver","observers","ObjectObservers","_elementsMap","_onObservedEntry","entry","observed","_resizeObserver","_onObserved","element","enableRiveAssetCDN","referenceCount","destroyed","assetLoader","onLoad","onLoadError","initData","loader","loadRiveFile","fileLoadErrorMessage","missingErrorMessage","off","removeAllRiveEventListeners","_observed","readyForPlaying","eventCleanup","_volume","_artboardWidth","_artboardHeight","_devicePixelRatioUsed","_hasZeroSize","_audioEventListener","_boundDraw","durations","frameTimes","frameCount","onCanvasResize","hasZeroSize","toggledDisplay","_layout","resizeDrawingSurfaceToCanvas","renderSecondTimer","HTMLCanvasElement","onPlay","onPause","onStop","onLoop","onStateChange","onAdvance","onloaderror","onplay","onpause","onstop","onloop","onstatechange","taskQueue","onSystemAudioChanged","volume","startingAnimationNames","startingStateMachineNames","removeRiveListeners","deleteRiveRenderer","setupRiveListeners","riveListenerOptions","activeStateMachines","animator","hasListeners","touchScrollEnabledOption","initializeAudio","hasAudio","initArtboardSize","artboardName","stateMachineNames","error_1","msg","cleanupErrorMessage","initArtboard","drawFrame","instanceNames","rootArtboard","artboardByName","defaultArtboard","systemVolume","timeline","currentTime","frameRequestId","onSecond","before","lastRenderTime","elapsedTime","activeAnimations_1","needsScrub","first","didLoop","activeStateMachines_1","numEventsReported","event_1","OpenUrl","RiveEvent","newAnchorTag","setAttribute","alignRenderer","after","isStopped","cleanupInstances","retrieveTextRun","textRunName","textRun","getTextRunValue","text","setTextRunValue","textRunValue","artBoardName","dpr","scaleFactor","retrieveInputAtPath","inputByPath","setBooleanStateAtPath","inputName","setNumberStateAtPath","fireStateAtPath","retrieveTextAtPath","textByPath","getTextRunValueAtPath","textName","run","setTextRunValueAtPath","unsubscribeAll","fpsCallback","riveContents","artboards","artboardCount","artboardByIndex","artboardContents","name_1","inputContents","resetArtboardSize","req","Request","bytes","wait","immediate","args","context","later","last","debounced","callNow","_dotLottie","_animationsMap","_themeMap","_stateMachinesMap","_manifest","dotLottie","animationsMap","themeMap","stateMachinesMap","manifest","loadFromUrl","method","headers","json","activeAnimationId","loadFromLottieJSON","loadFromArrayBuffer","getAnimation","inlineAssets","getTheme","getStateMachines","descriptor","from","getStateMachine","getOwnPropertyDescriptor","getOwnPropertyNames","__esModule","valueOf","toJSON","peek","_state","_prevState","setState","Vt","Ct","At","bt","qt","Rt","$t","It","Ht","ut","tt","Wt","Gt","Zt","st","ot","Kt","lt","Yt","captureStackTrace","Xt","Ut","Ft","Bt","mt","nt","at","Tt","me","ve","vt","Nt","yt","gt","jt","Lt","ye","we","Pt","it","xe","xt","Qt","te","postMessage","out","dictionary","Ee","Ae","Worker","onmessage","$e$","ge","be","Ie","terminate","consume","_t","wt","Se","Me","De","Te","kt","queueMicrotask","re","issues","nested","Ne","je","reason","validation","origin","abortEarly","abortPipeEarly","Le","output","issue","schema","array","async","_parse","ct","Et","literal","wrapped","Fe","zt","Be","tuple","items","rest","ft","union","ht","dt","Ve","St","Pe","fe","ke","Ce","et","He","copy","We","CreateImageFactory","every","createImage","Ge","filters","PI","Ze","convolve","Ke","lanczos2","lanczos","he","Bounce","Normal","Ye","nativeEnum","ae","de","defaultTheme","direction","hover","intermission","loop","playMode","speed","themeColor","Xe","Qe","author","custom","Ue","Ot","record","ne","keywords","revision","themes","states","tr","ie","er","rr","ms","nr","ar","ir","sr","or","threshold","ur","onAfter","onComplete","onEnter","onShow","lr","playOnScroll","segments","animationId","playbackSettings","dr","jpeg","png","gif","bmp","svg","webp","mpeg","mp3","oe","pr","Buffer","atob","Mt","writable","qe","Je","pe","btoa","ue","pt","rt","originalSize","compression","Oe","ee","Dt","mr","Yr","success","se","stringify","vr","Xr","assets","_r","wr","yr","gr","Qr","tn","en","un","ln","cn","kr","fn","some","hn","dn","pn","Re","$e","DotLottieStateMachineManager","all","Complete","DataFail","DataReady","Frame","Freeze","LoopComplete","Ready","VisibilityChange","Completed","Fetching","Frozen","Initial","Loading","Paused","Playing","Stopped","activeStateId","currentState","frame","seeker","background","currentAnimationId","visibilityPercentage","_lottie","_src","_animationConfig","_prevUserPlaybackOptions","_userPlaybackOptions","_hover","_loop","_counter","_intermission","_counterInterval","_container","_name","_mode","_background","_animation","_defaultTheme","_activeAnimationId","_currentAnimationId","_testId","_listeners","_currentState","_stateBeforeFreeze","_light","_worker","_dotLottieLoader","_activeStateId","_inInteractiveMode","_scrollTicking","_scrollCallback","_onShowIntersectionObserver","_visibilityPercentage","_audios","_stateMachineManager","testId","_validatePlaybackOptions","setBackground","rendererSettings","clearCanvas","progressiveLoad","hideOnTransparent","filterSize","light","worker","_listenToHover","_listenToVisibilityChange","_onVisibilityChange","hidden","freeze","unfreeze","_getOption","_getPlaybackOptions","_setPlayerState","clearCountTimer","setLoop","setSpeed","setDirection","_getOptionsFromAnimation","_updateTestData","dotLottiePlayer","playDirection","playSpeed","setContainer","setCurrentState","_notify","isPathJSON","updateSrc","setHover","setIntermission","setMode","goToAndPlay","goToAndStop","seek","totalFrames","_areNumbersInRange","_updatePosition","i$1","_handleAnimationComplete","_requestTick","stopPlayOnScroll","positionCallback","stopPlayOnShow","addIntersectionObserver","rootMargin","intersectionRatio","callbackOnIntersect","dispatchEvent","Event","playOnShow","_requireValidPlaybackOptions","_requireAnimationsInTheManifest","_requireAnimationsToBeLoaded","currentFrame","render","playSegments","resetSegments","togglePlay","_getAnimationByIdOrIndex","_getActiveAnimationId","_startInteractivity","start","enterInteractiveMode","exitInteractiveMode","previous","findIndex","getManifest","resize","destroy","__lottie","unload","getAnimationInstance","getLottieWebVersion","getState","_frame","_seeker","_requireValidDirection","_requireValidSpeed","setAutoplay","_requireValidAutoplay","toggleAutoplay","setDefaultTheme","_requireValidLoop","toggleLoop","_requireValidBackground","revertToManifestValues","_setCurrentAnimation","addEventListeners","_getAudioFactory","DotLottieAudio","h$1","p$1","_getLottiePlayerInstance","slots","loadAnimation","animationData","audioFactory","setErrorState","_requireValidIntermission","isInteger","__webpack_require__","getter","chunkId","promises","miniCssF","script","needAttach","scripts","getElementsByTagName","getAttribute","charset","onScriptComplete","prev","doneFns","parentNode","removeChild","head","installedChunks","installedChunkData","promise","errorType","realSrc","request","webpackJsonpCallback","parentChunkLoadingFunction","chunkIds","moreModules","chunkLoadingGlobal","styleOverrides","WebkitAppearance","MozAppearance","appearance","Dropdown","selectedOption","placeholder","isPlaceholderDisabled","onSelect","ariaLabel","handleChange","onChange","disabled","option","optionText","optionValue","ButtonSquare","primary","openInNewTabValue","openinnewtab","HeroBannerWithImagesNew","subtitle","desktopImage","mobileImage","stats","buttonLabel","buttonHref","buttonHrefMobile","buttonOpenInNewTab","linkHref","linkLabel","buttonUrl","setButtonUrl","desktopImageEl","setDesktopImageEl","mobileImageEl","setMobileImageEl","mainClassName","emptyStatisticsTest","cardsRendering","subTitle","ImgV2","smallUrl","mediumUrl","largeUrl","strictRender","chosenUrl","normalUrl","RibbonBanner3","iconImgUrl","iconImgAlt","mainText","linkText","linkOpenInNewTab","linkHrefTarget","BannerImageBackground","openInNewTabButton","gradient1","gradient2","buttonHref2","buttonLabel2","openInNewTabButton2","IconAndTitleCard","cardUrl","iconURL","iconAlt","IconAndTitleCardDeck","cards","card","ssrDocument","activeElement","blur","nodeName","querySelector","querySelectorAll","getElementById","createEvent","initEvent","childNodes","createElementNS","importNode","hash","host","hostname","pathname","protocol","search","doc","ssrWindow","history","replaceState","pushState","go","back","CustomEvent","getComputedStyle","getPropertyValue","win","to","noExtend","nextSource","HTMLElement","nodeType","keysArray","nextIndex","len","nextKey","desc","__swiper__","el","varName","varValue","setProperty","animateCSSModeScroll","swiper","targetPosition","side","startPosition","startTime","duration","wrapperEl","scrollSnapType","cssModeFrameID","isOutOfBound","animate","progress","easeProgress","currentPosition","scrollTo","overflow","selector","matches","tag","elementStyle","child","previousSibling","parents","parentElement","elementOuterSize","includeMargins","parseFloat","offsetWidth","support","deviceCached","browser","getSupport","smoothScroll","touch","DocumentTouch","calcSupport","events","handler","priority","eventsListeners","onceHandler","__emitterProxy","onAny","eventsAnyListeners","offAny","eventHandler","emit","updateSize","isHorizontal","isVertical","parseInt","updateSlides","getDirectionLabel","property","getDirectionPropertyValue","slidesEl","swiperSize","rtlTranslate","rtl","wrongRTL","isVirtual","virtual","enabled","previousSlidesLength","slides","slideClass","slidesLength","snapGrid","slidesGrid","slidesSizesGrid","offsetBefore","slidesOffsetBefore","offsetAfter","slidesOffsetAfter","previousSnapGridLength","previousSlidesGridLength","spaceBetween","slidePosition","prevSlideSize","virtualSize","slideEl","marginLeft","marginRight","marginBottom","marginTop","centeredSlides","cssMode","gridEnabled","grid","rows","slideSize","initSlides","shouldResetSlideSize","slidesPerView","breakpoints","slide","updateSlide","slideStyles","currentTransform","currentWebKitTransform","webkitTransform","roundLengths","paddingLeft","paddingRight","boxSizing","swiperSlideSize","slidesPerGroup","slidesPerGroupSkip","effect","setWrapperSize","updateWrapperSize","newSlidesGrid","slidesGridItem","groups","slidesBefore","slidesAfter","groupSize","slideIndex","centeredSlidesBounds","allSlidesSize","slideSizeValue","maxSnap","snap","centerInsufficientSlides","allSlidesOffset","snapIndex","addToSnapGrid","addToSlidesGrid","watchOverflow","checkOverflow","watchSlidesProgress","updateSlidesOffset","backFaceHiddenClass","containerModifierClass","hasClassBackfaceClassAdded","maxBackfaceHiddenSlides","updateAutoHeight","activeSlides","newHeight","setTransition","getSlideByIndex","visibleSlides","activeIndex","offsetHeight","minusOffset","isElement","offsetLeft","offsetTop","swiperSlideOffset","updateSlidesProgress","offsetCenter","slideVisibleClass","visibleSlidesIndexes","slideOffset","slideProgress","minTranslate","originalSlideProgress","slideBefore","slideAfter","originalProgress","updateProgress","multiplier","translatesDiff","maxTranslate","isBeginning","isEnd","progressLoop","wasBeginning","wasEnd","isBeginningRounded","isEndRounded","firstSlideIndex","lastSlideIndex","firstSlideTranslate","lastSlideTranslate","translateMax","translateAbs","autoHeight","updateSlidesClasses","getFilteredSlide","activeSlide","slideActiveClass","slideNextClass","slidePrevClass","nextSlide","nextEls","nextElementSibling","elementNextAll","prevSlide","prevEls","previousElementSibling","elementPrevAll","emitSlidesClasses","updateActiveIndex","newActiveIndex","previousIndex","realIndex","previousRealIndex","previousSnapIndex","getVirtualRealIndex","normalizeSlideIndex","getActiveIndexByTranslate","skip","initialized","runCallbacksOnInit","updateClickedSlide","closest","slideFound","clickedSlide","clickedIndex","slideToClickedSlide","transitionEmit","runCallbacks","slideTo","internal","initial","animating","preventInteractionOnTransition","normalizedTranslate","normalizedGrid","normalizedGridNext","allowSlideNext","allowSlidePrev","setTranslate","transitionStart","transitionEnd","isH","_immediateVirtual","_cssModeVirtualInitialSet","initialSlide","behavior","onSlideToWrapperTransitionEnd","slideToLoop","newIndex","slideNext","perGroup","slidesPerGroupAuto","slidesPerViewDynamic","increment","loopPreventsSliding","loopFix","_clientLeft","clientLeft","slidePrev","normalize","val","normalizedSnapGrid","prevSnap","prevSnapIndex","prevIndex","lastIndex","slideReset","slideToClosest","currentSnap","slideToIndex","slideSelector","loopedSlides","onTouchStart","touchEventsData","evCache","simulateTouch","originalEvent","targetEl","touchEventsTarget","which","button","isTouched","isMoved","swipingClassHasValue","noSwipingClass","eventPath","composedPath","shadowRoot","noSwipingSelector","isTargetShadow","noSwiping","base","__closestFrom","assignedSlot","found","getRootNode","closestElement","allowClick","swipeHandler","currentX","pageX","currentY","pageY","startX","startY","edgeSwipeDetection","iOSEdgeSwipeDetection","edgeSwipeThreshold","iOSEdgeSwipeThreshold","allowTouchCallbacks","isScrolling","startMoving","touchStartTime","swipeDirection","allowThresholdMove","focusableElements","shouldPreventDefault","allowTouchMove","touchStartPreventDefault","touchStartForcePreventDefault","isContentEditable","freeMode","onTouchMove","pointerIndex","cachedEv","pointerId","targetTouch","preventedByNestedSwiper","prevX","prevY","touchReleaseOnEdges","targetTouches","diffX","diffY","touchAngle","atan2","zoom","cancelable","touchMoveStopPropagation","stopPropagation","diff","touchesDiff","previousX","previousY","oneWayMovement","touchRatio","prevTouchesDirection","touchesDirection","isLoop","startTranslate","getTranslate","evt","bubbles","allowMomentumBounce","grabCursor","setGrabCursor","loopFixed","currentTranslate","disableParentSwiper","resistanceRatio","activeSlideIndex","resistance","followFinger","onTouchEnd","touchEndTime","timeDiff","pathTree","lastClickTime","currentPos","stopIndex","rewindFirstIndex","rewindLastIndex","ratio","longSwipesMs","longSwipes","longSwipesRatio","shortSwipes","navigation","nextEl","prevEl","setBreakpoint","isVirtualLoop","running","preventClicks","preventClicksPropagation","stopImmediatePropagation","onScroll","newProgress","previousTranslate","scrollLeft","scrollTop","processLazyPreloader","imageEl","lazyEl","lazyPreloaderClass","update","dummyEventAttached","dummyEventListener","device","domMethod","swiperMethod","updateOnWindowResize","ios","android","isGridEnabled","resizeObserver","createElements","virtualTranslate","breakpointsBase","uniqueNavElements","passiveListeners","wrapperClass","_emitClasses","moduleExtendParams","allModulesParams","moduleParamName","moduleParams","auto","prototypes","eventsEmitter","axis","matrix","curTransform","transformMatrix","curStyle","currentStyle","WebKitCSSMatrix","MozTransform","OTransform","MsTransform","msTransform","m41","m42","byController","translateTo","translateBounds","newTranslate","onTranslateToWrapperTransitionEnd","transition","transitionDuration","loopCreate","slideRealIndex","byMousewheel","prependSlidesIndexes","appendSlidesIndexes","isNext","isPrev","slidesPrepended","slidesAppended","prepend","append","recalcSlides","currentSlideTranslate","controller","control","loopParams","loopDestroy","newSlidesOrder","swiperSlideIndex","removeAttribute","moving","isLocked","unsetGrabCursor","attachEvents","detachEvents","breakpoint","getBreakpoint","currentBreakpoint","breakpointParams","originalParams","wasMultiRow","isMultiRow","wasEnabled","emitContainerClasses","wasModuleEnabled","isModuleEnabled","directionChanged","needsReLoop","changeDirection","isEnabled","containerEl","currentHeight","points","point","minRatio","wasLocked","lastSlideRightEdge","addClasses","classNames","suffixes","prefix","resultClasses","prepareClasses","removeClasses","extendedDefaults","Swiper","swipers","newParams","overrides","platform","screenWidth","screenHeight","ipad","ipod","iphone","windows","macos","os","calcDevice","getDevice","needPerspectiveFix","isSafari","major","minor","num","isWebView","calcBrowser","modules","__modules__","mod","extendParams","swiperParams","defaults","passedParams","eventName","velocity","clickTimeout","velocities","imagesToLoad","imagesLoaded","setProgress","getSlideClasses","updates","exact","spv","breakLoop","translateValue","translated","complete","newDirection","needUpdate","currentDirection","changeLanguageDirection","mount","mounted","shadowEl","getWrapperSelector","deleteInstance","cleanStyles","deleteProps","extendDefaults","newDefaults","installModule","use","prototypeGroup","protoMethod","animationFrame","resizeHandler","orientationChangeHandler","newWidth","contentBoxSize","inlineSize","blockSize","attach","MutationObserver","WebkitMutationObserver","mutations","observerUpdate","attributes","childList","characterData","observeParents","observeSlideChildren","containerParents","checkProps","Navigation","hideOnClick","disabledClass","hiddenClass","lockClass","navigationDisabledClass","makeElementsArray","getEl","res","toggleEl","subEl","tagName","onPrevClick","onNextClick","initButton","destroyButton","_s","pagination","clickable","isHidden","toggle","Pagination","pfx","bulletSize","bulletElement","renderBullet","renderProgressbar","renderFraction","renderCustom","progressbarOpposite","dynamicBullets","dynamicMainBullets","formatFractionCurrent","formatFractionTotal","bulletClass","bulletActiveClass","modifierClass","currentClass","totalClass","progressbarFillClass","progressbarOppositeClass","clickableClass","horizontalClass","verticalClass","paginationDisabledClass","bullets","dynamicBulletIndex","isPaginationDisabled","setSideBullets","bulletEl","onBulletClick","firstIndex","midIndex","suffix","bullet","bulletIndex","firstDisplayedBullet","lastDisplayedBullet","dynamicBulletsLength","bulletsOffset","offsetProp","subElIndex","fractionEl","textContent","totalEl","progressbarDirection","scale","scaleX","scaleY","progressEl","paginationHTML","numberOfBullets","Autoplay","raf","timeLeft","waitForTransition","disableOnInteraction","stopOnLastSlide","reverseDirection","pauseOnMouseEnter","autoplayTimeLeft","wasPaused","pausedByTouch","touchStartTimeout","slideChanged","pausedByInteraction","autoplayDelayTotal","autoplayDelayCurrent","autoplayStartTime","onTransitionEnd","calcTimeLeft","delayForce","currentSlideDelay","activeSlideEl","getSlideDelay","proceed","onVisibilityChange","visibilityState","onPointerEnter","onPointerLeave","needsNavigation","needsPagination","needsScrollbar","scrollbar","uniqueClasses","unique","paramsList","isChildSwiperSlide","displayName","processChildren","getChildren","slot","foundSlides","useIsomorphicLayoutEffect","deps","useLayoutEffect","SwiperSlideContext","createContext","SwiperContext","_extends","source","forwardRef","_temp","externalElRef","Tag","wrapperTag","WrapperTag","onSwiper","eventsAssigned","containerClasses","setContainerClasses","virtualData","setVirtualData","breakpointChanged","setBreakpointChanged","initializedRef","swiperElRef","swiperRef","oldPassedParamsRef","oldSlides","nextElRef","prevElRef","paginationElRef","scrollbarElRef","restProps","splitEvents","allowedParams","plainObj","getParams","onBeforeBreakpoint","_containerClasses","initSwiper","passParams","extendWith","cache","renderExternal","renderExternalUpdate","paginationEl","scrollbarEl","mountSwiper","changedParams","oldParams","oldChildren","getKey","addKey","oldChildrenKeys","childrenKeys","newKeys","oldKeys","newKey","oldKey","getChangedParams","updateParams","currentParams","thumbs","needThumbsInit","needControllerInit","needPaginationInit","needScrollbarInit","needNavigationInit","loopNeedDestroy","loopNeedEnable","loopNeedReloop","newValue","updateSwiper","parallax","Provider","getSlideIndex","offset","loopFrom","loopTo","slidesToRender","renderVirtual","SwiperSlide","externalRef","lazy","virtualIndex","slideElRef","slideClasses","setSlideClasses","lazyLoaded","setLazyLoaded","updateClasses","slideData","isActive","isVisible","renderChildren","AcademyArticleCard","renderDetails","articleReadingTime","articleReadingTimeTimeUnit","articleLevel","word","cultureCode","All","Beginners","Experienced","eu","uk","ky","au","nz","latam","tw","th","es","isListView","articleTags","articleURL","imageURL","articleImageAlt","articleCategory","category","culture","categoryLinks","urlSuffix","articleCategoryTranslated","articleTitle","articleSummary","MySwiper","setSwiper","setSwiperInstance","swiperOff","content","buttonText","buttonDesign","InformationCardDarkDeckAcademy","zero$1","buf","extra_lbits","extra_dbits","extra_blbits","bl_order","static_ltree","static_dtree","D_CODES$1","_dist_code","_length_code","MAX_MATCH$1","base_length","base_dist","StaticTreeDesc","static_tree","extra_bits","extra_base","elems","max_length","has_stree","static_l_desc","static_d_desc","static_bl_desc","TreeDesc","dyn_tree","stat_desc","max_code","d_code","dist","put_short","pending_buf","pending","send_bits","bi_valid","bi_buf","send_code","tree","bi_reverse","gen_codes","bl_count","next_code","MAX_BITS$1","bits","init_block","LITERALS$1","dyn_ltree","dyn_dtree","bl_tree","END_BLOCK","opt_len","static_len","sym_next","bi_windup","smaller","_n2","_m2","pqdownheap","heap","heap_len","compress_block","ltree","dtree","extra","sx","sym_buf","build_tree","stree","heap_max","xbits","gen_bitlen","scan_tree","curlen","prevlen","nextlen","max_count","min_count","REP_3_6","REPZ_3_10","REPZ_11_138","send_tree","static_init_done","_tr_stored_block$1","stored_len","trees","_tr_init","LENGTH_CODES$1","L_CODES$1","tr_static_init","l_desc","d_desc","bl_desc","_tr_stored_block","_tr_flush_block","opt_lenb","static_lenb","max_blindex","level","strm","data_type","block_mask","detect_data_type","BL_CODES$1","build_bl_tree","strategy","lcodes","dcodes","blcodes","rank","send_all_trees","_tr_tally","sym_end","_tr_align","STATIC_TREES","bi_flush","adler32_1","adler","pos","s1","s2","crcTable","table","makeTable","crc32_1","crc","end","messages","constants$2","Z_NO_FLUSH","Z_PARTIAL_FLUSH","Z_SYNC_FLUSH","Z_FULL_FLUSH","Z_FINISH","Z_BLOCK","Z_TREES","Z_OK","Z_STREAM_END","Z_NEED_DICT","Z_ERRNO","Z_STREAM_ERROR","Z_DATA_ERROR","Z_MEM_ERROR","Z_BUF_ERROR","Z_NO_COMPRESSION","Z_BEST_SPEED","Z_BEST_COMPRESSION","Z_DEFAULT_COMPRESSION","Z_FILTERED","Z_HUFFMAN_ONLY","Z_RLE","Z_FIXED","Z_DEFAULT_STRATEGY","Z_BINARY","Z_TEXT","Z_UNKNOWN","Z_DEFLATED","Z_NO_FLUSH$2","Z_FULL_FLUSH$1","Z_FINISH$3","Z_BLOCK$1","Z_OK$3","Z_STREAM_END$3","Z_STREAM_ERROR$2","Z_DATA_ERROR$2","Z_BUF_ERROR$1","Z_DEFAULT_COMPRESSION$1","Z_DEFAULT_STRATEGY$1","Z_DEFLATED$2","MAX_MATCH","MIN_LOOKAHEAD","INIT_STATE","BUSY_STATE","FINISH_STATE","err","errorCode","zero","slide_hash","wsize","w_size","hash_size","HASH","hash_shift","hash_mask","flush_pending","avail_out","pending_out","next_out","total_out","flush_block_only","block_start","strstart","put_byte","putShortMSB","read_buf","avail_in","next_in","wrap","total_in","longest_match","cur_match","chain_length","max_chain_length","scan","best_len","prev_length","nice_match","limit","_win","wmask","w_mask","strend","scan_end1","scan_end","good_match","lookahead","match_start","fill_window","_w_size","more","window_size","insert","ins_h","deflate_stored","have","min_block","pending_buf_size","used","high_water","deflate_fast","hash_head","bflush","match_length","max_lazy_match","MIN_MATCH","deflate_slow","max_insert","prev_match","match_available","Config","good_length","max_lazy","nice_length","max_chain","configuration_table","DeflateState","gzhead","gzindex","last_flush","w_bits","hash_bits","HEAP_SIZE","MAX_BITS","lit_bufsize","deflateStateCheck","deflateResetKeep","deflateReset","ret","deflateInit2","windowBits","memLevel","deflate_1$2","deflateInit","deflateSetHeader","deflate","old_flush","header","level_flags","hcrc","comment","beg","gzhead_extra","bstate","deflate_huff","deflate_rle","deflateEnd","deflateSetDictionary","dictLength","tmpDict","avail","deflateInfo","_has","common","flattenChunks","chunks","chunk","STR_APPLY_UIA_OK","_utf8len","strings","string2buf","TextEncoder","encode","c2","m_pos","str_len","buf_len","buf2string","utf16buf","c_len","buf2binstring","utf8border","zstream","toString$1","Z_NO_FLUSH$1","Z_FINISH$2","Z_OK$2","Z_STREAM_END$2","Z_DEFLATED$1","Deflate$1","chunkSize","opt","raw","gzip","ended","dict","_dict_set","deflate$1","deflator","flush_mode","_flush_mode","onData","onEnd","deflate_1$1","Deflate","deflateRaw","constants","BAD$1","inffast","_in","_out","dmax","whave","wnext","s_window","hold","lcode","dcode","lmask","dmask","here","from_source","lencode","distcode","lenbits","distbits","dolen","sane","lbase","lext","dbase","dext","inftrees","lens","lens_index","codes","table_index","work","opts","incr","low","mask","sym","drop","huff","MAXBITS","offs","here_bits","here_op","here_val","Z_FINISH$1","Z_OK$1","Z_STREAM_END$1","Z_NEED_DICT$1","Z_STREAM_ERROR$1","Z_DATA_ERROR$1","Z_MEM_ERROR$1","HEAD","DICT","TYPE","TYPEDO","COPY_","LEN_","LEN","CHECK","BAD","zswap32","InflateState","havedict","check","wbits","ncode","nlen","ndist","lendyn","distdyn","was","inflateStateCheck","inflateResetKeep","inflateReset","inflateReset2","inflateInit2","lenfix","distfix","virgin","fixedtables","updatewindow","inflate_1$2","inflateInit","inflate","put","last_bits","last_op","last_val","hbuf","order","inf_leave","xflags","extra_len","inflateEnd","inflateGetHeader","inflateSetDictionary","dictid","inflateInfo","gzheader","Inflate$1","inflate$1","inflator","last_avail_out","next_out_utf8","tail","utf8str","inflate_1$1","Inflate","inflateRaw","ungzip","pako","InstrumentSliderNew","onMarketClick","currentMarketTab","renderFlameIcon","activeMarketIndex","setActiveMarketIndex","handleMarketClick","market","handleOnTouchStart","handleOnTouchMove","PriceFeedNewSocketComponent","tableInfo","instrumentIcons","marketsInfo","footerText","session","wsUrl","activeMarket","buttonLinkText","buttonLinkUrl","instrumentItems","popularInstrumentToRemove","popularInstrumentToAdd","instrumentsData","hasButtons","instruments","setInstruments","filteredInstruments","setFilteredInstruments","setCurrentMarketTab","prevAskPrices","prevBidPrices","getValueByKey","Forex","Indices","Commodities","ETFs","Futures","Stocks","Crypto","Popular","instrumentsMap","forex","commodities","etfs","futures","stocks","popular","websocket","interval","startWebsocket","WebSocket","binaryType","pingRequest","onopen","setInterval","updatePriceFeedNewSocketComponent","OPEN","groupCode","group","parsedValues","Code","dailyChange","calcDailyChange","Bid","Ask","prevBid","prevAsk","instrument","bid","bidStyle","bidAskStyle","bidIcon","bidAskIcon","ask","askStyle","askIcon","spread","calcSpread","dailyChangeStyle","dailyChangeIcon","marketItem","decimalPrecision","tickSize","marketItemInfo","DecimalPrecision","TickSize","decimal","pow","day","getUTCDate","prevClose","PrevClose","currentPrice","previousPrice","imageAlt","PriceFeedNew","resources","apiUrl","instrumentParagraph","instrumentLinkText","instrumentLinkUrl","PriceFeedNewWidget","Gap","divMobileStyle","minHeight","mobileGap","maxHeight","divDesktopStyle","desktopGap","gapColor","TrustpilotCard","theMonth","dateValue","toLocaleString","monthTranslations","month","fulldate","country","TrustPilotEvaluation","excellentLabel","rating","starsImage","trustpilotImage","TrustpilotSlider","bottomText","bottomTextIcon","FreeText","cssClass","isWarningText","mainWidth","heading","titleAlignment","ExternalLink","ImageToggle","toggleImages","mainImageUrl","mainImageAlt","toggledImageUrl","toggledImageAlt","imgContainerCssClass","isImageToggled","setIsImageToggled","handleShowMainImage","handleShowToggledImage","AccessThinkPortalTodayImgToggle","mobileSVGIcon","mobileSVGIconAlt","buttonMobileTitle","buttonMobileText","mobileQRCode","mobileQRCodeAlt","rel","googlePlayUrl","googlePlayImageUrl","googlePlayImageAlt","appStoreUrl","appStoreImageUrl","appStoreImageAlt","buttonWebLink","browserSVGIcon","browserSVGIconAlt","buttonWebText","buttonWebMobileDescription","buttonDesktopText","desktopSVGIcon","desktopSVGIconAlt","buttonDesktopWindowsLink","buttonDesktopWindowsText","buttonDesktopMacLink","buttonDesktopMacText","TradeWithThinkTrader","imageUrlDesktop","imageUrlMobile","informationItems","designStyles","cardBackgroundColor","componentMode","textColorClassName","titleDesign","iconUrl","cardHtml","webIcon","mobileIcon","CardsGridWithFullWidthCenteredImagesAndTags","columns","renderCard","tags","textBeforeTags","N3","V3","e2","t2","_lastHandleId","MAX_SAFE_INTEGER","_lastImmediate","setImmediate","clearImmediate","x1","_strategy","T1","Y2","n2","r2","Y3","t1","n1","y1","r1","d1","h2","p2","v2","f2","m2","_2","n3","u1","w1","i1","g2","y2","w2","b2","r3","R1","M2","a3","L2","E2","b1","O1","l1","c1","P2","a1","M1","s3","p1","$1","z1","S2","I2","F2","h1","W1","v1","C1","f1","L1","m1","x2","U1","l3","B1","c3","G1","h3","P1","p3","_1","A2","T2","v3","f3","k2","j2","E1","j1","H1","m3","X1","D2","N1","V1","Y1","R2","_3","J1","g3","y3","O2","w3","b3","M3","C3","L3","E3","q1","I3","Reflect","construct","K1","$2","F3","z2","x3","S1","W2","U2","B2","I1","d3","k3","u3","Q1","V2","g1","Z1","S3","P3","H2","T3","A3","i3","dynCall_iijj","dynCall_vijj","dynCall_jiii","F1","dynCall_viiij","N22","G2","_tryLoad","_loadWithBackup","_ModulePromise","_wasmURL","o1","_eventListeners","dispatch","removeAllEventListeners","_initializeObserver","_observer","_observedCanvases","K2","J3","i2","q2","a2","e1","A1","o2","Mode","Reverse","ReverseBounce","Forward","None","d2","VectorFloat","push_back","u2","C2","_canvas","_context","_eventManager","_frameManager","_renderConfig","renderConfig","freezeOnOffscreen","_wasmModule","_dotLottieCore","DotLottiePlayer","loopAnimation","segment","useFrameInterpolation","marker","createDefaultLayout","_loadFromData","_loadFromSrc","setBackgroundColor","_pointerUpMethod","_onPointerUp","_pointerDownMethod","_onPointerDown","_pointerMoveMethod","_onPointerMove","_pointerEnterMethod","_onPointerEnter","_pointerExitMethod","_onPointerLeave","_onCompleteMethod","_onComplete","_dispatchError","_fetchData","statusText","loadAnimationData","loadDotLottieData","_render","config","_animationFrameId","_draw","autoResize","activeThemeId","manifestString","isFrozen","_isFrozen","_backgroundColor","isReady","isLoaded","segmentDuration","setConfig","ImageData","createImageData","putImageData","requestFrame","setFrame","isComplete","setUseFrameInterpolation","_cleanupStateMachineListeners","setSegment","setRenderConfig","setMarker","markers","loadTheme","loadThemeData","setLayout","setViewport","loadStateMachine","startStateMachine","_setupStateMachineListeners","stopStateMachine","_getPointerPosition","postStateMachineEvent","postEventPayload","getStateMachineListeners","stateMachineFrameworkSetup","loadStateMachineData","animationSize","setStateMachineBooleanContext","setStateMachineNumericContext","setStateMachineStringContext","X2","Z2","Q2","OffscreenCanvas","e3","random","N2","_id","workerId","_workerManager","getWorker","assignAnimationToWorker","_wasmUrl","_sendMessage","_create","_handleWorkerEvent","instanceId","_updateDotLottieInstanceState","_dotLottieInstanceState","transferControlToOffscreen","_created","themeId","unassignAnimationFromWorker","themeData","stateMachineId","stateMachineData","DotLottieComponent","containerStyle","lineHeight","_workers","_animationWorkerMap","sendMessage","terminateWorker","DotLottieReact","dotLottieRefCallback","playOnHover","DotLottieComponent2","setDotLottie","dotLottieRef","configRef","canvasRef","hoverHandler","Component","dotLottieInstance","startFrame","endFrame","useDotLottie","stableDotLottieRefCallback","callbackContainer","useStableCallback","HomePageMainBanner","desktopAnimation","mobileAnimation","textBelowCTA","animationPath","setAnimationPath","animationWidth","setAnimationWidth","animationHeight","setAnimationHeight","ErrorHandler","stamp","commentRef","IconChevronRight","StatsValuesRibbon","ButtonSection","MediaViewerComponent","AnimationSection","animationSrc","animationStateMachines","CryptoDisclaimer","HeroBannerWithImagesHomeUplift","actionMessageLink","actionMessageBadge","actionMessageText","actionMessageLinkInNewTab","statValues","mobileTitleAlignment","tabletTitleAlignment","desktopTitleAlignment","mobileSubTitleAlignment","tabletSubTitleAlignment","desktopSubTitleAlignment","cryptoDisclaimerContent","setImageEl","handleButtonStatsBanner","d$1","animationWithControls","onEvent","e$1","a$1","lottieRef","lang","SmallCardWithAnimatedIcon","linkTarget","dotLottieOrImgV2","setDotLottieOrImgV2","SmallCardsSlider","MEDIA_EXTENSIONS","MediaViewer","mediaFileUrl","posterUrl","isVideoLooping","mediaType","fileUrl","extension","getMediaFileExtension","extensions","getMediaType","poster","autoPlay","muted","playsInline","SmartphoneFrameWithMedia","frameImageUrl","LinkPill","purpose","openNewTab","LinkPillsPair","pills","MobileAppDownloadPopin","qRCodeImageUrl","downloadLinks","onClose","handleEsc","PortalledMobileAppDownload","createPortal","SimpleIconAndTextCard","SimpleIconAndTextCardDeck","ThreeColsSectionMediaAndButtonsBase","cardsGroup1","cardsGroup2","mediaProps","mobileAppDownloadProps","ctaButtons","backgroundImageUrl","anchorId","isModalOpen","setIsModalOpen","handleMobileDownloadButton","newCtaButtons","buttonProps","newButtonProps","observerMap","RootIds","WeakMap","rootId","fallbackInView","intersectionRect","rootBounds","elements","optionsToId","thresholds","inView","trackVisibility","createObserver","callbacks","INTERSECTION_THRESHOLDS","ThreeColsSectionMediaAndButtonsIntersectionObserver","animationType","interSectionPhase","setIntersectionPhase","intersectionThresholds","phaseSettingFunction","isIntersectionCompleteRef","passedThresholdsRef","triggerOnce","initialInView","setRef","entryTarget","previousEntryTarget","useInView","sorted_thresholds","phaseNum","manageIntersections","useComponentIntersection","animationBaseClass","getExtraClasses","ThreeColsSectionMediaAndButtons","License","LicenseSlider","licenses","isClient","setIsClient","license","FeaturesList","featureTitle","TrustPilotMiniBanner","locale","theme","handleTVWidget","CheckOutButton","StatsLineRibbonBanner","features","trustPilotLocale","checkOutButtonValues","trustPilotTheme","SmallAwardCard","leftLeavesImage","rightLeavesImage","date","AwardsSlider","slidesQuantity","awards","containerMaxWidthClass","containerMaxWidth","containerExtraClass","award","FeatureCard","cardTitle","cardDescription","cardClass","cardVideoURL","thumbnailImageURL","cardButtonURL","cardButtonLabel","openOnNewPage","cardLottieURL","cardImageURL","cardImageAlt","videoPath","setVideoPath","FeatureCardsSection","FooterBannerV2_6","topImageUrl","leftImageUrl","rightImageUrl","SocialMedia","socialMedia","iconLink","LiveChatCTA","liveChatText","simulateMouseClick","mouseEventType","buttons","simulateMouseClickOnZendeskChatIcon","SocialBarLogoLiveChat","liveChatCTA","logoImageUrl","logoImageAlt","PaymentMethodsIcons","icons","note","methodIconURL","methodIconAlt","FooterNavLink","FooterNavSection","links","FooterNavV2_6","navSections","FooterV2_6","socialBarLogoLiveChat","paymentMethodsIcons","footerNavigationProps","legalInfo","hasBanner","footerBannerProps"],"sourceRoot":""}