Ly89PT0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tPT09Ly8NLy8NLy8gysrKysrKysrKysrKysrKysrKyspUaGUgTExWTSBDb21waWxlciBJbmZyYXN0cnVjdHVyZQ0vLw0vLyBUaGlzIGZpbGUgaXMgZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIFVuaXZlcnNpdHkgb2YgSWxsaW5vaXMgT3BlbiBTb3VyY2UNLy8gTGljZW5zZS4gU2VlIExJQ0VOU0UuVFhUIGZvciBkZXRhaWxzLg0vLw0vLz09PS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS09PT0vLw0NLy8gPGZ1bmN0aW9uYWw+DQ0vLyBiaXRfYW5kDQ0jaW5jbHVkZSA8ZnVuY3Rpb25hbD4NI2luY2x1ZGUgPHR5cGVfdHJhaXRzPg0jaW5jbHVkZSA8Y2Fzc2VydD4NDWludCBtYWluKCkNew0gICAgdHlwZWRlZiBzdGQ6OmJpdF9hbmQ8aW50PiBGOw0gICAgY29uc3QgRiBmID0gRigpOw0gICAgc3RhdGljX2Fzc2VydCgoc3RkOjppc19iYXNlX29mPHN0ZDo6YmluYXJ5X2Z1bmN0aW9uPGludCwgaW50LCBpbnQ+LCBGPjo6dmFsdWUpLCAiIik7DSAgICBhc3NlcnQoZigweEVBOTUsIDB4RUE5NSkgPT0gMHhFQTk1KTsNICAgIGFzc2VydChmKDB4RUE5NSwgMHg1OEQzKSA9PSAweDQ4OTEpOw0gICAgYXNzZXJ0KGYoMHg1OEQzLCAweEVBOTUpID09IDB4NDg5MSk7DSAgICBhc3NlcnQoZigweDU4RDMsIDApID09IDApOw0gICAgYXNzZXJ0KGYoMHhGRkZGLCAweDU4RDMpID09IDB4NThEMyk7DX0N