QXMgcGVyIFVOQyBtZWV0aW5nIEludGVycG9sYXRlSW1hZ2VGdW5jdGlvbiBhbmQgaXRzIHN1YmNs YXNzZXMNCmhhdmUgYmVlbiB1cGRhdGVkIHRvIHJldHVybiBSZWFsVHlwZS4NCiANCkxpbmVhcklu dGVycG9sYXRlSW1hZ2VGdW5jdGlvbiBub3cgdXNlcyBSZWFsVHlwZSBpbnNpZGUgZm9yIGNvbXB1 dGF0aW9uLg0KIA0KLSBMeWRpYQ0K