ZGlmZiAtLWdpdCBhL2RyaXZlcnMvYmxvY2svc2F0YV9zaWwzMTE0LmggYi9kcml2ZXJzL2Jsb2NrL3NhdGFfc2lsMzExNC5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjhmMjMwMWEKLS0tIC9kZXYvbnVsbAorKysgYi9kcml2ZXJzL2Jsb2NrL3NhdGFfc2lsMzExNC5oCkBAIC0wLDAgKzEsMTQ3IEBACisvKgorICogQ29weXJpZ2h0IChDKSBFeGNpdG8gRWxla3Ryb25payBpIFNr5W5lIEFCLCBBbGwgcmlnaHRzIHJlc2VydmVkLgorICogQXV0aG9yOiBUb3IgS3JpbGwgPHRvckBleGNpdG8uY29tPgorICoKKyAqIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IKKyAqIG1vZGlmeSBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzCisgKiBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZgorICogdGhlIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCisgKgorICogVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCisgKiBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgorICogTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQorICogR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KKyAqCisgKiBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQorICogYWxvbmcgd2l0aCB0aGlzIHByb2dyYW07IGlmIG5vdCwgd3JpdGUgdG8gdGhlIEZyZWUgU29mdHdhcmUKKyAqIEZvdW5kYXRpb24sIEluYy4sIDU5IFRlbXBsZSBQbGFjZSwgU3VpdGUgMzMwLCBCb3N0b24sCisgKiBNQSAwMjExMS0xMzA3IFVTQQorICovCisKKyNpZm5kZWYgU0FUQV9TSUwzMTE0X0gKKyNkZWZpbmUgU0FUQV9TSUwzMTE0X0gKKworc3RydWN0IHNhdGFfaW9wb3J0cyB7CisJdW5zaWduZWQgbG9uZyBjbWRfYWRkcjsKKwl1bnNpZ25lZCBsb25nIGRhdGFfYWRkcjsKKwl1bnNpZ25lZCBsb25nIGVycm9yX2FkZHI7CisJdW5zaWduZWQgbG9uZyBmZWF0dXJlX2FkZHI7CisJdW5zaWduZWQgbG9uZyBuc2VjdF9hZGRyOworCXVuc2lnbmVkIGxvbmcgbGJhbF9hZGRyOworCXVuc2lnbmVkIGxvbmcgbGJhbV9hZGRyOworCXVuc2lnbmVkIGxvbmcgbGJhaF9hZGRyOworCXVuc2lnbmVkIGxvbmcgZGV2aWNlX2FkZHI7CisJdW5zaWduZWQgbG9uZyBzdGF0dXNfYWRkcjsKKwl1bnNpZ25lZCBsb25nIGNvbW1hbmRfYWRkcjsKKwl1bnNpZ25lZCBsb25nIGFsdHN0YXR1c19hZGRyOworCXVuc2lnbmVkIGxvbmcgY3RsX2FkZHI7CisJdW5zaWduZWQgbG9uZyBibWRtYV9hZGRyOworCXVuc2lnbmVkIGxvbmcgc2NyX2FkZHI7Cit9OworCitzdHJ1Y3Qgc2F0YV9wb3J0IHsKKwl1bnNpZ25lZCBjaGFyIHBvcnRfbm87CS8qIHByaW1hcnk9MCwgc2Vjb25kYXJ5PTEgICAgICAgKi8KKwlzdHJ1Y3Qgc2F0YV9pb3BvcnRzIGlvYWRkcjsJLyogQVRBIGNtZC9jdGwvZG1hIHJlZyBibGtzICAgICAqLworCXVuc2lnbmVkIGNoYXIgY3RsX3JlZzsKKwl1bnNpZ25lZCBjaGFyIGxhc3RfY3RsOworCXVuc2lnbmVkIGNoYXIgcG9ydF9zdGF0ZTsJLyogMS1wb3J0IGlzIGF2YWlsYWJsZSBhbmQgICAgICAqLworCS8qIDAtcG9ydCBpcyBub3QgYXZhaWxhYmxlICAgICAgKi8KKwl1bnNpZ25lZCBjaGFyIGRldl9tYXNrOworfTsKKworLyogTWlzc2luZyBhdGEgZGVmaW5lcyAqLworI2RlZmluZSBBVEFfQ01EX1NUQU5EQlkJCQkweEUyCisjZGVmaW5lIEFUQV9DTURfU1RBTkRCWU5PVzEJCTB4RTAKKyNkZWZpbmUgQVRBX0NNRF9JRExFCQkJMHhFMworI2RlZmluZSBBVEFfQ01EX0lETEVJTU1FRElBVEUJMHhFMQorCisvKiBEZWZpbmVzIGZvciBTSUwzMTE0IGNoaXAgKi8KKworLyogUENJIGRlZmluZXMgKi8KKyNkZWZpbmUgU0lMX1ZFTkRfSUQJCTB4MTA5NQorI2RlZmluZSBTSUwzMTE0X0RFVklDRV9JRAkweDMxMTQKKworLyogc29tZSB2ZW5kb3Igc3BlY2lmaWMgcmVnaXN0ZXJzICovCisjZGVmaW5lCVZORF9TWVNDT05GU1RBVAkweDg4CS8qIFN5c3RlbSBDb25maWd1cmF0aW9uIFN0YXR1cyBhbmQgQ29tbWFuZCAqLworI2RlZmluZSBWTkRfU1lTQ09ORlNUQVRfQ0hOXzBfSU5UQkxPQ0sgKDE8PDIyKQorI2RlZmluZSBWTkRfU1lTQ09ORlNUQVRfQ0hOXzFfSU5UQkxPQ0sgKDE8PDIzKQorI2RlZmluZSBWTkRfU1lTQ09ORlNUQVRfQ0hOXzJfSU5UQkxPQ0sgKDE8PDI0KQorI2RlZmluZSBWTkRfU1lTQ09ORlNUQVRfQ0hOXzNfSU5UQkxPQ0sgKDE8PDI1KQorCisvKiBpbnRlcm5hbCByZWdpc3RlcnMgbWFwcGVkIGJ5IEJBUjUgKi8KKy8qIFNBVEEgQ29udHJvbCovCisjZGVmaW5lIFZORF9TQ09OVFJPTF9DSDAJMHgxMDAKKyNkZWZpbmUgVk5EX1NDT05UUk9MX0NIMQkweDE4MAorI2RlZmluZSBWTkRfU0NPTlRST0xfQ0gyCTB4MzAwCisjZGVmaW5lIFZORF9TQ09OVFJPTF9DSDMJMHgzODAKKworI2RlZmluZSBTQVRBX1NDX0lQTV9UMlAJCSgxPDwxNikKKyNkZWZpbmUgU0FUQV9TQ19JUE1fVDJTCQkoMjw8MTYpCisjZGVmaW5lIFNBVEFfU0NfU1BEXzFfNQkJKDE8PDQpCisjZGVmaW5lIFNBVEFfU0NfU1BEXzNfMAkJKDI8PDQpCisjZGVmaW5lIFNBVEFfU0NfREVUX1JTVAkJKDEpCS8qIEFUQSBSZXNldCBzZXF1ZW5jZSAqLworI2RlZmluZSBTQVRBX1NDX0RFVF9QRElTCSg0KQkvKiBQSFkgRGlzYWJsZSAqLworCisvKiBTQVRBIFN0YXR1cyAqLworI2RlZmluZSBWTkRfU1NUQVRVU19DSDAJCTB4MTA0CisjZGVmaW5lIFZORF9TU1RBVFVTX0NIMQkJMHgxODQKKyNkZWZpbmUgVk5EX1NTVEFUVVNfQ0gyCQkweDMwNAorI2RlZmluZSBWTkRfU1NUQVRVU19DSDMJCTB4Mzg0CisKKyNkZWZpbmUgU0FUQV9TU19JUE1fQUNUSVZFCSgxPDw4KQorI2RlZmluZSBTQVRBX1NTX0lQTV9QQVJUSUFMCSgyPDw4KQorI2RlZmluZSBTQVRBX1NTX0lQTV9TTFVNQkVSCSg2PDw4KQorI2RlZmluZSBTQVRBX1NTX1NQRF8xXzUJCSgxPDw0KQorI2RlZmluZSBTQVRBX1NTX1NQRF8zXzAJCSgyPDw0KQorI2RlZmluZSBTQVRBX0RFVF9QX05PUEhZCSgxKQkvKiBEZXZpY2UgcHJlc2VuY2UgYnV0IG5vIFBIWSBjb25uZWN0aW9uIGVzdGFibGlzaGVkICovCisjZGVmaW5lIFNBVEFfREVUX1BSRVMJCSgzKQkvKiBEZXZpY2UgcHJlc2VuY2UgYW5kIGFjdGl2ZSBQSFkgKi8KKyNkZWZpbmUgU0FUQV9ERVRfT0ZGTElORQkoNCkJLyogRGV2aWNlIG9mZmxpbmUgb3IgaW4gbG9vcGJhY2sgbW9kZSAqLworCisvKiBUYXNrIGZpbGUgcmVnaXN0ZXJzIGluIEJBUjUgbWFwcGluZyAqLworI2RlZmluZSBWTkRfVEYwX0NIMAkJCTB4ODAKKyNkZWZpbmUgVk5EX1RGMF9DSDEJCQkweGMwCisjZGVmaW5lIFZORF9URjBfQ0gyCQkJMHgyODAKKyNkZWZpbmUgVk5EX1RGMF9DSDMJCQkweDJjMAorI2RlZmluZSBWTkRfVEYxX0NIMAkJCTB4ODgKKyNkZWZpbmUgVk5EX1RGMV9DSDEJCQkweGM4CisjZGVmaW5lIFZORF9URjFfQ0gyCQkJMHgyODgKKyNkZWZpbmUgVk5EX1RGMV9DSDMJCQkweDJjOAorI2RlZmluZSBWTkRfVEYyX0NIMAkJCTB4ODgKKyNkZWZpbmUgVk5EX1RGMl9DSDEJCQkweGM4CisjZGVmaW5lIFZORF9URjJfQ0gyCQkJMHgyODgKKyNkZWZpbmUgVk5EX1RGMl9DSDMJCQkweDJjOAorCisjZGVmaW5lIFZORF9CTURNQV9DSDAJCTB4MDAKKyNkZWZpbmUgVk5EX0JNRE1BX0NIMQkJMHgwOAorI2RlZmluZSBWTkRfQk1ETUFfQ0gyCQkweDIwMAorI2RlZmluZSBWTkRfQk1ETUFfQ0gzCQkweDIwOAorI2RlZmluZSBWTkRfQk1ETUEyX0NIMAkJMHgxMAorI2RlZmluZSBWTkRfQk1ETUEyX0NIMQkJMHgxOAorI2RlZmluZSBWTkRfQk1ETUEyX0NIMgkJMHgyMTAKKyNkZWZpbmUgVk5EX0JNRE1BMl9DSDMJCTB4MjE4CisKKy8qIEZJRk8gY29udHJvbCAqLworI2RlZmluZQlWTkRfRklGT0NGR19DSDAJCTB4NDAKKyNkZWZpbmUJVk5EX0ZJRk9DRkdfQ0gxCQkweDQ0CisjZGVmaW5lCVZORF9GSUZPQ0ZHX0NIMgkJMHgyNDAKKyNkZWZpbmUJVk5EX0ZJRk9DRkdfQ0gzCQkweDI0NAorCisvKiBUYXNrIEZpbGUgY29uZmlndXJhdGlvbiBhbmQgc3RhdHVzICovCisjZGVmaW5lIFZORF9URl9DTlNUX0NIMAkJMHhhMAorI2RlZmluZSBWTkRfVEZfQ05TVF9DSDEJCTB4ZTAKKyNkZWZpbmUgVk5EX1RGX0NOU1RfQ0gyCQkweDJhMAorI2RlZmluZSBWTkRfVEZfQ05TVF9DSDMJCTB4MmUwCisKKyNkZWZpbmUgVk5EX1RGX0NOU1RfQkZDTUQJKDE8PDEpCisjZGVmaW5lIFZORF9URl9DTlNUX0NITlJTVAkoMTw8MikKKyNkZWZpbmUgVk5EX1RGX0NOU1RfVkRNQQkoMTw8MTApCisjZGVmaW5lIFZORF9URl9DTlNUX0lOVFNUCSgxPDwxMSkKKyNkZWZpbmUgVk5EX1RGX0NOU1RfV0RUTwkoMTw8MTIpCisjZGVmaW5lIFZORF9URl9DTlNUX1dERU4JKDE8PDEzKQorI2RlZmluZSBWTkRfVEZfQ05TVF9XRElFTgkoMTw8MTQpCisKKy8qIGZvciB0ZXN0aW5nICovCisjZGVmaW5lIFZORF9TU0RSCQkJMHgwNGMJLyogU3lzdGVtIFNvZnR3YXJlIERhdGEgUmVnaXN0ZXIgKi8KKyNkZWZpbmUgVk5EX0ZNQUNTCQkJMHgwNTAJLyogRmxhc2ggTWVtb3J5IEFkZHJlc3MgY29udHJvbCBhbmQgc3RhdHVzICovCisKKyNlbmRpZgo=