ZGlmZiAtLWdpdCBhL3B1Yi9pbmNsdWRlL3Rvb2xzL1pzcFRyYWNlLmggYi9wdWIvaW5jbHVkZS90b29scy9ac3BUcmFjZS5oCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjMyYWUxNmQKLS0tIC9kZXYvbnVsbAorKysgYi9wdWIvaW5jbHVkZS90b29scy9ac3BUcmFjZS5oCkBAIC0wLDAgKzEsODggQEAKKyNpZm5kZWYgWlNQVFJBQ0VfSF8NCisjZGVmaW5lIFpTUFRSQUNFX0hfDQorDQorI2RlZmluZSBaQ0FUX1pQU19CVUZGRVJfU0laRSAgICAgICAgICAgICAgICAoMHgwMDAxMDAwMFVMPj5DUFVfU0hJRlQpDQorDQorI2lmbmRlZiBERFJfQkFTRV9BRERSX1RPT0xfSUNQDQorZXh0ZXJuIHVuc2lnbmVkIGxvbmcgWkNBVF9QU18yX1BIWV9CVUZGRVJfQkFTRTsNCitleHRlcm4gdW5zaWduZWQgbG9uZyBaQ0FUX1BIWV8yX1BTX0JVRkZFUl9CQVNFOw0KKyNlbmRpZg0KKw0KKy8vLy9QSFktWkNBVA0KKyNkZWZpbmUgWkNBVF9QSFlfMl9QU19CVUZGRVJfU0laRSAgICAgICAgICAgKDB4MDAwNDAwMDBVTD4+Q1BVX1NISUZUKQ0KKw0KKyNkZWZpbmUgWkNBVF9QSFlfTE9HX0JBU0VfQUREUiAgICAgICAgICAgICAgKFpDQVRfUEhZXzJfUFNfQlVGRkVSX0JBU0UpDQorI2RlZmluZSBaQ0FUX1BIWV9MT0dfVU5JVF9PUkRFUiAgICAgICAgICAgICAoMTQgLSBDUFVfU0hJRlQpICAgICAgICAgICAgICAvKiAxNktCICovDQorI2RlZmluZSBaQ0FUX1BIWV9MT0dfVU5JVF9TSVpFICAgICAgICAgICAgICAoMVVMPDxaQ0FUX1BIWV9MT0dfVU5JVF9PUkRFUikNCisjZGVmaW5lIFpDQVRfUEhZX0xPR19VTklUX05VTSAgICAgICAgICAgICAgIChaQ0FUX1BIWV8yX1BTX0JVRkZFUl9TSVpFID4+IFpDQVRfUEhZX0xPR19VTklUX09SREVSKQ0KKyNkZWZpbmUgWkNBVF9QSFlfTE9HX1VOSVRfSU5ERVgoYWRkcikgICAgICAgKCgodW5zaWduZWQgbG9uZylhZGRyIC0gWkNBVF9QSFlfTE9HX0JBU0VfQUREUikgPj4gWkNBVF9QSFlfTE9HX1VOSVRfT1JERVIpDQorI2RlZmluZSBaQ0FUX1BIWV9MT0dfVU5JVF9IRUFERVIoaW5kZXgpICAgICAoKFRfWkNBVF9QaHlfTG9nX1VuaXRfSGVhZGVyICopKFpDQVRfUEhZX0xPR19CQVNFX0FERFIgKyAoKHVuc2lnbmVkIGxvbmcpaW5kZXggPDwgWkNBVF9QSFlfTE9HX1VOSVRfT1JERVIpKSkNCisNCisjZGVmaW5lIFpDQVRfUEhZX1NURF9MT0dfT0ZGU0VUICAgICAgICAgICAgICgyOFVMPj5DUFVfU0hJRlQpIC8qIHNpemVvZihUX0NPTU1fVFlQRSArIFRfWkNBVF9IRUFERVIpICovDQorI2RlZmluZSBaQ0FUX1BIWV9QUlRfTE9HX09GRlNFVCAgICAgICAgICAgICAoNDBVTD4+Q1BVX1NISUZUKSAvKiBzaXplb2YoVF9DT01NX1RZUEUgKyBUX1pDQVRfSEVBREVSICsgVF9aQ0FUX0RCR19IRUFERVIpICovDQorDQorI2RlZmluZSBMT0dfVEQgICgxKQ0KKyNkZWZpbmUgTE9HX0xURSAoMikNCisjZGVmaW5lIExPR19XICAgKDMpDQorI2RlZmluZSBMT0dfU0lHICg0KQ0KKw0KK3R5cGVkZWYgc3RydWN0DQorew0KKyAgICB1bnNpZ25lZCBsb25nIHR5cGU7DQorICAgIHVuc2lnbmVkIGxvbmcgbGVuOw0KK30gVF9aQ0FUX1BoeV9Mb2dfVW5pdF9IZWFkZXI7DQorDQorI2RlZmluZSBaQ0FUX1BIWV9MT0dfVU5JVF9IRUFEICAgICAgICAgICAgIChJUkFNX0JBU0VfQUREUl9aQ0FUX1BIWV9MT0cpDQorI2RlZmluZSBaQ0FUX1BIWV9MT0dfVU5JVF9UQUlMICAgICAgICAgICAgIChaQ0FUX1BIWV9MT0dfVU5JVF9IRUFEICsgKDQ+PkNQVV9TSElGVCkpDQorI2RlZmluZSBaQ0FUX1BIWV9MT0dfRnJlZV9VTklUX0JVRiAgICAgICAgIChaQ0FUX1BIWV9MT0dfVU5JVF9UQUlMICsgKDQ+PkNQVV9TSElGVCkpDQorI2RlZmluZSBaQ0FUX1BIWV9MT0dfRnJlZV9VTklUX0xFTiAgICAgICAgICg2ND4+Q1BVX1NISUZUKSAvKiAoMTYgKiA0KUIgKi8NCisNCisjZGVmaW5lIFpDQVRfUEhZX0xPR19PRkYgICAgICAgICAgICAgICAgICAgKFpDQVRfUEhZX0xPR19VTklUX0hFQUQgKyAoMTY+PkNQVV9TSElGVCkgKyBaQ0FUX1BIWV9MT0dfRnJlZV9VTklUX0xFTikgLyogtuDUpMH0wcs419a92iAqLw0KKw0KKy8vLy9QSFk8LT5QUyByaW5nYnVmZmVyKFREKQ0KKyNkZWZpbmUgWkNBVF9QSFlfTE9HX0NPTlRST0xfU0laRSAgICAgICAgICAgKDB4MjAwVUw+PkNQVV9TSElGVCkNCisjZGVmaW5lIFpDQVRfUEhZX0xPR19DT05UUk9MX0xFTiAgICAgICAgICAgIChaQ0FUX1BIWV9MT0dfQ09OVFJPTF9TSVpFIC0gKDQgPj4gQ1BVX1NISUZUKSkNCisNCisjZGVmaW5lIFpDQVRfVERfTE9HX0NPTlRST0xfQkFTRV9BRERSICAgICAgKFpDQVRfUFNfMl9QSFlfQlVGRkVSX0JBU0UpDQorI2RlZmluZSBaQ0FUX1REX0xPR19DT05UUk9MX1dQT0lOVEVSICAgICAgIChaQ0FUX1REX0xPR19DT05UUk9MX0JBU0VfQUREUikgDQorI2RlZmluZSBaQ0FUX1REX0xPR19DT05UUk9MX1JQT0lOVEVSICAgICAgIChaQ0FUX1REX0xPR19DT05UUk9MX1dQT0lOVEVSICsgKDIgPj4gQ1BVX1NISUZUKSkNCisjZGVmaW5lIFpDQVRfVERfTE9HX0NPTlRST0xfQ09OVEVOVCAgICAgICAgKFpDQVRfVERfTE9HX0NPTlRST0xfUlBPSU5URVIgKyAoMiA+PiBDUFVfU0hJRlQpKQ0KKw0KKy8vLy9QSFk8LT5QUyByaW5nYnVmZmVyKExURSkNCisjZGVmaW5lIFpDQVRfTFRFX0xPR19DT05UUk9MX0JBU0VfQUREUiAgICAgIChaQ0FUX1REX0xPR19DT05UUk9MX0JBU0VfQUREUiArIFpDQVRfUEhZX0xPR19DT05UUk9MX1NJWkUpDQorI2RlZmluZSBaQ0FUX0xURV9MT0dfQ09OVFJPTF9XUE9JTlRFUiAgICAgICAoWkNBVF9MVEVfTE9HX0NPTlRST0xfQkFTRV9BRERSKSANCisjZGVmaW5lIFpDQVRfTFRFX0xPR19DT05UUk9MX1JQT0lOVEVSICAgICAgIChaQ0FUX0xURV9MT0dfQ09OVFJPTF9XUE9JTlRFUiArICgyID4+IENQVV9TSElGVCkpDQorI2RlZmluZSBaQ0FUX0xURV9MT0dfQ09OVFJPTF9DT05URU5UICAgICAgICAoWkNBVF9MVEVfTE9HX0NPTlRST0xfUlBPSU5URVIgKyAoMiA+PiBDUFVfU0hJRlQpKQ0KKw0KKy8vLy9QSFk8LT5QUyByaW5nYnVmZmVyKFcpDQorI2RlZmluZSBaQ0FUX1dfTE9HX0NPTlRST0xfQkFTRV9BRERSICAgICAgKFpDQVRfTFRFX0xPR19DT05UUk9MX0JBU0VfQUREUiArIFpDQVRfUEhZX0xPR19DT05UUk9MX1NJWkUpDQorI2RlZmluZSBaQ0FUX1dfTE9HX0NPTlRST0xfV1BPSU5URVIgICAgICAgKFpDQVRfV19MT0dfQ09OVFJPTF9CQVNFX0FERFIpIA0KKyNkZWZpbmUgWkNBVF9XX0xPR19DT05UUk9MX1JQT0lOVEVSICAgICAgIChaQ0FUX1dfTE9HX0NPTlRST0xfV1BPSU5URVIgKyAoMiA+PiBDUFVfU0hJRlQpKQ0KKyNkZWZpbmUgWkNBVF9XX0xPR19DT05UUk9MX0NPTlRFTlQgICAgICAgIChaQ0FUX1dfTE9HX0NPTlRST0xfUlBPSU5URVIgKyAoMiA+PiBDUFVfU0hJRlQpKQ0KKw0KKy8vLy9QSFk8LT5QUyByaW5nYnVmZmVyKFNJRykNCisjZGVmaW5lIFpDQVRfU0lHX0xPR19DT05UUk9MX0JBU0VfQUREUiAgICAgIChaQ0FUX1dfTE9HX0NPTlRST0xfQkFTRV9BRERSICsgWkNBVF9QSFlfTE9HX0NPTlRST0xfU0laRSkNCisjZGVmaW5lIFpDQVRfU0lHX0xPR19DT05UUk9MX1dQT0lOVEVSICAgICAgIChaQ0FUX1NJR19MT0dfQ09OVFJPTF9CQVNFX0FERFIpIA0KKyNkZWZpbmUgWkNBVF9TSUdfTE9HX0NPTlRST0xfUlBPSU5URVIgICAgICAgKFpDQVRfU0lHX0xPR19DT05UUk9MX1dQT0lOVEVSICsgKDIgPj4gQ1BVX1NISUZUKSkNCisjZGVmaW5lIFpDQVRfU0lHX0xPR19DT05UUk9MX0NPTlRFTlQgICAgICAgIChaQ0FUX1NJR19MT0dfQ09OVFJPTF9SUE9JTlRFUiArICgyID4+IENQVV9TSElGVCkpDQorDQorLy8vL1pDQVQtVEQNCisjZGVmaW5lIFpDQVRfVERfUFNfVE9fUEhZX0JVRkZFUl9CQVNFX0FERFIgIChaQ0FUX1NJR19MT0dfQ09OVFJPTF9CQVNFX0FERFIgKyBaQ0FUX1BIWV9MT0dfQ09OVFJPTF9TSVpFKQ0KKyNkZWZpbmUgWkNBVF9URF9QU19UT19QSFlfQlVGRkVSX1NJWkUgICAgICAgKDB4MDAwMDAyMDBVTD4+Q1BVX1NISUZUKQ0KKw0KKy8vLy9aQ0FULUxURQ0KKyNkZWZpbmUgWkNBVF9MVEVfUFNfVE9fUEhZX0JVRkZFUl9CQVNFX0FERFIgKFpDQVRfVERfUFNfVE9fUEhZX0JVRkZFUl9CQVNFX0FERFIgKyBaQ0FUX1REX1BTX1RPX1BIWV9CVUZGRVJfU0laRSkNCisjZGVmaW5lIFpDQVRfTFRFX1BTX1RPX1BIWV9CVUZGRVJfU0laRSAgICAgICgweDAwMDAwMjAwVUw+PkNQVV9TSElGVCkNCisNCisvLy8vWkNBVC1XQ0RNQQ0KKyNkZWZpbmUgWkNBVF9XX1BTX1RPX1BIWV9CVUZGRVJfQkFTRV9BRERSICAgKFpDQVRfTFRFX1BTX1RPX1BIWV9CVUZGRVJfQkFTRV9BRERSICsgWkNBVF9MVEVfUFNfVE9fUEhZX0JVRkZFUl9TSVpFKQ0KKyNkZWZpbmUgWkNBVF9XX1BTX1RPX1BIWV9CVUZGRVJfU0laRSAgICAgICAgKDB4MDAwMDAyMDBVTD4+Q1BVX1NISUZUKQ0KKw0KKy8vLy9aQ0FULVNJRw0KKyNkZWZpbmUgWkNBVF9TSUdfUFNfVE9fUEhZX0JVRkZFUl9CQVNFX0FERFIgKFpDQVRfV19QU19UT19QSFlfQlVGRkVSX0JBU0VfQUREUiArIFpDQVRfV19QU19UT19QSFlfQlVGRkVSX1NJWkUpDQorI2RlZmluZSBaQ0FUX1NJR19QU19UT19QSFlfQlVGRkVSX1NJWkUgICAgICAoMHgwMDAwMDIwMFVMPj5DUFVfU0hJRlQpDQorDQorI2RlZmluZSBaQ0FUX1BTXzJfUEhZX0JVRkZFUl9TSVpFICAgICAgICAgICAoWkNBVF9QSFlfTE9HX0NPTlRST0xfU0laRSArIFpDQVRfUEhZX0xPR19DT05UUk9MX1NJWkUgKyBaQ0FUX1BIWV9MT0dfQ09OVFJPTF9TSVpFICsgWkNBVF9QSFlfTE9HX0NPTlRST0xfU0laRSArIFwNCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBaQ0FUX1REX1BTX1RPX1BIWV9CVUZGRVJfU0laRSArIFpDQVRfTFRFX1BTX1RPX1BIWV9CVUZGRVJfU0laRSArIFpDQVRfV19QU19UT19QSFlfQlVGRkVSX1NJWkUgKyBaQ0FUX1NJR19QU19UT19QSFlfQlVGRkVSX1NJWkUpDQorI2VuZGlmDQorDQo=