Ly89PT0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tPT09Ly8NLy8NLy8gysrKysrKysrKysrKysrKysrKyspUaGUgTExWTSBDb21waWxlciBJbmZyYXN0cnVjdHVyZQ0vLw0vLyBUaGlzIGZpbGUgaXMgZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIFVuaXZlcnNpdHkgb2YgSWxsaW5vaXMgT3BlbiBTb3VyY2UNLy8gTGljZW5zZS4gU2VlIExJQ0VOU0UuVFhUIGZvciBkZXRhaWxzLg0vLw0vLz09PS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS09PT0vLw0NLy8gPGZ1bmN0aW9uYWw+DQ0vLyBtaW51cw0NI2luY2x1ZGUgPGZ1bmN0aW9uYWw+DSNpbmNsdWRlIDx0eXBlX3RyYWl0cz4NI2luY2x1ZGUgPGNhc3NlcnQ+DQ1pbnQgbWFpbigpDXsNICAgIHR5cGVkZWYgc3RkOjptaW51czxpbnQ+IEY7DSAgICBjb25zdCBGIGYgPSBGKCk7DSAgICBzdGF0aWNfYXNzZXJ0KChzdGQ6OmlzX2Jhc2Vfb2Y8c3RkOjpiaW5hcnlfZnVuY3Rpb248aW50LCBpbnQsIGludD4sIEY+Ojp2YWx1ZSksICIiKTsNICAgIGFzc2VydChmKDMsIDIpID09IDEpOw19DQ==