{"version":3,"file":"widgetsbundle.js","mappings":"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AI,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,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,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,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,GAAI,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,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IA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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/chat.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/getClassConditionalAppend.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/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/TitleSubTitleCTA/TitleSubTitleCTA.tsx","webpack://tmv2-components/./src/Components/Cards/MarketCard/MarketCard.tsx","webpack://tmv2-components/./src/Components/RichTextWithImage/RichTextWithImage.tsx","webpack://tmv2-components/./src/Components/RichTextWithImageUplift/RichTextWithImageUplift.tsx","webpack://tmv2-components/./src/Components/M29OurPeopleImageGallery/PeopleCard/PeopleCard.tsx","webpack://tmv2-components/./src/Components/M29OurPeopleImageGallery/M29OurPeopleImageGallery.tsx","webpack://tmv2-components/./src/Components/Banners/HeroBannerWithImagesAndAnimation/HeroBannerWithImagesAndAnimation.tsx","webpack://tmv2-components/./src/Components/SingleAwardBanner/SingleAwardBanner.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","webpack://tmv2-components/./src/Components/M30CardsWithIconTextsLink/LinkWithTargetAndRel/LinkWithTargetAndRel.tsx","webpack://tmv2-components/./src/Components/M30CardsWithIconTextsLink/CardWithIconTextsLink/CardWithIconTextsLink.tsx","webpack://tmv2-components/./src/Components/M30CardsWithIconTextsLink/M30CardsWithIconTextsLink.tsx","webpack://tmv2-components/./src/Components/Cards/BigAwardsCardDeck/BigAwardsCard/BigAwardsCard.tsx","webpack://tmv2-components/./src/Components/Cards/BigAwardsCardDeck/BigAwardsCardDeck.tsx","webpack://tmv2-components/./src/Components/Cards/SmallAwardCardsDeck/MobileSmallAwardCard/MobileSmallAwardCard.tsx","webpack://tmv2-components/./src/Components/Cards/SmallAwardCardsDeck/SmallAwardCardsDeck.tsx","webpack://tmv2-components/./src/Components/Cards/ThinkTraderCardWithImage/ThinkTraderCardWithImage.tsx","webpack://tmv2-components/./src/Components/Banners/ThinkTraderAccountBanner/TTAccBannerButtonAndLink/TTAccBannerButtonAndLink.tsx","webpack://tmv2-components/./src/Components/Banners/ThinkTraderAccountBanner/ThinkTraderAccountBanner.tsx","webpack://tmv2-components/./src/Components/AnimatedRollingNumber/AnimatedRollingNumber.tsx","webpack://tmv2-components/./src/Components/RibbonWithOutStatLine/RibbonWithOutStatLine.tsx","webpack://tmv2-components/./src/Components/M34HowItWorks/Disclaimer/Disclaimer.tsx","webpack://tmv2-components/./src/Components/M34HowItWorks/Slides/Slides.tsx","webpack://tmv2-components/./src/Components/M34HowItWorks/M34HowItWorks.tsx","webpack://tmv2-components/./src/Components/svgIcons/Substract.tsx","webpack://tmv2-components/./src/Components/FaqAccordionList/FaqAccordionList.tsx","webpack://tmv2-components/./src/Components/svgIcons/Addplus.tsx","webpack://tmv2-components/./src/Components/M31FiveCardsTitleText/CardWithImageAndGradient/CardWithImageAndGradient.tsx","webpack://tmv2-components/./src/Components/M31FiveCardsTitleText/M31FiveCardsTitleText.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(\"widgetsbundle\", [\"React\", \"ReactDOM\"], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"widgetsbundle\"] = factory(require(\"React\"), require(\"ReactDOM\"));\n\telse\n\t\troot[\"widgetsbundle\"] = 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 IconChat = () => (React.createElement(\"svg\", { width: \"36\", height: \"36\", viewBox: \"0 0 36 36\", fill: \"none\", xmlns: \"http://www.w3.org/2000/svg\" },\r\n React.createElement(\"g\", { id: \"chat\", clipPath: \"url(#clip0_8252_5914)\" },\r\n React.createElement(\"ellipse\", { id: \"Ellipse 91\", cx: \"18\", cy: \"19.375\", rx: \"9\", ry: \"3\", fill: \"#5EE15A\" }),\r\n React.createElement(\"g\", { id: \"k\" },\r\n React.createElement(\"path\", { id: \"Vector\", d: \"M27.2411 6.93359H8.76237C3.92095 6.93359 -0.0150146 10.8696 -0.0150146 15.711V23.1025C-0.0150146 27.9439 3.92095 31.8798 8.76237 31.8798H23.3421C24.4323 31.8798 25.5041 32.1755 26.428 32.7299L31.1031 35.5386C31.6205 35.8528 32.1934 36.0006 32.7662 36.0006C33.3391 36.0006 33.8565 35.8528 34.3554 35.5756C35.3902 35.0028 36 33.9495 36 32.7668V15.711C36 10.8696 32.064 6.93359 27.2226 6.93359H27.2411ZM10.6472 20.7926C9.88957 20.7926 9.2613 20.1643 9.2613 19.4067C9.2613 18.6491 9.87109 18.0208 10.6287 18.0208H10.6472C11.4048 18.0208 12.0331 18.6491 12.0331 19.4067C12.0331 20.1643 11.4048 20.7926 10.6472 20.7926ZM18.0387 20.7926C17.2811 20.7926 16.6528 20.1643 16.6528 19.4067C16.6528 18.6491 17.2626 18.0208 18.0202 18.0208H18.0387C18.7963 18.0208 19.4246 18.6491 19.4246 19.4067C19.4246 20.1643 18.7963 20.7926 18.0387 20.7926ZM25.4302 20.7926C24.6725 20.7926 24.0443 20.1643 24.0443 19.4067C24.0443 18.6491 24.6541 18.0208 25.4117 18.0208H25.4302C26.1878 18.0208 26.8161 18.6491 26.8161 19.4067C26.8161 20.1643 26.1878 20.7926 25.4302 20.7926Z\", fill: \"#0E1D31\" }))),\r\n React.createElement(\"defs\", null,\r\n React.createElement(\"clipPath\", { id: \"clip0_8252_5914\" },\r\n React.createElement(\"rect\", { width: \"36\", height: \"36\", fill: \"white\" })))));\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 const getClassConditionalAppend = (extraClassName) => extraClassName ? ` ${extraClassName}` : \"\";\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\t677: 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, }) => (React.createElement(React.Fragment, null,\r\n buttonLabel && buttonHref && (React.createElement(ButtonV2, { classes: \"tmx25-round-green-lightgreen\", href: buttonHref, openInNewTab: buttonOpenInNewTab }, 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, { 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\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 }) => {\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, { 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, 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 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 { ContainerFW, Container } from \"../global\";\r\nimport { Heading } from \"../Heading\";\r\nimport { ButtonV2 } from \"../ButtonV2/ButtonV2\";\r\nimport { getColors } from \"../../utils\";\r\nconst getHeadingDesignStyle = (headingStyle) => {\r\n const headingType = headingStyle?.split(\"-\")[0].toString();\r\n return headingType ? `${headingType}-v2dot6` : undefined;\r\n};\r\nexport const TitleSubTitleCTA = ({ title, subTitle, buttonLabel, buttonOnLargeOnly, buttonURL, backgroundColor, centered, headingStyle, buttonOnLargeAndMediumOnly, buttonOpensInNewTab }) => {\r\n const { bgColor } = getColors(backgroundColor);\r\n return (React.createElement(ContainerFW, { className: \"g-container--new\", backgroundColor: bgColor },\r\n React.createElement(Container, { className: \"g-container--new\" },\r\n React.createElement(\"div\", { className: `titleSubTitleCTA ${centered ? \"titleSubTitleCTA__centered--tm\" : \"\"} ${buttonOnLargeOnly ? \"titleSubTitleCTA__hide-button--tm\" : \"\"} ${buttonOnLargeAndMediumOnly ? \"titleSubTitleCTA__hide-button--mobile\" : \"\"}` },\r\n React.createElement(\"div\", { className: \"titleSubTitleCTA__content\" },\r\n React.createElement(Heading, { design: getHeadingDesignStyle(headingStyle) }, title),\r\n React.createElement(\"p\", { className: \"titleSubTitleCTA__text\" }, subTitle)),\r\n (buttonLabel && buttonURL) && React.createElement(ButtonV2, { href: buttonURL, openInNewTab: buttonOpensInNewTab, design: \"ghost-large-wbg\" }, buttonLabel)))));\r\n};\r\n","import React, { useEffect, useState } from \"react\";\r\nimport { Heading } from \"../../Heading\";\r\nimport { ButtonV2 } from \"../../ButtonV2\";\r\nimport { usePageViewStyle } from \"../../../hooks\";\r\nimport { handleLinkTarget } from \"../../../utils\";\r\nexport const MarketCard = ({ categoryName, linkLabel, linkUrl, subtitle, title, mobileBgImage, desktopBgImage, openInNewTabButton = false }) => {\r\n const { isSmall } = usePageViewStyle();\r\n const [linkCard, setLinkCard] = useState(false);\r\n const hrefTarget = handleLinkTarget(openInNewTabButton);\r\n useEffect(() => {\r\n setLinkCard(isSmall);\r\n }, [isSmall]);\r\n return (linkCard ? React.createElement(\"a\", { href: linkUrl, target: hrefTarget, className: \"market-card-root\", style: { \"--background-image-url-mobile\": `url(${mobileBgImage})`, \"--background-image-url-desktop\": `url(${desktopBgImage})` } },\r\n React.createElement(\"p\", { className: \"caption-risk-warning-bold\" }, categoryName),\r\n React.createElement(\"div\", { className: \"market-card-root__title-wrapper\" },\r\n React.createElement(Heading, { design: \"h4-v2dot6\" }, title),\r\n React.createElement(\"p\", { className: \"market-card-root__title-wrapper__subtitle\" }, subtitle)))\r\n : React.createElement(\"div\", { className: \"market-card-root\", style: { \"--background-image-url-mobile\": `url(${mobileBgImage})`, \"--background-image-url-desktop\": `url(${desktopBgImage})` } },\r\n React.createElement(\"p\", { className: \"caption-risk-warning-bold\" }, categoryName),\r\n React.createElement(\"div\", { className: \"market-card-root__title-wrapper\" },\r\n React.createElement(Heading, { design: \"h4-v2dot6\" }, title),\r\n React.createElement(\"p\", { className: \"market-card-root__title-wrapper__subtitle\" }, subtitle)),\r\n React.createElement(ButtonV2, { classes: \"market-card-root__button\", openInNewTab: openInNewTabButton, href: linkUrl }, linkLabel)));\r\n};\r\n","import React, { useState, useEffect } from \"react\";\r\nimport { Img } from \"../Img\";\r\nimport { Container, ContainerFW } from \"../global\";\r\nimport { usePageViewStyle } from \"../../hooks\";\r\nimport { Heading } from \"../Heading\";\r\nexport const RichTextWithImage = ({ titleFontWeight = 700, ...props }) => {\r\n const { isSmall, isLarge, isMedium } = usePageViewStyle();\r\n const [isSmallValue, setIsSmallValue] = useState(false);\r\n const [isMediumValue, setIsMediumValue] = useState(false);\r\n const [isLargeValue, setIsLargeValue] = useState(false);\r\n useEffect(() => {\r\n setIsSmallValue(isSmall);\r\n setIsMediumValue(isMedium);\r\n setIsLargeValue(isLarge);\r\n }, [isSmall, isMedium, isLarge]);\r\n return (React.createElement(ContainerFW, { backgroundColor: \"#fff\" },\r\n React.createElement(Container, null,\r\n React.createElement(\"div\", { className: `rich-text-with-image ${props.position}` },\r\n React.createElement(\"div\", { className: \"rich-text-with-image__text-container\" },\r\n props.title && React.createElement(Heading, { design: props.h2title ? \"h2-v2dot6\" : \"h1-v2dot6\", style: { \"--text-alignment\": `${props.textAlignment}`, \"--title-font-weight\": titleFontWeight } }, props.title),\r\n React.createElement(\"div\", { className: \"rich-text-with-image__text\", dangerouslySetInnerHTML: {\r\n __html: props.richText,\r\n }, style: { \"--text-alignment\": `${props.textAlignment}` } })),\r\n React.createElement(\"div\", { className: \"rich-text-with-image__image-container\" },\r\n (isLargeValue || isMediumValue) && React.createElement(Img, { className: \"rich-text-with-image__image\", src: props.imageURL, alt: props.imageAlt }),\r\n isSmallValue && React.createElement(Img, { className: \"rich-text-with-image__image\", src: props.mobileImageURL, alt: props.imageAlt }))))));\r\n};\r\n","import React, { useState, useEffect } from \"react\";\r\nimport { Img } from \"../Img\";\r\nimport { Container, ContainerFW } from \"../global\";\r\nimport { usePageViewStyle } from \"../../hooks\";\r\nimport { Heading } from \"../Heading\";\r\nexport const RichTextWithImageUplift = ({ title, richText, imageURL, mobileImageURL, imageAlt, position, textAlignment = \"left\", titletype, mainContainerWidth1400 = false, descriptionColor = \"#0E1D31\", headingTextColor = \"#18283D\", haveItems = false, item1title, item1subtitle, item2title, item2subtitle, item3title, item3subtitle, titleFontWeight = 700 }) => {\r\n const { isSmall, isLarge, isMedium } = usePageViewStyle();\r\n const [isSmallValue, setIsSmallValue] = useState(false);\r\n const [isMediumValue, setIsMediumValue] = useState(false);\r\n const [isLargeValue, setIsLargeValue] = useState(false);\r\n useEffect(() => {\r\n setIsSmallValue(isSmall);\r\n setIsMediumValue(isMedium);\r\n setIsLargeValue(isLarge);\r\n }, [isSmall, isMedium, isLarge]);\r\n const headingSection = (titleLabel, titleType, titleTextAlignment, titleTextColor) => (titleLabel !== \"\" && React.createElement(Heading, { design: titleType ? titleType : \"h2-v2dot6\", style: { \"--text-alignment\": `${titleTextAlignment}`, color: titleTextColor, \"--title-font-weight\": titleFontWeight } }, titleLabel));\r\n const descriptionSection = (descriptionText, descriptionTextAlignment, descriptionTextColor) => (richText !== \"\" && React.createElement(\"div\", { className: \"rich-text-with-image-uplift__text\", dangerouslySetInnerHTML: {\r\n __html: descriptionText,\r\n }, style: { \"--text-alignment\": `${descriptionTextAlignment}`, color: descriptionTextColor } }));\r\n const imageSection = (desktopAndTabletImage, phoneImage, desktopAndMobileImageAlt) => (React.createElement(\"div\", { className: \"rich-text-with-image-uplift__image-container\" },\r\n (isLargeValue || isMediumValue) && React.createElement(Img, { className: \"rich-text-with-image-uplift__image\", src: desktopAndTabletImage, alt: desktopAndMobileImageAlt }),\r\n isSmallValue && React.createElement(Img, { className: \"rich-text-with-image-uplift__image\", src: phoneImage, alt: desktopAndMobileImageAlt })));\r\n const itemsSection = (haveSection, firstItemtitle, firstItemsubtitle, secondItemtitle, secondItemsubtitle, thirdItemtitle, thirdItemsubtitle) => (haveSection && React.createElement(\"div\", { className: \"rich-text-with-image-uplift__items-wrapper\" },\r\n React.createElement(\"div\", { className: \"rich-text-with-image-uplift__item1\" },\r\n React.createElement(\"p\", { className: \"rich-text-with-image-uplift__item-title\" }, firstItemtitle),\r\n React.createElement(\"p\", { className: \"rich-text-with-image-uplift__item-subtitle\" }, firstItemsubtitle)),\r\n React.createElement(\"div\", { className: \"rich-text-with-image-uplift__item2\" },\r\n React.createElement(\"p\", { className: \"rich-text-with-image-uplift__item-title\" }, secondItemtitle),\r\n React.createElement(\"p\", { className: \"rich-text-with-image-uplift__item-subtitle\" }, secondItemsubtitle)),\r\n React.createElement(\"div\", { className: \"rich-text-with-image-uplift__item3\" },\r\n React.createElement(\"p\", { className: \"rich-text-with-image-uplift__item-title\" }, thirdItemtitle),\r\n React.createElement(\"p\", { className: \"rich-text-with-image-uplift__item-subtitle\" }, thirdItemsubtitle))));\r\n return (React.createElement(\"div\", { className: \"rich-text-with-image-uplift-main\" },\r\n React.createElement(ContainerFW, { backgroundColor: \"#fff\" },\r\n React.createElement(Container, { className: `${mainContainerWidth1400 ? \"g-container--new\" : \"\"}` },\r\n React.createElement(\"div\", { className: `rich-text-with-image-uplift ${position}` },\r\n React.createElement(\"div\", { className: \"rich-text-with-image-uplift__text-container\" },\r\n headingSection(title, titletype, textAlignment, headingTextColor),\r\n descriptionSection(richText, textAlignment, descriptionColor),\r\n itemsSection(haveItems, item1title, item1subtitle, item2title, item2subtitle, item3title, item3subtitle)),\r\n imageSection(imageURL, mobileImageURL, imageAlt))))));\r\n};\r\n","import React from \"react\";\r\nimport { Heading } from \"../../Heading\";\r\nimport { ImgV2 } from \"../../ImgV2\";\r\nexport const PeopleCard = ({ imageUrl, personName, personPosition }) => (React.createElement(\"div\", { className: \"people-card-root\" },\r\n React.createElement(\"div\", { className: \"people-card-root__image-container\" },\r\n React.createElement(ImgV2, { src: imageUrl, alt: personName })),\r\n React.createElement(\"div\", { className: \"people-card-root__texts-container\" },\r\n React.createElement(Heading, { design: \"h4-lp\" }, personName),\r\n React.createElement(\"p\", { className: \"p-regular\" }, personPosition))));\r\n","import React from \"react\";\r\nimport { Container, ContainerFW } from \"../global\";\r\nimport { PeopleCard } from \"./PeopleCard/PeopleCard\";\r\nimport { Swiper, SwiperSlide } from \"swiper/react\";\r\nimport { getColors } from \"../../utils\";\r\nexport const M29OurPeopleImageGallery = ({ cards, title, backgroundColor, }) => {\r\n const { bgColor } = getColors(backgroundColor);\r\n return (React.createElement(ContainerFW, { className: \"g-container--new\", backgroundColor: bgColor },\r\n React.createElement(Container, { className: \"g-container--new our-people-image-gallery\" },\r\n React.createElement(\"p\", { className: \"our-people-image-gallery__title\" }, title),\r\n React.createElement(Swiper, { breakpoints: {\r\n 375: {\r\n slidesPerView: 1.1,\r\n spaceBetween: 10,\r\n },\r\n 601: {\r\n slidesPerView: 2.7,\r\n spaceBetween: 10,\r\n },\r\n 1024: {\r\n slidesPerView: 3,\r\n spaceBetween: 10,\r\n },\r\n } }, Array.isArray(cards) &&\r\n cards.map((card) => (React.createElement(SwiperSlide, { key: `card-slide-${card.personName}` },\r\n React.createElement(PeopleCard, { ...card }))))))));\r\n};\r\n","import React from \"react\";\r\nimport { ImgV2 } from \"../../ImgV2\";\r\nimport { ContainerFW } from \"../../../header\";\r\nimport { getColors } from \"../../../utils\";\r\nimport { ButtonV2 } from \"../../ButtonV2\";\r\nimport { Heading } from \"../../Heading\";\r\nexport const HeroBannerWithImagesAndAnimation = ({ title, subTitle, buttonLabel, buttonUrl, bgImage, backgroundColor, buttonOpenInNewTab = false }) => {\r\n const { bgColor } = getColors(backgroundColor);\r\n return (React.createElement(\"div\", { className: \"hero-banner-animation\" },\r\n React.createElement(ContainerFW, { className: \"g-container--new\", backgroundColor: bgColor },\r\n React.createElement(Heading, { design: \"h1-regular\" }, title),\r\n React.createElement(Heading, { design: \"h5-semi-bold\" }, subTitle),\r\n React.createElement(ButtonV2, { showArrowRight: true, design: \"cta-medium-wbg\", href: buttonUrl, openInNewTab: buttonOpenInNewTab }, buttonLabel),\r\n React.createElement(\"div\", { className: \"hero-banner-animation__bg-image\" },\r\n React.createElement(ImgV2, { src: bgImage })))));\r\n};\r\n","import React from \"react\";\r\nimport { ContainerFW, Container } from \"../global\";\r\nimport { getContainerClassPerMaxWidth, } from \"../../utils\";\r\nimport { getColors } from \"../../utils\";\r\nexport const SingleAwardBanner = ({ title, subTitle, year, posterImgUrl, posterBkgrImgUrl, backgroundColor, containerMaxWidth, }) => {\r\n const { bgColor } = getColors(backgroundColor);\r\n const containerMaxWidthClass = containerMaxWidth && getContainerClassPerMaxWidth(containerMaxWidth);\r\n const containerExtraClass = containerMaxWidthClass\r\n ? ` ${containerMaxWidthClass}`\r\n : \"\";\r\n const imageUrlCss = posterBkgrImgUrl ? `url(${posterBkgrImgUrl})` : \"none\";\r\n return (React.createElement(ContainerFW, { backgroundColor: bgColor, className: containerExtraClass },\r\n React.createElement(Container, { className: containerExtraClass },\r\n React.createElement(\"section\", { className: \"single-award-banner\", style: {\r\n \"--background-image-url\": imageUrlCss,\r\n } },\r\n React.createElement(\"header\", { className: \"single-award-banner__text-content\" },\r\n React.createElement(\"h3\", { className: \"single-award-banner__title\" }, title),\r\n React.createElement(\"div\", { className: \"single-award-banner__subtitle\", dangerouslySetInnerHTML: {\r\n __html: subTitle || \"\",\r\n } }),\r\n React.createElement(\"div\", { className: \"single-award-banner__year\" }, year)),\r\n React.createElement(\"div\", { className: \"single-award-banner__poster\" },\r\n React.createElement(\"img\", { src: posterImgUrl, alt: title }))))));\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","import React from \"react\";\r\nexport const LinkWithTargetAndRel = ({ linkUrl, children, linkOpensInNewTab, className }) => {\r\n if (!linkUrl) {\r\n return React.createElement(React.Fragment, null, \"children\");\r\n }\r\n return (React.createElement(\"a\", { className: className, href: linkUrl, target: linkOpensInNewTab ? \"_blank\" : undefined, rel: linkOpensInNewTab ? \"noreferrer\" : \"\" }, children));\r\n};\r\n","import React from \"react\";\r\nimport { Heading } from \"../../Heading\";\r\nimport { ImgV2 } from \"../../ImgV2\";\r\nimport { LinkWithTargetAndRel } from \"../LinkWithTargetAndRel\";\r\nexport const CardWithIconTextsLink = ({ iconUrl, subTitle, title, cardBackground, contentTextColor, iconAlt, linkUrl, linkText, linkOpensInNewTab = false, }) => (React.createElement(\"div\", { className: \"card-with-icon-texts-link\", style: {\r\n \"--content-text-color\": contentTextColor,\r\n \"--background-color\": cardBackground,\r\n } },\r\n React.createElement(ImgV2, { src: iconUrl, alt: iconAlt, className: \"card-with-icon-texts-link__icon\" }),\r\n subTitle && (React.createElement(\"div\", { className: \"card-with-icon-texts-link__subtitle\", dangerouslySetInnerHTML: {\r\n __html: subTitle,\r\n } })),\r\n React.createElement(LinkWithTargetAndRel, { className: \"card-with-icon-texts-link__title-link\", linkUrl: linkUrl, linkOpensInNewTab: linkOpensInNewTab },\r\n React.createElement(Heading, { design: \"h6-v2dot6\", className: \"card-with-icon-texts-link__title\" }, title)),\r\n linkUrl && linkText && (React.createElement(\"div\", { className: \"card-with-icon-texts-link__link\" },\r\n React.createElement(LinkWithTargetAndRel, { linkUrl: linkUrl, linkOpensInNewTab: linkOpensInNewTab }, linkText)))));\r\n","import React from \"react\";\r\nimport { Container, ContainerFW } from \"../global\";\r\nimport { CardWithIconTextsLink, } from \"./CardWithIconTextsLink/CardWithIconTextsLink\";\r\nimport { ButtonV2 } from \"../ButtonV2\";\r\nexport const M30CardsWithIconTextsLink = ({ title, subTitle, cards, backgroundColor, buttonUrl, buttonOpenInNewTab, buttonDesign, buttonLabel, }) => (React.createElement(ContainerFW, { className: \"g-container--new\", backgroundColor: backgroundColor },\r\n React.createElement(Container, { className: \"g-container--new\" },\r\n React.createElement(\"div\", { className: \"m30-cards-with-icon-texts-link\" },\r\n title && React.createElement(\"h2\", { className: \"h2-v2_6\" }, title),\r\n subTitle && React.createElement(\"p\", null, subTitle),\r\n React.createElement(\"div\", { className: \"m30-cards-with-icon-texts-link__cards\" }, Array.isArray(cards) &&\r\n cards.map((card, index) => (React.createElement(CardWithIconTextsLink, { key: index, iconUrl: card.iconUrl, iconAlt: card.iconAlt, title: card.title, subTitle: card.subTitle, cardBackground: card.cardBackground, contentTextColor: card.contentTextColor, linkText: card.linkText, linkUrl: card.linkUrl, linkOpensInNewTab: card.linkOpensInNewTab })))),\r\n buttonLabel && (React.createElement(ButtonV2, { href: buttonUrl, openInNewTab: buttonOpenInNewTab, design: buttonDesign, showArrowRight: true }, buttonLabel))))));\r\n","import React, { useMemo } from \"react\";\r\nexport const BigAwardsCard = ({ awardImgUrl, title, subTitle, year, organization, design, backgroundImg, topIconPosition, firstGradientColor, secondGradientColor, }) => {\r\n const imageUrlCss = backgroundImg ? `url(${backgroundImg})` : \"none\";\r\n const handleIconPosition = useMemo(() => {\r\n if (topIconPosition === \"left\") {\r\n return \"0 auto auto 0\";\r\n }\r\n else if (topIconPosition === \"center\") {\r\n return \"0 auto auto\";\r\n }\r\n return \"0 0 auto auto\";\r\n }, [topIconPosition]);\r\n return (React.createElement(\"section\", { className: `big-awards-card${design ? ` big-awards-card--${design}` : \"\"}`, style: {\r\n \"--background-image-url\": imageUrlCss,\r\n \"--first-gradient-color\": firstGradientColor,\r\n \"--second-gradient-color\": secondGradientColor,\r\n } },\r\n React.createElement(\"img\", { src: awardImgUrl, alt: organization, style: { margin: handleIconPosition } }),\r\n React.createElement(\"h3\", null, title),\r\n React.createElement(\"div\", null,\r\n React.createElement(\"span\", { className: \"big-awards-card__subtitle\" }, subTitle),\r\n React.createElement(\"span\", { className: \"big-awards-card__year\" }, year))));\r\n};\r\n","import React from \"react\";\r\nimport { Container, ContainerFW } from \"../../global\";\r\nimport { BigAwardsCard } from \"./BigAwardsCard\";\r\nexport const BigAwardsCardDeck = ({ title, titleColor, cards, backgroundColor, }) => (React.createElement(ContainerFW, { backgroundColor: backgroundColor },\r\n React.createElement(Container, null,\r\n React.createElement(\"div\", { className: \"big-awards-card-deck\" },\r\n title && (React.createElement(\"h2\", { style: {\r\n \"--title-color\": `${titleColor}`,\r\n } }, title)),\r\n Array.isArray(cards) &&\r\n cards.map((card, index) => (React.createElement(BigAwardsCard, { key: index, awardImgUrl: card.awardImgUrl, title: card.title, subTitle: card.subTitle, year: card.year, design: card.design, backgroundImg: card.backgroundImg, topIconPosition: card.topIconPosition, firstGradientColor: card.firstGradientColor, secondGradientColor: card.secondGradientColor })))))));\r\n","import React from \"react\";\r\nimport { ImgV2 } from \"../../../ImgV2\";\r\nexport const MobileSmallAwardCard = ({ mobileAwardImage, title, subtitle, date }) => (React.createElement(\"div\", { className: \"mobile-small-award-card\" },\r\n React.createElement(ImgV2, { src: mobileAwardImage }),\r\n React.createElement(\"p\", { className: \"mobile-small-award-card__title\" }, title),\r\n React.createElement(\"p\", { className: \"mobile-small-award-card__subtitle\" }, subtitle),\r\n React.createElement(\"p\", { className: \"mobile-small-award-card__date\" }, date)));\r\n","import React from \"react\";\r\nimport { Container, ContainerFW } from \"../../../header\";\r\nimport { usePageViewStyle } from \"../../../hooks\";\r\nimport { MobileSmallAwardCard } from \"./MobileSmallAwardCard/MobileSmallAwardCard\";\r\nimport { SmallAwardCard } from \"./SmallAwardCard/SmallAwardCard\";\r\nimport { getColors } from \"../../../utils\";\r\nexport const SmallAwardCardsDeck = ({ awardCards, title, titleAlignment, backgroundColor }) => {\r\n const { isSmall } = usePageViewStyle();\r\n const { bgColor } = getColors(backgroundColor);\r\n return (React.createElement(ContainerFW, { className: \"g-container--new\", backgroundColor: bgColor },\r\n React.createElement(Container, { className: \"g-container--new\" },\r\n React.createElement(\"div\", { className: \"small-award-cards-deck-root\" },\r\n React.createElement(\"div\", { className: \"small-award-cards-deck-root__title h3-semi-bold-small\", dangerouslySetInnerHTML: {\r\n __html: title || \"\",\r\n }, style: { \"--title-alignment\": titleAlignment } }),\r\n React.createElement(\"div\", { className: \"awards-wrapper\" }, awardCards.length > 0 && awardCards.map((award) => (React.createElement(React.Fragment, null, isSmall ? React.createElement(MobileSmallAwardCard, { key: award.title, title: award.title, subtitle: award.subtitle, mobileAwardImage: award.mobileAwardImage, date: award.date }) : React.createElement(SmallAwardCard, { key: award.title, date: award.date, title: award.title, subtitle: award.subtitle, leftLeavesImage: award.leftLeavesImage, rightLeavesImage: award.rightLeavesImage })))))))));\r\n};\r\n","import React from \"react\";\r\nimport { Container, ContainerFW } from \"../../global\";\r\nimport { ImgV2 } from \"../../ImgV2/ImgV2\";\r\nimport { ButtonV2 } from \"../../ButtonV2/ButtonV2\";\r\nimport { getColors } from \"../../../utils\";\r\nexport const ThinkTraderCardWithImage = ({ title, description, imageUrl, imageAlt, imageSectionBackground, imagePosition, buttonUrl, buttonLabel, backgroundColor, buttonDesign, imgPositionUpOrDown, buttonPosition, buttonShowArrowRight, buttonBgColor, leftButtonImage, hoverLeftImage, withCenteredStyle, openInNewTab }) => {\r\n const { bgColor } = getColors(backgroundColor);\r\n const mainClassName = `${imagePosition === \"left\" ? \"thinkTrader-card-with-image image-position-left\" : \"thinkTrader-card-with-image image-position-right\"} ${imgPositionUpOrDown === \"Up\" ? \"imageUP\" : \"imageDown\"} ${withCenteredStyle}`;\r\n let secondClassNAme;\r\n if (buttonPosition === \"left\") {\r\n secondClassNAme = \"classButtonLeft\";\r\n }\r\n else if (buttonPosition === \"right\") {\r\n secondClassNAme = \"classButtonRight\";\r\n }\r\n else {\r\n secondClassNAme = \"classButtonCenter\";\r\n }\r\n const textButtonSection = `thinkTrader-card-with-image__text-button-section ${secondClassNAme}`;\r\n const handleButtonColor = () => {\r\n if (buttonBgColor) {\r\n return buttonBgColor;\r\n }\r\n return \"#E5EEEE\";\r\n };\r\n return (React.createElement(ContainerFW, { backgroundColor: bgColor },\r\n React.createElement(Container, null,\r\n React.createElement(\"div\", { className: mainClassName },\r\n React.createElement(\"div\", { className: textButtonSection },\r\n React.createElement(\"div\", { className: \"thinkTrader-card-with-image__text-button-section__text-container\" },\r\n React.createElement(\"h2\", { className: \"thinkTrader-card-with-image__text-button-section__text-container__title-wrapper\", dangerouslySetInnerHTML: { __html: title } }),\r\n React.createElement(\"div\", { className: \"thinkTrader-card-with-image__text-button-section__text-container__desk-wrapper\", dangerouslySetInnerHTML: { __html: description } })),\r\n buttonLabel && React.createElement(\"div\", { className: \"thinkTrader-card-with-image__text-button-section__button-container\" },\r\n React.createElement(ButtonV2, { icon: leftButtonImage, iconHover: hoverLeftImage, design: buttonDesign, href: buttonUrl, showArrowRight: buttonShowArrowRight, openInNewTab: openInNewTab, style: { \"--button-bg-color\": `${handleButtonColor()}` } }, buttonLabel))),\r\n React.createElement(\"div\", { className: \"thinkTrader-card-with-image__image-section\", style: { backgroundColor: imageSectionBackground } },\r\n React.createElement(ImgV2, { src: imageUrl, alt: imageAlt, loading: \"eager\" }))))));\r\n};\r\n","import React from \"react\";\r\nimport { ButtonV2 } from \"../../../ButtonV2/ButtonV2\";\r\nexport const TTAccBannerButtonAndLink = ({ buttonLink, buttonText, openInNewTab, linkButtonLabel, linkButtonUrl }) => {\r\n const hasTextLink = linkButtonLabel && linkButtonUrl;\r\n return React.createElement(\"div\", { className: \"thinktrader-account-banner__button-wrapper\" },\r\n buttonLink && React.createElement(ButtonV2, { design: \"tmx25-round-green-lightgreen\", href: buttonLink, openInNewTab: openInNewTab, showArrowRight: true }, buttonText),\r\n hasTextLink && React.createElement(\"a\", { className: \"link-button\", rel: \"noreferrer\", target: \"_blank\", href: linkButtonUrl }, linkButtonLabel));\r\n};\r\n","import * as React from \"react\";\r\nimport { Container, ContainerFW } from \"../../global\";\r\nimport { ImgV2 } from \"../../ImgV2/ImgV2\";\r\nimport { getColors } from \"../../../utils/getColors\";\r\nimport { Heading } from \"../../Heading\";\r\nimport { TTAccBannerButtonAndLink } from \"./TTAccBannerButtonAndLink\";\r\nexport const ThinkTraderAccountBanner = ({ title, description, imageUrl, imageAlt, list, buttonLink, buttonText, openInNewTab, backgroundColor, linkButtonLabel, linkButtonUrl }) => {\r\n const { bgColor } = getColors(backgroundColor);\r\n const standardString = React.useCallback((value) => {\r\n if (value.includes(\"
\")) {\r\n return value.replace(\"
\", \" | \");\r\n }\r\n return value;\r\n }, []);\r\n const showButtonWrapper = buttonLink || (linkButtonLabel && linkButtonUrl);\r\n return (React.createElement(ContainerFW, { backgroundColor: bgColor },\r\n React.createElement(Container, null,\r\n React.createElement(\"div\", { className: \"thinktrader-account-banner\" },\r\n React.createElement(\"div\", { className: \"thinktrader-account-banner__text-wrapper\" },\r\n React.createElement(\"div\", { className: \"thinktrader-account-banner__h1-h5-wrapper\" },\r\n React.createElement(Heading, { design: \"h1-regular\" }, title),\r\n React.createElement(\"h5\", { className: \"h5-semi-bold\", dangerouslySetInnerHTML: {\r\n __html: description\r\n } })),\r\n list && list.length > 0 && React.createElement(\"div\", { className: \"thinktrader-account-banner__options-wrapper\" }, list.map((item, i) => (React.createElement(\"div\", { key: i, className: \"thinktrader-account-banner__option\" },\r\n React.createElement(\"p\", { className: \"thinktrader-account-banner__option__p-title\" }, item.itemTitle),\r\n React.createElement(\"div\", { className: \"thinktrader-account-banner__option__p-subtitle\", dangerouslySetInnerHTML: {\r\n __html: standardString(item.itemSubTitle) || \"\"\r\n } }))))),\r\n showButtonWrapper && React.createElement(TTAccBannerButtonAndLink, { buttonLink: buttonLink, buttonText: buttonText, linkButtonUrl: linkButtonUrl, linkButtonLabel: linkButtonLabel, openInNewTab: openInNewTab })),\r\n React.createElement(\"div\", { className: \"thinktrader-account-banner__image-wrapper\" },\r\n React.createElement(ImgV2, { src: imageUrl, alt: imageAlt, loading: \"eager\" }))))));\r\n};\r\n","import React, { useEffect, useState } from \"react\";\r\nexport const AnimatedRollingNumber = ({ rollTo, classes, rollFrom = 0, duration = 1000, step = 5 }) => {\r\n const [currentNumber, setCurrentNumber] = useState(rollFrom);\r\n const validStep = Math.max(1, Math.floor(step || 1));\r\n useEffect(() => {\r\n let isMounted = true;\r\n const incrementTime = duration / Math.ceil((rollTo - rollFrom) / validStep);\r\n const interval = setInterval(() => {\r\n if (isMounted) {\r\n setCurrentNumber((prevNumber) => {\r\n if (prevNumber < rollTo) {\r\n return prevNumber + validStep;\r\n }\r\n else {\r\n clearInterval(interval);\r\n return prevNumber;\r\n }\r\n });\r\n }\r\n }, incrementTime);\r\n return () => {\r\n isMounted = false;\r\n clearInterval(interval);\r\n };\r\n }, [rollFrom, rollTo, duration, validStep]);\r\n return (React.createElement(\"div\", { style: { marginRight: \"-10px\" }, className: \"animated-rolling-number\" },\r\n React.createElement(\"div\", { className: classes, style: { textAlign: \"left\" } }, currentNumber),\r\n React.createElement(\"div\", { className: classes, style: { visibility: \"hidden\", height: 0, marginRight: \"10px\" } }, rollTo)));\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\nimport { handleLinkTarget } from \"../../utils\";\r\nconst COLOR_SCHEME_BTN_CLASSES = {\r\n green: \"tmx25-square-green-green\",\r\n lightpurple: \"tmx25-square-lightpurple\",\r\n lightPurpleSquared: \"tmx25-square-lightpurple-squared\",\r\n};\r\nexport const RibbonWithOutStatLine = ({ buttonHref, buttonLabel, opensInNewTab, linkHref, linkLabel, linkOpensInNewTab, subTitle, title, backgroundColor, ribbonColorScheme }) => {\r\n const colorSchemeName = ribbonColorScheme || \"green\";\r\n const linkHrefTarget = handleLinkTarget(linkOpensInNewTab);\r\n return (React.createElement(ContainerFW, { backgroundColor: backgroundColor || \"inherit\" },\r\n React.createElement(\"div\", { className: `ribbon-without-stat-line-root ribbon-without-stat-line-root--scheme-${colorSchemeName}` },\r\n React.createElement(Container, { className: \"g-container--tablet-margins\" },\r\n React.createElement(\"div\", { className: \"ribbon-without-stat-line-root__contentWrapper\" },\r\n React.createElement(\"div\", { className: \"ribbon-without-stat-line-root__contentWrapper__textWrapper\" },\r\n React.createElement(Heading, { design: \"h4-semi-bold\" },\r\n React.createElement(\"span\", { dangerouslySetInnerHTML: {\r\n __html: title,\r\n } })),\r\n React.createElement(\"div\", { className: \"ribbon-without-stat-line-root__contentWrapper__subtitle\", dangerouslySetInnerHTML: {\r\n __html: subTitle,\r\n } })),\r\n React.createElement(\"div\", { className: \"ribbon-without-stat-line-root__contentWrapper__buttonsWrapper\" },\r\n React.createElement(ButtonV2, { href: buttonHref, design: COLOR_SCHEME_BTN_CLASSES[colorSchemeName], openInNewTab: opensInNewTab }, buttonLabel),\r\n linkLabel && React.createElement(\"a\", { className: \"ribbon-without-stat-line-root__contentWrapper__link\", href: linkHref, target: linkHrefTarget }, linkLabel)))))));\r\n};\r\n","import React, { useMemo } from \"react\";\r\nimport { ButtonV2 } from \"../../ButtonV2\";\r\nexport const Disclaimer = ({ buttonLabel, buttonUrl, textDisclaimer, openInNewTab }) => {\r\n const handleDisclaimerInfo = useMemo(() => {\r\n if (textDisclaimer || buttonLabel) {\r\n return (React.createElement(\"div\", { className: \"disclaimer-wrapper\" },\r\n textDisclaimer && React.createElement(\"p\", { className: \"disclaimer-wrapper__comment\" }, textDisclaimer),\r\n (buttonLabel && buttonUrl) && React.createElement(ButtonV2, { design: \"ghost-large-wbg\", href: buttonUrl, openInNewTab: openInNewTab }, buttonLabel)));\r\n }\r\n return React.createElement(React.Fragment, null);\r\n }, [buttonLabel, buttonUrl, openInNewTab, textDisclaimer]);\r\n return (React.createElement(React.Fragment, null, handleDisclaimerInfo));\r\n};\r\n","import React from \"react\";\r\nimport { Heading } from \"../../Heading\";\r\nexport const Slides = ({ comments, slideNumber }) => (React.createElement(\"div\", { className: \"slides-root\" },\r\n React.createElement(\"p\", { className: \"slide-number\" }, slideNumber),\r\n React.createElement(Heading, { design: \"h5-semi-bold\" }, comments)));\r\n","import React from \"react\";\r\nimport { Swiper, SwiperSlide } from \"swiper/react\";\r\nimport { getColors } from \"../../utils\";\r\nimport { Container, ContainerFW } from \"../global\";\r\nimport { Heading } from \"../Heading\";\r\nimport { Disclaimer } from \"./Disclaimer/Disclaimer\";\r\nimport { Slides } from \"./Slides/Slides\";\r\nexport const M34HowItWorks = ({ slides, title, titleTitleAlignment = \"center\", backgroundColor, buttonLabel, buttonUrl, textDisclaimer, openInNewTab, titleColor = \"#0E1D31\" }) => {\r\n const { bgColor } = getColors(backgroundColor);\r\n return (React.createElement(\"div\", { className: \"how-it-works-root\" },\r\n React.createElement(ContainerFW, { className: \"g-container--new\", backgroundColor: bgColor },\r\n React.createElement(Container, null,\r\n React.createElement(Heading, { design: \"h3-semi-bold\", style: { \"--title-text-alignment\": titleTitleAlignment, \"--title-text-color\": titleColor } }, title),\r\n React.createElement(\"div\", { className: \"how-it-works-root__contentWrapper\" },\r\n React.createElement(Swiper, { breakpoints: {\r\n 375: {\r\n slidesPerView: 1.25,\r\n spaceBetween: 10\r\n },\r\n 601: {\r\n slidesPerView: 2.4,\r\n spaceBetween: 10\r\n },\r\n 1025: {\r\n slidesPerView: 4,\r\n spaceBetween: 10\r\n }\r\n } }, Array.isArray(slides) && slides.map((slide, index) => (React.createElement(SwiperSlide, { key: `card-slide-${slide.comments}` },\r\n React.createElement(Slides, { slideNumber: index + 1, comments: slide.comments }))))),\r\n React.createElement(Disclaimer, { buttonLabel: buttonLabel, buttonUrl: buttonUrl, textDisclaimer: textDisclaimer, openInNewTab: openInNewTab }))))));\r\n};\r\n","import React from \"react\";\r\nconst Substract = ({ height = \"24\", width = \"24\" }) => (React.createElement(\"svg\", { height: height, width: width, fill: \"none\", viewBox: \"0 0 24 24\", xmlns: \"http://www.w3.org/2000/svg\" },\r\n React.createElement(\"path\", { d: \"M6 11C5.44772 11 5 11.4477 5 12C5 12.5523 5.44772 13 6 13H18C18.5523 13 19 12.5523 19 12C19 11.4477 18.5523 11 18 11H6Z\", fill: \"#0E1D31\" })));\r\nexport default Substract;\r\n","import React, { useState, useEffect, useCallback, useMemo } from \"react\";\r\nimport { ContainerFW, Container } from \"../global\";\r\nimport { Img } from \"../Img\";\r\nimport Addplus from \"../svgIcons/Addplus\";\r\nimport Substract from \"../svgIcons/Substract\";\r\nimport { getColors, getClassConditionalAppend, getContainerClassPerMaxWidth } from \"../../utils\";\r\nimport { IconChat } from \"../svgIcons\";\r\nconst FaqAccordionCard = ({ id, question, answer, setActiveCardId, activeCardId, bgColor }) => {\r\n const handleExpand = useCallback(() => {\r\n if (setActiveCardId && id === activeCardId) {\r\n setActiveCardId(-1);\r\n }\r\n else if (setActiveCardId && id !== undefined) {\r\n setActiveCardId(id);\r\n }\r\n }, [activeCardId, id, setActiveCardId]);\r\n const [answerValue, setAnswerValue] = useState(\"\");\r\n useEffect(() => {\r\n setAnswerValue(answer);\r\n }, [answer]);\r\n return (React.createElement(\"div\", { itemScope: true, itemProp: \"mainEntity\", itemType: \"https://schema.org/Question\", style: { backgroundColor: bgColor }, className: `faq-accordion-list__faq-card ${id === activeCardId ? \"active\" : \"\"}` },\r\n React.createElement(\"div\", { className: \"faq-accordion-list__faq-card-question\", onClick: handleExpand },\r\n React.createElement(\"div\", { className: \"flex faq-accordion-list__plus-minus-text\" },\r\n React.createElement(\"span\", { className: \"faq-accordion-list__plus\" }, Addplus({})),\r\n React.createElement(\"span\", { className: \"faq-accordion-list__minus\" }, Substract({})),\r\n React.createElement(\"h5\", { itemProp: \"name\" }, question))),\r\n React.createElement(\"div\", { className: \"flex faq-accordion-list__plus-minus-text\" },\r\n React.createElement(\"span\", { className: \"faq-accordion-list__minus-stub\", style: { visibility: \"hidden\" } }, Substract({})),\r\n React.createElement(\"div\", { itemScope: true, itemProp: \"acceptedAnswer\", itemType: \"https://schema.org/Answer\" },\r\n React.createElement(\"div\", { itemProp: \"text\", className: \"faq-accordion-list__faq-card-answer\", dangerouslySetInnerHTML: { __html: answerValue } })))));\r\n};\r\nexport const FaqAccordionList = ({ title, iconImage, iconAlt, moreQuestions, moreQuestionsLinkText, moreQuestionsLinkUrl, items, backgroundColor, containerMaxWidth }) => {\r\n const [activeCardId, setActiveCardId] = React.useState(-1);\r\n const { bgColor, textColor } = getColors(backgroundColor || \"white\");\r\n const accordion = useMemo(() => (React.createElement(\"div\", { className: \"faq-accordion-list__deck\", style: { backgroundColor: bgColor } }, items.map((item, i) => React.createElement(FaqAccordionCard, { key: `faq-accordion-list__card-${i}`, id: i, question: item.question, answer: item.answer, setActiveCardId: setActiveCardId, activeCardId: activeCardId, bgColor: bgColor })))), [items, setActiveCardId, activeCardId, bgColor]);\r\n const containerMaxWidthClass = getContainerClassPerMaxWidth(containerMaxWidth);\r\n const containerExtraClass = getClassConditionalAppend(containerMaxWidthClass);\r\n return (React.createElement(ContainerFW, { backgroundColor: bgColor, className: containerExtraClass },\r\n React.createElement(Container, { className: containerExtraClass },\r\n React.createElement(\"div\", { style: { color: textColor }, className: \"faq-accordion-list\" },\r\n React.createElement(\"div\", { className: \"faq-accordion-list__flex-container\" },\r\n React.createElement(\"div\", { className: \"faq-accordion-list__title-container color-dark-default\" },\r\n React.createElement(\"div\", { className: \"flex faq-accordion-list__title-flex\" },\r\n React.createElement(\"div\", { className: \"faq-accordion-list__image-container\" }, iconImage ? React.createElement(Img, { src: iconImage, alt: iconAlt, className: \"faq-accordion-list__icon-image\", loading: \"eager\" }) : React.createElement(\"span\", { className: \"faq-accordion-list__icon-image\" }, IconChat())),\r\n React.createElement(\"div\", { className: \"centered-container\" },\r\n React.createElement(\"h2\", { className: \"faq-accordion-list__faq-title\" }, title))),\r\n (moreQuestionsLinkText || moreQuestions) && React.createElement(\"div\", { className: \"flex faq-accordion-list__title-flex hide-small hide-medium\" },\r\n React.createElement(\"div\", { className: \"faq-accordion-list__image-container\" }),\r\n React.createElement(\"p\", null,\r\n moreQuestions,\r\n React.createElement(\"a\", { href: moreQuestionsLinkUrl },\r\n React.createElement(\"span\", { className: \"p-bold\" }, moreQuestionsLinkText))))),\r\n React.createElement(\"div\", { itemScope: true, itemType: \"https://schema.org/FAQPage\", style: { backgroundColor: bgColor } }, accordion),\r\n React.createElement(\"div\", { className: \"hide-large\" }),\r\n React.createElement(\"div\", { className: \"flex faq-accordion-list__title-flex hide-large\" },\r\n React.createElement(\"p\", null,\r\n moreQuestions,\r\n React.createElement(\"a\", { href: moreQuestionsLinkUrl },\r\n React.createElement(\"span\", { className: \"p-bold\" }, moreQuestionsLinkText)))))))));\r\n};\r\n","import React from \"react\";\r\nconst Addplus = ({ height = 24, width = 24 }) => (React.createElement(\"svg\", { height: height, width: width, fill: \"none\", viewBox: \"0 0 24 24\", xmlns: \"http://www.w3.org/2000/svg\" },\r\n React.createElement(\"path\", { d: \"M11 11V6C11 5.44772 11.4477 5 12 5C12.5523 5 13 5.44772 13 6V11H18C18.5523 11 19 11.4477 19 12C19 12.5523 18.5523 13 18 13H13V18C13 18.5523 12.5523 19 12 19C11.4477 19 11 18.5523 11 18V13H6C5.44772 13 5 12.5523 5 12C5 11.4477 5.44772 11 6 11H11Z\", fill: \"#0E1D31\" })));\r\nexport default Addplus;\r\n","import React from \"react\";\r\nimport { ImgV2 } from \"../../ImgV2\";\r\nimport { Heading } from \"../../Heading\";\r\nexport const CardWithImageAndGradient = ({ cardImageUrl, subTitle, title }) => (React.createElement(\"div\", { className: \"card-with-image-gradient-root\" },\r\n React.createElement(\"div\", { className: \"card-with-image-gradient-root__imageWrapper\" },\r\n React.createElement(ImgV2, { src: cardImageUrl, alt: cardImageUrl })),\r\n React.createElement(\"div\", { className: \"card-with-image-gradient-root__textWrapper\" },\r\n React.createElement(Heading, { design: \"h3-semi-bold-small\" }, title),\r\n React.createElement(\"p\", { className: \"caption\" }, subTitle))));\r\n","import React from \"react\";\r\nimport { getColors, getClassConditionalAppend, getContainerClassPerMaxWidth } from \"../../utils\";\r\nimport { CardWithImageAndGradient } from \"./CardWithImageAndGradient/CardWithImageAndGradient\";\r\nimport { ContainerFW, Container } from \"../global\";\r\nexport const M31FiveCardsTitleText = ({ cards, subTitle, title, backgroundColor, titleAlignment, subTitleAlignment, titleColor = \"0E1D31\", subTitleColor = \"#3E4A5A\", containerMaxWidth }) => {\r\n const { bgColor } = getColors(backgroundColor);\r\n const containerMaxWidthClass = getContainerClassPerMaxWidth(containerMaxWidth);\r\n const containerExtraClass = getClassConditionalAppend(containerMaxWidthClass);\r\n return (React.createElement(\"div\", { className: \"five-cards-title-text-root\" },\r\n React.createElement(ContainerFW, { className: containerExtraClass, backgroundColor: bgColor },\r\n React.createElement(Container, { className: containerExtraClass },\r\n React.createElement(\"div\", { className: \"five-cards-title-text-root__textWrapper\" },\r\n React.createElement(\"div\", { className: \"h3-semi-bold\", dangerouslySetInnerHTML: {\r\n __html: title || \"\"\r\n }, style: { \"--title-text-alignment\": titleAlignment, \"--title-text-color\": titleColor } }),\r\n React.createElement(\"div\", { className: \"p-regular\", style: { \"--subTitle-text-alignment\": subTitleAlignment, \"--subTitle-text-color\": subTitleColor }, dangerouslySetInnerHTML: {\r\n __html: subTitle || \"\"\r\n } })),\r\n React.createElement(\"div\", { className: \"five-cards-title-text-root__cardsWrapper\" }, Array.isArray(cards) && cards.map((card) => (React.createElement(CardWithImageAndGradient, { key: `unique${card.title}`, ...card }))))))));\r\n};\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","IconChat","id","clipPath","cx","cy","ry","IconChevronDown","IconClose","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","getClassConditionalAppend","extraClassName","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","HeroBannerWithImagesHomeUplift","actionMessageLink","actionMessageBadge","actionMessageText","actionMessageLinkInNewTab","statValues","mobileTitleAlignment","tabletTitleAlignment","desktopTitleAlignment","mobileSubTitleAlignment","tabletSubTitleAlignment","desktopSubTitleAlignment","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","getHeadingDesignStyle","headingStyle","headingType","TitleSubTitleCTA","buttonOnLargeOnly","buttonURL","centered","buttonOnLargeAndMediumOnly","buttonOpensInNewTab","MarketCard","categoryName","mobileBgImage","desktopBgImage","linkCard","setLinkCard","RichTextWithImage","titleFontWeight","isSmallValue","setIsSmallValue","isMediumValue","setIsMediumValue","isLargeValue","setIsLargeValue","h2title","textAlignment","richText","mobileImageURL","RichTextWithImageUplift","titletype","mainContainerWidth1400","descriptionColor","headingTextColor","haveItems","item1title","item1subtitle","item2title","item2subtitle","item3title","item3subtitle","titleType","titleTextAlignment","titleTextColor","titleLabel","descriptionText","descriptionTextAlignment","descriptionTextColor","firstItemtitle","firstItemsubtitle","secondItemtitle","secondItemsubtitle","thirdItemtitle","thirdItemsubtitle","desktopAndTabletImage","phoneImage","desktopAndMobileImageAlt","PeopleCard","personName","personPosition","M29OurPeopleImageGallery","HeroBannerWithImagesAndAnimation","bgImage","SingleAwardBanner","year","posterImgUrl","posterBkgrImgUrl","imageUrlCss","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","LinkWithTargetAndRel","linkOpensInNewTab","CardWithIconTextsLink","cardBackground","contentTextColor","M30CardsWithIconTextsLink","BigAwardsCard","awardImgUrl","organization","backgroundImg","topIconPosition","firstGradientColor","secondGradientColor","handleIconPosition","margin","BigAwardsCardDeck","titleColor","MobileSmallAwardCard","mobileAwardImage","SmallAwardCardsDeck","awardCards","ThinkTraderCardWithImage","imageSectionBackground","imagePosition","imgPositionUpOrDown","buttonPosition","buttonShowArrowRight","buttonBgColor","leftButtonImage","hoverLeftImage","withCenteredStyle","secondClassNAme","textButtonSection","TTAccBannerButtonAndLink","buttonLink","linkButtonLabel","linkButtonUrl","hasTextLink","ThinkTraderAccountBanner","list","standardString","showButtonWrapper","itemTitle","itemSubTitle","AnimatedRollingNumber","rollTo","rollFrom","currentNumber","setCurrentNumber","validStep","isMounted","incrementTime","prevNumber","textAlign","visibility","COLOR_SCHEME_BTN_CLASSES","green","lightpurple","lightPurpleSquared","RibbonWithOutStatLine","ribbonColorScheme","colorSchemeName","Disclaimer","textDisclaimer","handleDisclaimerInfo","Slides","comments","slideNumber","M34HowItWorks","titleTitleAlignment","FaqAccordionCard","question","answer","setActiveCardId","activeCardId","handleExpand","answerValue","setAnswerValue","itemScope","itemProp","itemType","FaqAccordionList","iconImage","moreQuestions","moreQuestionsLinkText","moreQuestionsLinkUrl","accordion","CardWithImageAndGradient","cardImageUrl","M31FiveCardsTitleText","subTitleAlignment","subTitleColor"],"sourceRoot":""}