LyogJElkOiB0cGFtLmgsdiAxLjEuMi4xIDIwMDEvMDYvMDggMDg6MjM6NDYga2FpIEV4cCAkCiAqCiAqIFR1cmJvIFBBTSBJU0ROIGRyaXZlciBmb3IgTGludXguIChLZXJuZWwgRHJpdmVyKQogKgogKiBDb3B5cmlnaHQgMjAwMSBTdGVsaWFuIFBvcCA8c3RlbGlhbi5wb3BAZnIuYWxjb3ZlLmNvbT4sIEFsY/R2ZQogKgogKiBGb3IgYWxsIHN1cHBvcnQgcXVlc3Rpb25zIHBsZWFzZSBjb250YWN0OiA8c3VwcG9ydEBhdXZlcnRlY2guZnI+CiAqCiAqIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5CiAqIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5CiAqIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIsIG9yIChhdCB5b3VyIG9wdGlvbikKICogYW55IGxhdGVyIHZlcnNpb24uCiAqCiAqIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAogKiBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgogKiBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCiAqIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCiAqCiAqIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCiAqIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtOyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlCiAqIEZvdW5kYXRpb24sIEluYy4sIDY3NSBNYXNzIEF2ZSwgQ2FtYnJpZGdlLCBNQSAwMjEzOSwgVVNBLgogKgogKi8KCiNpZm5kZWYgX1RQQU1fSF8KI2RlZmluZSBfVFBBTV9IXwoKI2luY2x1ZGUgPGxpbnV4L3R5cGVzLmg+CgovKiBJT0NUTCBjb21tYW5kcyAqLwojZGVmaW5lIFRQQU1fQ01EX0RTUExPQUQJMHgwMDAxCiNkZWZpbmUgVFBBTV9DTURfRFNQU0FWRQkweDAwMDIKI2RlZmluZSBUUEFNX0NNRF9EU1BSVU4JCTB4MDAwMwojZGVmaW5lIFRQQU1fQ01EX0xPT1BNT0RFT04JMHgwMDA0CiNkZWZpbmUgVFBBTV9DTURfTE9PUE1PREVPRkYJMHgwMDA1CgovKiBhZGRyZXNzZXMgb2YgZGVidWcgaW5mb3JtYXRpb24gem9uZXMgb24gYm9hcmQgKi8KI2RlZmluZSBUUEFNX1RSQVBBVURJVF9SRUdJU1RFUgkJMHgwMDU0OTNlNAojZGVmaW5lIFRQQU1fTkNPQVVESVRfUkVHSVNURVIJCTB4MDA1MDAwMDAKI2RlZmluZSBUUEFNX01TR0FVRElUX1JFR0lTVEVSCQkweDAwOEUzMEYwCgovKiBsZW5ndGggb2YgZGVidWcgaW5mb3JtYXRpb24gem9uZXMgb24gYm9hcmQgKi8KI2RlZmluZSBUUEFNX1RSQVBBVURJVF9MRU5HVEgJCTEwMDAwCiNkZWZpbmUgVFBBTV9OQ09BVURJVF9MRU5HVEgJCTMwMDAwMAojZGVmaW5lIFRQQU1fTkNPQVVESVRfQ09VTlQJCTMwCiNkZWZpbmUgVFBBTV9NU0dBVURJVF9MRU5HVEgJCTYwMDAwCgovKiBJT0NUTCBsb2FkL3NhdmUgcGFyYW1ldGVyICovCnR5cGVkZWYgc3RydWN0IHRwYW1fZHNwX2lvY3RsIHsKCV9fdTMyIGFkZHJlc3M7CS8qIGFkZHJlc3MgdG8gbG9hZC9zYXZlIGRhdGEgKi8KCV9fdTMyIGRhdGFfbGVuOwkvKiBzaXplIG9mIGRhdGEgdG8gYmUgbG9hZGVkL3NhdmVkICovCglfX3U4IGRhdGFbMF07CS8qIGRhdGEgKi8KfSB0cGFtX2RzcF9pb2N0bDsKCiNlbmRpZiAvKiBfVFBBTV9IXyAqLwo=