LyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKg0KKg0KKiBDb3B5cmlnaHQgKEMpIDIwMTIgLSAyMDE1IFRleGFzIEluc3RydW1lbnRzIEluY29ycG9yYXRlZCAtIGh0dHA6Ly93d3cudGkuY29tLw0KKg0KKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQNCiogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zDQoqIGFyZSBtZXQ6DQoqDQoqICBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodA0KKiAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLg0KKg0KKiAgUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQNCiogIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUNCiogIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZQ0KKiAgZGlzdHJpYnV0aW9uLg0KKg0KKiAgTmVpdGhlciB0aGUgbmFtZSBvZiBUZXhhcyBJbnN0cnVtZW50cyBJbmNvcnBvcmF0ZWQgbm9yIHRoZSBuYW1lcyBvZg0KKiAgaXRzIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0byBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZA0KKiAgZnJvbSB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLg0KKg0KKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTDQoqICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UDQoqIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUg0KKiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVA0KKiBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwNCiogU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVA0KKiBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwNCiogREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZDQoqIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQNCiogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFDQoqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuDQoqDQoqIE1TUDQzMlA0MDFSIFJlZ2lzdGVyIERlZmluaXRpb25zDQoqDQoqIFRoaXMgZmlsZSBpbmNsdWRlcyBDTVNJUyBjb21wbGlhbnQgY29tcG9uZW50IGFuZCByZWdpc3RlciBkZWZpbml0aW9ucw0KKg0KKiBGb3IgbGVnYWN5IGNvbXBvbmVudHMgdGhlIGRlZmluaXRpb25zIHRoYXQgYXJlIGNvbXBhdGlibGUgd2l0aCBNU1A0MzAgY29kZSwNCiogYXJlIGluY2x1ZGVkIHdpdGggbXNwNDMycDQwMXJfY2xhc3NpYy5oDQoqIA0KKiBXaXRoIENNU0lTIGRlZmluaXRpb25zLCB0aGUgcmVnaXN0ZXIgZGVmaW5lcyBoYXZlIGJlZW4gcmVmb3JtYXR0ZWQ6DQoqICAgICBNb2R1bGVOYW1lW01vZHVsZUluc3RhbmNlXS0+UmVnaXN0ZXJOYW1lDQoqDQoqIFdyaXRpbmcgdG8gQ01TSVMgYml0IGZpZWxkcyBjYW4gYmUgZG9uZSB0aHJvdWdoIHJlZ2lzdGVyIGxldmVsDQoqIG9yIHZpYSBiaXRiYW5kIGFyZWEgYWNjZXNzOg0KKiAgLSBBREMxNC0+Q1RMMCB8PSBBREMxNF9DVEwwX0VOQzsNCiogIC0gQklUQkFORF9QRVJJKEFEQzE0LT5DVEwwLCBBREMxNF9DVEwwX0VOQ19PRlMpID0gMTsNCioNCiogRmlsZSBjcmVhdGlvbiBkYXRlOiAyMDE1LTEwLTI2DQoqDQoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovDQoNCiNpZm5kZWYgX19NU1A0MzJQNDAxUl9IX18NCiNkZWZpbmUgX19NU1A0MzJQNDAxUl9IX18NCg0KLyogVXNlIHN0YW5kYXJkIGludGVnZXIgdHlwZXMgd2l0aCBleHBsaWNpdCB3aWR0aCAqLw0KI2luY2x1ZGUgPHN0ZGludC5oPg0KDQojaWZkZWYgX19jcGx1c3BsdXMNCiBleHRlcm4gIkMiIHsNCiNlbmRpZg0KDQojZGVmaW5lIF9fTVNQNDMyX0hFQURFUl9WRVJTSU9OX18gMjAwMA0KDQovKiBSZW1hcCBNU1A0MzIgaW50cmluc2ljcyB0byBBUk0gZXF1aXZhbGVudHMgKi8NCiNpbmNsdWRlICJtc3BfY29tcGF0aWJpbGl0eS5oIg0KDQovKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqDQoqIGluY2x1ZGUgTVNQNDMwIGxlZ2FjeSBkZWZpbml0aW9ucyB0byBtYWtlIHBvcnRpbmcgb2YgY29kZSBmcm9tIE1TUDQzMCAgICAgICAqDQoqIGNvZGUgYmFzZSBlYXNpZXIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqDQoqIFdpdGggZnVsbHkgQ01TSVMgY29tcGxpYW50IGNvZGUsIE5PX01TUF9DTEFTU0lDX0RFRklORVMgbWF5IGJlIGRlZmluZWQgaW4gICAqDQoqIHlvdXIgcHJvamVjdCB0byBvbWl0IGluY2x1ZGluZyB0aGUgY2xhc3NpYyBkZWZpbmVzICAgICAgICAgICAgICAgICAgICAgICAgICAqDQoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovDQojaWZuZGVmIE5PX01TUF9DTEFTU0lDX0RFRklORVMNCiNpbmNsdWRlICJtc3A0MzJwNDAxcl9jbGFzc2ljLmgiDQojZW5kaWYNCg0KI2lmbmRlZiBfX0NNU0lTX0NPTkZJR19fDQojZGVmaW5lIF9fQ01TSVNfQ09ORklHX18NCg0KLyoqIEBhZGR0b2dyb3VwIE1TUDQzMlA0MDFSX0RlZmluaXRpb25zIE1TUDQzMlA0MDFSIERlZmluaXRpb25zDQogIFRoaXMgZmlsZSBkZWZpbmVzIGFsbCBzdHJ1Y3R1cmVzIGFuZCBzeW1ib2xzIGZvciBNU1A0MzJQNDAxUjoNCiAgICAtIGNvbXBvbmVudHMgYW5kIHJlZ2lzdGVycw0KICAgIC0gcGVyaXBoZXJhbCBiYXNlIGFkZHJlc3MNCiAgICAtIHBlcmlwaGVyYWwgSUQNCiAgICAtIFBlcmlwaGVyYWwgZGVmaW5pdGlvbnMNCiAgQHsNCiovDQoNCi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioNCiogICAgICAgICAgICAgICAgUHJvY2Vzc29yIGFuZCBDb3JlIFBlcmlwaGVyYWxzICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICoNCioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8NCi8qKiBAYWRkdG9ncm91cCBNU1A0MzJQNDAxUl9DTVNJUyBEZXZpY2UgQ01TSVMgRGVmaW5pdGlvbnMNCiAgQ29uZmlndXJhdGlvbiBvZiB0aGUgQ29ydGV4LU00IFByb2Nlc3NvciBhbmQgQ29yZSBQZXJpcGhlcmFscw0KICBAew0KKi8NCg0KLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKg0KKiBDTVNJUy1jb21wYXRpYmxlIEludGVycnVwdCBOdW1iZXIgRGVmaW5pdGlvbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKg0KKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLw0KdHlwZWRlZiBlbnVtIElSUW4NCnsNCiAgLyogQ29ydGV4LU00IFByb2Nlc3NvciBFeGNlcHRpb25zIE51bWJlcnMgKi8NCiAgTm9uTWFza2FibGVJbnRfSVJRbiAgICAgICAgID0gLTE0LCAgICAvKiAgMiBOb24gTWFza2FibGUgSW50ZXJydXB0ICovDQogIEhhcmRGYXVsdF9JUlFuICAgICAgICAgICAgICA9IC0xMywgICAgLyogIDMgSGFyZCBGYXVsdCBJbnRlcnJ1cHQgKi8NCiAgTWVtb3J5TWFuYWdlbWVudF9JUlFuICAgICAgID0gLTEyLCAgICAvKiAgNCBNZW1vcnkgTWFuYWdlbWVudCBJbnRlcnJ1cHQgKi8NCiAgQnVzRmF1bHRfSVJRbiAgICAgICAgICAgICAgID0gLTExLCAgICAvKiAgNSBCdXMgRmF1bHQgSW50ZXJydXB0ICovDQogIFVzYWdlRmF1bHRfSVJRbiAgICAgICAgICAgICA9IC0xMCwgICAgLyogIDYgVXNhZ2UgRmF1bHQgSW50ZXJydXB0ICovDQogIFNWQ2FsbF9JUlFuICAgICAgICAgICAgICAgICA9IC01LCAgICAgLyogMTEgU1YgQ2FsbCBJbnRlcnJ1cHQgKi8NCiAgRGVidWdNb25pdG9yX0lSUW4gICAgICAgICAgID0gLTQsICAgICAvKiAxMiBEZWJ1ZyBNb25pdG9yIEludGVycnVwdCAqLw0KICBQZW5kU1ZfSVJRbiAgICAgICAgICAgICAgICAgPSAtMiwgICAgIC8qIDE0IFBlbmQgU1YgSW50ZXJydXB0ICovDQogIFN5c1RpY2tfSVJRbiAgICAgICAgICAgICAgICA9IC0xLCAgICAgLyogMTUgU3lzdGVtIFRpY2sgSW50ZXJydXB0ICovDQogIC8qICBQZXJpcGhlcmFsIEV4Y2VwdGlvbnMgTnVtYmVycyAqLw0KICBQU1NfSVJRbiAgICAgICAgICAgICAgICAgICAgPSAgMCwgICAgIC8qIDE2IFBTUyBJbnRlcnJ1cHQgKi8NCiAgQ1NfSVJRbiAgICAgICAgICAgICAgICAgICAgID0gIDEsICAgICAvKiAxNyBDUyBJbnRlcnJ1cHQgKi8NCiAgUENNX0lSUW4gICAgICAgICAgICAgICAgICAgID0gIDIsICAgICAvKiAxOCBQQ00gSW50ZXJydXB0ICovDQogIFdEVF9BX0lSUW4gICAgICAgICAgICAgICAgICA9ICAzLCAgICAgLyogMTkgV0RUX0EgSW50ZXJydXB0ICovDQogIEZQVV9JUlFuICAgICAgICAgICAgICAgICAgICA9ICA0LCAgICAgLyogMjAgRlBVIEludGVycnVwdCAqLw0KICBGTENUTF9JUlFuICAgICAgICAgICAgICAgICAgPSAgNSwgICAgIC8qIDIxIEZMQ1RMIEludGVycnVwdCAqLw0KICBDT01QX0UwX0lSUW4gICAgICAgICAgICAgICAgPSAgNiwgICAgIC8qIDIyIENPTVBfRTAgSW50ZXJydXB0ICovDQogIENPTVBfRTFfSVJRbiAgICAgICAgICAgICAgICA9ICA3LCAgICAgLyogMjMgQ09NUF9FMSBJbnRlcnJ1cHQgKi8NCiAgVEEwXzBfSVJRbiAgICAgICAgICAgICAgICAgID0gIDgsICAgICAvKiAyNCBUQTBfMCBJbnRlcnJ1cHQgKi8NCiAgVEEwX05fSVJRbiAgICAgICAgICAgICAgICAgID0gIDksICAgICAvKiAyNSBUQTBfTiBJbnRlcnJ1cHQgKi8NCiAgVEExXzBfSVJRbiAgICAgICAgICAgICAgICAgID0gMTAsICAgICAvKiAyNiBUQTFfMCBJbnRlcnJ1cHQgKi8NCiAgVEExX05fSVJRbiAgICAgICAgICAgICAgICAgID0gMTEsICAgICAvKiAyNyBUQTFfTiBJbnRlcnJ1cHQgKi8NCiAgVEEyXzBfSVJRbiAgICAgICAgICAgICAgICAgID0gMTIsICAgICAvKiAyOCBUQTJfMCBJbnRlcnJ1cHQgKi8NCiAgVEEyX05fSVJRbiAgICAgICAgICAgICAgICAgID0gMTMsICAgICAvKiAyOSBUQTJfTiBJbnRlcnJ1cHQgKi8NCiAgVEEzXzBfSVJRbiAgICAgICAgICAgICAgICAgID0gMTQsICAgICAvKiAzMCBUQTNfMCBJbnRlcnJ1cHQgKi8NCiAgVEEzX05fSVJRbiAgICAgICAgICAgICAgICAgID0gMTUsICAgICAvKiAzMSBUQTNfTiBJbnRlcnJ1cHQgKi8NCiAgRVVTQ0lBMF9JUlFuICAgICAgICAgICAgICAgID0gMTYsICAgICAvKiAzMiBFVVNDSUEwIEludGVycnVwdCAqLw0KICBFVVNDSUExX0lSUW4gICAgICAgICAgICAgICAgPSAxNywgICAgIC8qIDMzIEVVU0NJQTEgSW50ZXJydXB0ICovDQogIEVVU0NJQTJfSVJRbiAgICAgICAgICAgICAgICA9IDE4LCAgICAgLyogMzQgRVVTQ0lBMiBJbnRlcnJ1cHQgKi8NCiAgRVVTQ0lBM19JUlFuICAgICAgICAgICAgICAgID0gMTksICAgICAvKiAzNSBFVVNDSUEzIEludGVycnVwdCAqLw0KICBFVVNDSUIwX0lSUW4gICAgICAgICAgICAgICAgPSAyMCwgICAgIC8qIDM2IEVVU0NJQjAgSW50ZXJydXB0ICovDQogIEVVU0NJQjFfSVJRbiAgICAgICAgICAgICAgICA9IDIxLCAgICAgLyogMzcgRVVTQ0lCMSBJbnRlcnJ1cHQgKi8NCiAgRVVTQ0lCMl9JUlFuICAgICAgICAgICAgICAgID0gMjIsICAgICAvKiAzOCBFVVNDSUIyIEludGVycnVwdCAqLw0KICBFVVNDSUIzX0lSUW4gICAgICAgICAgICAgICAgPSAyMywgICAgIC8qIDM5IEVVU0NJQjMgSW50ZXJydXB0ICovDQogIEFEQzE0X0lSUW4gICAgICAgICAgICAgICAgICA9IDI0LCAgICAgLyogNDAgQURDMTQgSW50ZXJydXB0ICovDQogIFQzMl9JTlQxX0lSUW4gICAgICAgICAgICAgICA9IDI1LCAgICAgLyogNDEgVDMyX0lOVDEgSW50ZXJydXB0ICovDQogIFQzMl9JTlQyX0lSUW4gICAgICAgICAgICAgICA9IDI2LCAgICAgLyogNDIgVDMyX0lOVDIgSW50ZXJydXB0ICovDQogIFQzMl9JTlRDX0lSUW4gICAgICAgICAgICAgICA9IDI3LCAgICAgLyogNDMgVDMyX0lOVEMgSW50ZXJydXB0ICovDQogIEFFUzI1Nl9JUlFuICAgICAgICAgICAgICAgICA9IDI4LCAgICAgLyogNDQgQUVTMjU2IEludGVycnVwdCAqLw0KICBSVENfQ19JUlFuICAgICAgICAgICAgICAgICAgPSAyOSwgICAgIC8qIDQ1IFJUQ19DIEludGVycnVwdCAqLw0KICBETUFfRVJSX0lSUW4gICAgICAgICAgICAgICAgPSAzMCwgICAgIC8qIDQ2IERNQV9FUlIgSW50ZXJydXB0ICovDQogIERNQV9JTlQzX0lSUW4gICAgICAgICAgICAgICA9IDMxLCAgICAgLyogNDcgRE1BX0lOVDMgSW50ZXJydXB0ICovDQogIERNQV9JTlQyX0lSUW4gICAgICAgICAgICAgICA9IDMyLCAgICAgLyogNDggRE1BX0lOVDIgSW50ZXJydXB0ICovDQogIERNQV9JTlQxX0lSUW4gICAgICAgICAgICAgICA9IDMzLCAgICAgLyogNDkgRE1BX0lOVDEgSW50ZXJydXB0ICovDQogIERNQV9JTlQwX0lSUW4gICAgICAgICAgICAgICA9IDM0LCAgICAgLyogNTAgRE1BX0lOVDAgSW50ZXJydXB0ICovDQogIFBPUlQxX0lSUW4gICAgICAgICAgICAgICAgICA9IDM1LCAgICAgLyogNTEgUE9SVDEgSW50ZXJydXB0ICovDQogIFBPUlQyX0lSUW4gICAgICAgICAgICAgICAgICA9IDM2LCAgICAgLyogNTIgUE9SVDIgSW50ZXJydXB0ICovDQogIFBPUlQzX0lSUW4gICAgICAgICAgICAgICAgICA9IDM3LCAgICAgLyogNTMgUE9SVDMgSW50ZXJydXB0ICovDQogIFBPUlQ0X0lSUW4gICAgICAgICAgICAgICAgICA9IDM4LCAgICAgLyogNTQgUE9SVDQgSW50ZXJydXB0ICovDQogIFBPUlQ1X0lSUW4gICAgICAgICAgICAgICAgICA9IDM5LCAgICAgLyogNTUgUE9SVDUgSW50ZXJydXB0ICovDQogIFBPUlQ2X0lSUW4gICAgICAgICAgICAgICAgICA9IDQwICAgICAgLyogNTYgUE9SVDYgSW50ZXJydXB0ICovDQp9IElSUW5fVHlwZTsNCg0KLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKg0KKiBQcm9jZXNzb3IgYW5kIENvcmUgUGVyaXBoZXJhbCBTZWN0aW9uICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKg0KKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLw0KI2RlZmluZSBfX0NNNF9SRVYgICAgICAgICAgICAgICAweDAwMDEgICAgLyogQ29yZSByZXZpc2lvbiByMHAxICovDQojZGVmaW5lIF9fTVBVX1BSRVNFTlQgICAgICAgICAgIDEgICAgICAgICAvKiBNUFUgcHJlc2VudCBvciBub3QgKi8NCiNkZWZpbmUgX19OVklDX1BSSU9fQklUUyAgICAgICAgMyAgICAgICAgIC8qIE51bWJlciBvZiBCaXRzIHVzZWQgZm9yIFByaW8gTGV2ZWxzICovDQojZGVmaW5lIF9fVmVuZG9yX1N5c1RpY2tDb25maWcgIDAgICAgICAgICAvKiBTZXQgdG8gMSBpZiBkaWZmZXJlbnQgU3lzVGljayBDb25maWcgaXMgdXNlZCAqLw0KI2RlZmluZSBfX0ZQVV9QUkVTRU5UICAgICAgICAgICAxICAgICAgICAgLyogRlBVIHByZXNlbnQgb3Igbm90ICovDQoNCi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioNCiogQXZhaWxhYmxlIFBlcmlwaGVyYWxzICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICoNCioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8NCiNkZWZpbmUgX19NQ1VfSEFTX0FEQzE0X18gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgTW9kdWxlIEFEQzE0IGlzIGF2YWlsYWJsZSAqLw0KI2RlZmluZSBfX01DVV9IQVNfQUVTMjU2X18gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyoqPCBNb2R1bGUgQUVTMjU2IGlzIGF2YWlsYWJsZSAqLw0KI2RlZmluZSBfX01DVV9IQVNfQ0FQVElPMF9fICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyoqPCBNb2R1bGUgQ0FQVElPMCBpcyBhdmFpbGFibGUgKi8NCiNkZWZpbmUgX19NQ1VfSEFTX0NBUFRJTzFfXyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgTW9kdWxlIENBUFRJTzEgaXMgYXZhaWxhYmxlICovDQojZGVmaW5lIF9fTUNVX0hBU19DT01QX0UwX18gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKio8IE1vZHVsZSBDT01QX0UwIGlzIGF2YWlsYWJsZSAqLw0KI2RlZmluZSBfX01DVV9IQVNfQ09NUF9FMV9fICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyoqPCBNb2R1bGUgQ09NUF9FMSBpcyBhdmFpbGFibGUgKi8NCiNkZWZpbmUgX19NQ1VfSEFTX0NSQzMyX18gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgTW9kdWxlIENSQzMyIGlzIGF2YWlsYWJsZSAqLw0KI2RlZmluZSBfX01DVV9IQVNfQ1NfXyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyoqPCBNb2R1bGUgQ1MgaXMgYXZhaWxhYmxlICovDQojZGVmaW5lIF9fTUNVX0hBU19ESU9fXyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKio8IE1vZHVsZSBESU8gaXMgYXZhaWxhYmxlICovDQojZGVmaW5lIF9fTUNVX0hBU19ETUFfXyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKio8IE1vZHVsZSBETUEgaXMgYXZhaWxhYmxlICovDQojZGVmaW5lIF9fTUNVX0hBU19FVVNDSV9BMF9fICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKio8IE1vZHVsZSBFVVNDSV9BMCBpcyBhdmFpbGFibGUgKi8NCiNkZWZpbmUgX19NQ1VfSEFTX0VVU0NJX0ExX18gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgTW9kdWxlIEVVU0NJX0ExIGlzIGF2YWlsYWJsZSAqLw0KI2RlZmluZSBfX01DVV9IQVNfRVVTQ0lfQTJfXyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyoqPCBNb2R1bGUgRVVTQ0lfQTIgaXMgYXZhaWxhYmxlICovDQojZGVmaW5lIF9fTUNVX0hBU19FVVNDSV9BM19fICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKio8IE1vZHVsZSBFVVNDSV9BMyBpcyBhdmFpbGFibGUgKi8NCiNkZWZpbmUgX19NQ1VfSEFTX0VVU0NJX0IwX18gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgTW9kdWxlIEVVU0NJX0IwIGlzIGF2YWlsYWJsZSAqLw0KI2RlZmluZSBfX01DVV9IQVNfRVVTQ0lfQjFfXyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyoqPCBNb2R1bGUgRVVTQ0lfQjEgaXMgYXZhaWxhYmxlICovDQojZGVmaW5lIF9fTUNVX0hBU19FVVNDSV9CMl9fICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKio8IE1vZHVsZSBFVVNDSV9CMiBpcyBhdmFpbGFibGUgKi8NCiNkZWZpbmUgX19NQ1VfSEFTX0VVU0NJX0IzX18gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgTW9kdWxlIEVVU0NJX0IzIGlzIGF2YWlsYWJsZSAqLw0KI2RlZmluZSBfX01DVV9IQVNfRkxDVExfXyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyoqPCBNb2R1bGUgRkxDVEwgaXMgYXZhaWxhYmxlICovDQojZGVmaW5lIF9fTUNVX0hBU19QQ01fXyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKio8IE1vZHVsZSBQQ00gaXMgYXZhaWxhYmxlICovDQojZGVmaW5lIF9fTUNVX0hBU19QTUFQX18gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKio8IE1vZHVsZSBQTUFQIGlzIGF2YWlsYWJsZSAqLw0KI2RlZmluZSBfX01DVV9IQVNfUFNTX18gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyoqPCBNb2R1bGUgUFNTIGlzIGF2YWlsYWJsZSAqLw0KI2RlZmluZSBfX01DVV9IQVNfUkVGX0FfXyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyoqPCBNb2R1bGUgUkVGX0EgaXMgYXZhaWxhYmxlICovDQojZGVmaW5lIF9fTUNVX0hBU19SU1RDVExfXyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKio8IE1vZHVsZSBSU1RDVEwgaXMgYXZhaWxhYmxlICovDQojZGVmaW5lIF9fTUNVX0hBU19SVENfQ19fICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKio8IE1vZHVsZSBSVENfQyBpcyBhdmFpbGFibGUgKi8NCiNkZWZpbmUgX19NQ1VfSEFTX1NZU0NUTF9fICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgTW9kdWxlIFNZU0NUTCBpcyBhdmFpbGFibGUgKi8NCiNkZWZpbmUgX19NQ1VfSEFTX1RJTUVSMzJfXyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgTW9kdWxlIFRJTUVSMzIgaXMgYXZhaWxhYmxlICovDQojZGVmaW5lIF9fTUNVX0hBU19USU1FUl9BMF9fICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKio8IE1vZHVsZSBUSU1FUl9BMCBpcyBhdmFpbGFibGUgKi8NCiNkZWZpbmUgX19NQ1VfSEFTX1RJTUVSX0ExX18gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgTW9kdWxlIFRJTUVSX0ExIGlzIGF2YWlsYWJsZSAqLw0KI2RlZmluZSBfX01DVV9IQVNfVElNRVJfQTJfXyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyoqPCBNb2R1bGUgVElNRVJfQTIgaXMgYXZhaWxhYmxlICovDQojZGVmaW5lIF9fTUNVX0hBU19USU1FUl9BM19fICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKio8IE1vZHVsZSBUSU1FUl9BMyBpcyBhdmFpbGFibGUgKi8NCiNkZWZpbmUgX19NQ1VfSEFTX1RMVl9fICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgTW9kdWxlIFRMViBpcyBhdmFpbGFibGUgKi8NCiNkZWZpbmUgX19NQ1VfSEFTX1dEVF9BX18gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgTW9kdWxlIFdEVF9BIGlzIGF2YWlsYWJsZSAqLw0KDQovKiBEZWZpbml0aW9ucyB0byBzaG93IHRoYXQgc3BlY2lmaWMgcG9ydHMgYXJlIGF2YWlsYWJsZSAqLw0KDQojZGVmaW5lIF9fTVNQNDMyX0hBU19QT1JUQV9SX18NCiNkZWZpbmUgX19NU1A0MzJfSEFTX1BPUlRCX1JfXw0KI2RlZmluZSBfX01TUDQzMl9IQVNfUE9SVENfUl9fDQojZGVmaW5lIF9fTVNQNDMyX0hBU19QT1JURF9SX18NCiNkZWZpbmUgX19NU1A0MzJfSEFTX1BPUlRFX1JfXw0KI2RlZmluZSBfX01TUDQzMl9IQVNfUE9SVEpfUl9fDQoNCiNkZWZpbmUgX19NU1A0MzJfSEFTX1BPUlQxX1JfXw0KI2RlZmluZSBfX01TUDQzMl9IQVNfUE9SVDJfUl9fDQojZGVmaW5lIF9fTVNQNDMyX0hBU19QT1JUM19SX18NCiNkZWZpbmUgX19NU1A0MzJfSEFTX1BPUlQ0X1JfXw0KI2RlZmluZSBfX01TUDQzMl9IQVNfUE9SVDVfUl9fDQojZGVmaW5lIF9fTVNQNDMyX0hBU19QT1JUNl9SX18NCiNkZWZpbmUgX19NU1A0MzJfSEFTX1BPUlQ3X1JfXw0KI2RlZmluZSBfX01TUDQzMl9IQVNfUE9SVDhfUl9fDQojZGVmaW5lIF9fTVNQNDMyX0hBU19QT1JUOV9SX18NCiNkZWZpbmUgX19NU1A0MzJfSEFTX1BPUlQxMF9SX18NCg0KDQovKkB9Ki8gLyogZW5kIG9mIGdyb3VwIE1TUDQzMlA0MDFSX0NNU0lTICovDQoNCi8qIEluY2x1ZGUgQ01TSVMgQ29ydGV4LU00IENvcmUgUGVyaXBoZXJhbCBBY2Nlc3MgTGF5ZXIgSGVhZGVyIEZpbGUgKi8NCiNpZmRlZiBfX1RJX0FSTV9fDQovKiBkaXNhYmxlIHRoZSBUSSBVTFAgYWR2aXNvciBjaGVjayBmb3IgdGhlIGNvcmUgaGVhZGVyIGZpbGUgZGVmaW5pdGlvbnMgKi8NCiNwcmFnbWEgZGlhZ19wdXNoDQojcHJhZ21hIENIRUNLX1VMUCgibm9uZSIpDQojaW5jbHVkZSAiY29yZV9jbTQuaCINCiNwcmFnbWEgZGlhZ19wb3ANCiNlbHNlDQojaW5jbHVkZSAiY29yZV9jbTQuaCINCiNlbmRpZg0KDQovKiBTeXN0ZW0gSGVhZGVyICovDQojaW5jbHVkZSAic3lzdGVtX21zcDQzMnA0MDFyLmgiDQoNCi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioNCiogRGVmaW5pdGlvbiBvZiBzdGFuZGFyZCBiaXRzICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICoNCioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8NCiNkZWZpbmUgQklUMCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAodWludDE2X3QpKDB4MDAwMSkNCiNkZWZpbmUgQklUMSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAodWludDE2X3QpKDB4MDAwMikNCiNkZWZpbmUgQklUMiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAodWludDE2X3QpKDB4MDAwNCkNCiNkZWZpbmUgQklUMyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAodWludDE2X3QpKDB4MDAwOCkNCiNkZWZpbmUgQklUNCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAodWludDE2X3QpKDB4MDAxMCkNCiNkZWZpbmUgQklUNSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAodWludDE2X3QpKDB4MDAyMCkNCiNkZWZpbmUgQklUNiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAodWludDE2X3QpKDB4MDA0MCkNCiNkZWZpbmUgQklUNyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAodWludDE2X3QpKDB4MDA4MCkNCiNkZWZpbmUgQklUOCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAodWludDE2X3QpKDB4MDEwMCkNCiNkZWZpbmUgQklUOSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAodWludDE2X3QpKDB4MDIwMCkNCiNkZWZpbmUgQklUQSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAodWludDE2X3QpKDB4MDQwMCkNCiNkZWZpbmUgQklUQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAodWludDE2X3QpKDB4MDgwMCkNCiNkZWZpbmUgQklUQyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAodWludDE2X3QpKDB4MTAwMCkNCiNkZWZpbmUgQklURCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAodWludDE2X3QpKDB4MjAwMCkNCiNkZWZpbmUgQklURSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAodWludDE2X3QpKDB4NDAwMCkNCiNkZWZpbmUgQklURiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAodWludDE2X3QpKDB4ODAwMCkNCiNkZWZpbmUgQklUKHgpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MTZfdCkxIDw8ICh4KSkNCg0KLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKg0KKiBEZXZpY2UgYW5kIHBlcmlwaGVyYWwgbWVtb3J5IG1hcCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKg0KKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLw0KLyoqIEBhZGR0b2dyb3VwIE1TUDQzMlA0MDFSX01lbW9yeU1hcCBNU1A0MzJQNDAxUiBNZW1vcnkgTWFwcGluZw0KICBAew0KKi8NCg0KI2RlZmluZSBGTEFTSF9CQVNFICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMDAwMCkgICAgICAgICAgLyoqPCBNYWluIEZsYXNoIG1lbW9yeSBzdGFydCBhZGRyZXNzICovDQojZGVmaW5lIFNSQU1fQkFTRSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDIwMDAwMDAwKSAgICAgICAgICAvKio8IFNSQU0gbWVtb3J5IHN0YXJ0IGFkZHJlc3MgKi8NCiNkZWZpbmUgUEVSSVBIX0JBU0UgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4NDAwMDAwMDApICAgICAgICAgIC8qKjwgUGVyaXBoZXJhbHMgc3RhcnQgYWRkcmVzcyAqLw0KI2RlZmluZSBQRVJJUEhfQkFTRTIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHhFMDAwMDAwMCkgICAgICAgICAgLyoqPCBQZXJpcGhlcmFscyBzdGFydCBhZGRyZXNzICovDQoNCiNkZWZpbmUgQURDMTRfQkFTRSAgICAgICAgICAgICAgICAgICAgICAgICAgICAoUEVSSVBIX0JBU0UgKzB4MDAwMTIwMDApICAgICAgICAgIC8qKjwgQmFzZSBhZGRyZXNzIG9mIG1vZHVsZSBBREMxNCByZWdpc3RlcnMgKi8NCiNkZWZpbmUgQUVTMjU2X0JBU0UgICAgICAgICAgICAgICAgICAgICAgICAgICAoUEVSSVBIX0JBU0UgKzB4MDAwMDNDMDApICAgICAgICAgIC8qKjwgQmFzZSBhZGRyZXNzIG9mIG1vZHVsZSBBRVMyNTYgcmVnaXN0ZXJzICovDQojZGVmaW5lIENBUFRJTzBfQkFTRSAgICAgICAgICAgICAgICAgICAgICAgICAgKFBFUklQSF9CQVNFICsweDAwMDA1NDAwKSAgICAgICAgICAvKio8IEJhc2UgYWRkcmVzcyBvZiBtb2R1bGUgQ0FQVElPMCByZWdpc3RlcnMgKi8NCiNkZWZpbmUgQ0FQVElPMV9CQVNFICAgICAgICAgICAgICAgICAgICAgICAgICAoUEVSSVBIX0JBU0UgKzB4MDAwMDU4MDApICAgICAgICAgIC8qKjwgQmFzZSBhZGRyZXNzIG9mIG1vZHVsZSBDQVBUSU8xIHJlZ2lzdGVycyAqLw0KI2RlZmluZSBDT01QX0UwX0JBU0UgICAgICAgICAgICAgICAgICAgICAgICAgIChQRVJJUEhfQkFTRSArMHgwMDAwMzQwMCkgICAgICAgICAgLyoqPCBCYXNlIGFkZHJlc3Mgb2YgbW9kdWxlIENPTVBfRTAgcmVnaXN0ZXJzICovDQojZGVmaW5lIENPTVBfRTFfQkFTRSAgICAgICAgICAgICAgICAgICAgICAgICAgKFBFUklQSF9CQVNFICsweDAwMDAzODAwKSAgICAgICAgICAvKio8IEJhc2UgYWRkcmVzcyBvZiBtb2R1bGUgQ09NUF9FMSByZWdpc3RlcnMgKi8NCiNkZWZpbmUgQ1JDMzJfQkFTRSAgICAgICAgICAgICAgICAgICAgICAgICAgICAoUEVSSVBIX0JBU0UgKzB4MDAwMDQwMDApICAgICAgICAgIC8qKjwgQmFzZSBhZGRyZXNzIG9mIG1vZHVsZSBDUkMzMiByZWdpc3RlcnMgKi8NCiNkZWZpbmUgQ1NfQkFTRSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoUEVSSVBIX0JBU0UgKzB4MDAwMTA0MDApICAgICAgICAgIC8qKjwgQmFzZSBhZGRyZXNzIG9mIG1vZHVsZSBDUyByZWdpc3RlcnMgKi8NCiNkZWZpbmUgRElPX0JBU0UgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoUEVSSVBIX0JBU0UgKzB4MDAwMDRDMDApICAgICAgICAgIC8qKjwgQmFzZSBhZGRyZXNzIG9mIG1vZHVsZSBESU8gcmVnaXN0ZXJzICovDQojZGVmaW5lIERNQV9CQVNFICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKFBFUklQSF9CQVNFICsweDAwMDBFMDAwKSAgICAgICAgICAvKio8IEJhc2UgYWRkcmVzcyBvZiBtb2R1bGUgRE1BIHJlZ2lzdGVycyAqLw0KI2RlZmluZSBFVVNDSV9BMF9CQVNFICAgICAgICAgICAgICAgICAgICAgICAgIChQRVJJUEhfQkFTRSArMHgwMDAwMTAwMCkgICAgICAgICAgLyoqPCBCYXNlIGFkZHJlc3Mgb2YgbW9kdWxlIEVVU0NJX0EwIHJlZ2lzdGVycyAqLw0KI2RlZmluZSBFVVNDSV9BMF9TUElfQkFTRSAgICAgICAgICAgICAgICAgICAgIChQRVJJUEhfQkFTRSArMHgwMDAwMTAwMCkgICAgICAgICAgLyoqPCBCYXNlIGFkZHJlc3Mgb2YgbW9kdWxlIEVVU0NJX0EwIHJlZ2lzdGVycyAqLw0KI2RlZmluZSBFVVNDSV9BMV9CQVNFICAgICAgICAgICAgICAgICAgICAgICAgIChQRVJJUEhfQkFTRSArMHgwMDAwMTQwMCkgICAgICAgICAgLyoqPCBCYXNlIGFkZHJlc3Mgb2YgbW9kdWxlIEVVU0NJX0ExIHJlZ2lzdGVycyAqLw0KI2RlZmluZSBFVVNDSV9BMV9TUElfQkFTRSAgICAgICAgICAgICAgICAgICAgIChQRVJJUEhfQkFTRSArMHgwMDAwMTQwMCkgICAgICAgICAgLyoqPCBCYXNlIGFkZHJlc3Mgb2YgbW9kdWxlIEVVU0NJX0ExIHJlZ2lzdGVycyAqLw0KI2RlZmluZSBFVVNDSV9BMl9CQVNFICAgICAgICAgICAgICAgICAgICAgICAgIChQRVJJUEhfQkFTRSArMHgwMDAwMTgwMCkgICAgICAgICAgLyoqPCBCYXNlIGFkZHJlc3Mgb2YgbW9kdWxlIEVVU0NJX0EyIHJlZ2lzdGVycyAqLw0KI2RlZmluZSBFVVNDSV9BMl9TUElfQkFTRSAgICAgICAgICAgICAgICAgICAgIChQRVJJUEhfQkFTRSArMHgwMDAwMTgwMCkgICAgICAgICAgLyoqPCBCYXNlIGFkZHJlc3Mgb2YgbW9kdWxlIEVVU0NJX0EyIHJlZ2lzdGVycyAqLw0KI2RlZmluZSBFVVNDSV9BM19CQVNFICAgICAgICAgICAgICAgICAgICAgICAgIChQRVJJUEhfQkFTRSArMHgwMDAwMUMwMCkgICAgICAgICAgLyoqPCBCYXNlIGFkZHJlc3Mgb2YgbW9kdWxlIEVVU0NJX0EzIHJlZ2lzdGVycyAqLw0KI2RlZmluZSBFVVNDSV9BM19TUElfQkFTRSAgICAgICAgICAgICAgICAgICAgIChQRVJJUEhfQkFTRSArMHgwMDAwMUMwMCkgICAgICAgICAgLyoqPCBCYXNlIGFkZHJlc3Mgb2YgbW9kdWxlIEVVU0NJX0EzIHJlZ2lzdGVycyAqLw0KI2RlZmluZSBFVVNDSV9CMF9CQVNFICAgICAgICAgICAgICAgICAgICAgICAgIChQRVJJUEhfQkFTRSArMHgwMDAwMjAwMCkgICAgICAgICAgLyoqPCBCYXNlIGFkZHJlc3Mgb2YgbW9kdWxlIEVVU0NJX0IwIHJlZ2lzdGVycyAqLw0KI2RlZmluZSBFVVNDSV9CMF9TUElfQkFTRSAgICAgICAgICAgICAgICAgICAgIChQRVJJUEhfQkFTRSArMHgwMDAwMjAwMCkgICAgICAgICAgLyoqPCBCYXNlIGFkZHJlc3Mgb2YgbW9kdWxlIEVVU0NJX0IwIHJlZ2lzdGVycyAqLw0KI2RlZmluZSBFVVNDSV9CMV9CQVNFICAgICAgICAgICAgICAgICAgICAgICAgIChQRVJJUEhfQkFTRSArMHgwMDAwMjQwMCkgICAgICAgICAgLyoqPCBCYXNlIGFkZHJlc3Mgb2YgbW9kdWxlIEVVU0NJX0IxIHJlZ2lzdGVycyAqLw0KI2RlZmluZSBFVVNDSV9CMV9TUElfQkFTRSAgICAgICAgICAgICAgICAgICAgIChQRVJJUEhfQkFTRSArMHgwMDAwMjQwMCkgICAgICAgICAgLyoqPCBCYXNlIGFkZHJlc3Mgb2YgbW9kdWxlIEVVU0NJX0IxIHJlZ2lzdGVycyAqLw0KI2RlZmluZSBFVVNDSV9CMl9CQVNFICAgICAgICAgICAgICAgICAgICAgICAgIChQRVJJUEhfQkFTRSArMHgwMDAwMjgwMCkgICAgICAgICAgLyoqPCBCYXNlIGFkZHJlc3Mgb2YgbW9kdWxlIEVVU0NJX0IyIHJlZ2lzdGVycyAqLw0KI2RlZmluZSBFVVNDSV9CMl9TUElfQkFTRSAgICAgICAgICAgICAgICAgICAgIChQRVJJUEhfQkFTRSArMHgwMDAwMjgwMCkgICAgICAgICAgLyoqPCBCYXNlIGFkZHJlc3Mgb2YgbW9kdWxlIEVVU0NJX0IyIHJlZ2lzdGVycyAqLw0KI2RlZmluZSBFVVNDSV9CM19CQVNFICAgICAgICAgICAgICAgICAgICAgICAgIChQRVJJUEhfQkFTRSArMHgwMDAwMkMwMCkgICAgICAgICAgLyoqPCBCYXNlIGFkZHJlc3Mgb2YgbW9kdWxlIEVVU0NJX0IzIHJlZ2lzdGVycyAqLw0KI2RlZmluZSBFVVNDSV9CM19TUElfQkFTRSAgICAgICAgICAgICAgICAgICAgIChQRVJJUEhfQkFTRSArMHgwMDAwMkMwMCkgICAgICAgICAgLyoqPCBCYXNlIGFkZHJlc3Mgb2YgbW9kdWxlIEVVU0NJX0IzIHJlZ2lzdGVycyAqLw0KI2RlZmluZSBGTENUTF9CQVNFICAgICAgICAgICAgICAgICAgICAgICAgICAgIChQRVJJUEhfQkFTRSArMHgwMDAxMTAwMCkgICAgICAgICAgLyoqPCBCYXNlIGFkZHJlc3Mgb2YgbW9kdWxlIEZMQ1RMIHJlZ2lzdGVycyAqLw0KI2RlZmluZSBQQ01fQkFTRSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChQRVJJUEhfQkFTRSArMHgwMDAxMDAwMCkgICAgICAgICAgLyoqPCBCYXNlIGFkZHJlc3Mgb2YgbW9kdWxlIFBDTSByZWdpc3RlcnMgKi8NCiNkZWZpbmUgUE1BUF9CQVNFICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoUEVSSVBIX0JBU0UgKzB4MDAwMDUwMDApICAgICAgICAgIC8qKjwgQmFzZSBhZGRyZXNzIG9mIG1vZHVsZSBQTUFQIHJlZ2lzdGVycyAqLw0KI2RlZmluZSBQU1NfQkFTRSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChQRVJJUEhfQkFTRSArMHgwMDAxMDgwMCkgICAgICAgICAgLyoqPCBCYXNlIGFkZHJlc3Mgb2YgbW9kdWxlIFBTUyByZWdpc3RlcnMgKi8NCiNkZWZpbmUgUkVGX0FfQkFTRSAgICAgICAgICAgICAgICAgICAgICAgICAgICAoUEVSSVBIX0JBU0UgKzB4MDAwMDMwMDApICAgICAgICAgIC8qKjwgQmFzZSBhZGRyZXNzIG9mIG1vZHVsZSBSRUZfQSByZWdpc3RlcnMgKi8NCiNkZWZpbmUgUlNUQ1RMX0JBU0UgICAgICAgICAgICAgICAgICAgICAgICAgICAoUEVSSVBIX0JBU0UyKzB4MDAwNDIwMDApICAgICAgICAgIC8qKjwgQmFzZSBhZGRyZXNzIG9mIG1vZHVsZSBSU1RDVEwgcmVnaXN0ZXJzICovDQojZGVmaW5lIFJUQ19DX0JBU0UgICAgICAgICAgICAgICAgICAgICAgICAgICAgKFBFUklQSF9CQVNFICsweDAwMDA0NDAwKSAgICAgICAgICAvKio8IEJhc2UgYWRkcmVzcyBvZiBtb2R1bGUgUlRDX0MgcmVnaXN0ZXJzICovDQojZGVmaW5lIFJUQ19DX0JDRF9CQVNFICAgICAgICAgICAgICAgICAgICAgICAgKFBFUklQSF9CQVNFICsweDAwMDA0NDAwKSAgICAgICAgICAvKio8IEJhc2UgYWRkcmVzcyBvZiBtb2R1bGUgUlRDX0MgcmVnaXN0ZXJzICovDQojZGVmaW5lIFNZU0NUTF9CQVNFICAgICAgICAgICAgICAgICAgICAgICAgICAgKFBFUklQSF9CQVNFMisweDAwMDQzMDAwKSAgICAgICAgICAvKio8IEJhc2UgYWRkcmVzcyBvZiBtb2R1bGUgU1lTQ1RMIHJlZ2lzdGVycyAqLw0KI2RlZmluZSBUSU1FUjMyX0JBU0UgICAgICAgICAgICAgICAgICAgICAgICAgIChQRVJJUEhfQkFTRSArMHgwMDAwQzAwMCkgICAgICAgICAgLyoqPCBCYXNlIGFkZHJlc3Mgb2YgbW9kdWxlIFRJTUVSMzIgcmVnaXN0ZXJzICovDQojZGVmaW5lIFRJTUVSX0EwX0JBU0UgICAgICAgICAgICAgICAgICAgICAgICAgKFBFUklQSF9CQVNFICsweDAwMDAwMDAwKSAgICAgICAgICAvKio8IEJhc2UgYWRkcmVzcyBvZiBtb2R1bGUgVElNRVJfQTAgcmVnaXN0ZXJzICovDQojZGVmaW5lIFRJTUVSX0ExX0JBU0UgICAgICAgICAgICAgICAgICAgICAgICAgKFBFUklQSF9CQVNFICsweDAwMDAwNDAwKSAgICAgICAgICAvKio8IEJhc2UgYWRkcmVzcyBvZiBtb2R1bGUgVElNRVJfQTEgcmVnaXN0ZXJzICovDQojZGVmaW5lIFRJTUVSX0EyX0JBU0UgICAgICAgICAgICAgICAgICAgICAgICAgKFBFUklQSF9CQVNFICsweDAwMDAwODAwKSAgICAgICAgICAvKio8IEJhc2UgYWRkcmVzcyBvZiBtb2R1bGUgVElNRVJfQTIgcmVnaXN0ZXJzICovDQojZGVmaW5lIFRJTUVSX0EzX0JBU0UgICAgICAgICAgICAgICAgICAgICAgICAgKFBFUklQSF9CQVNFICsweDAwMDAwQzAwKSAgICAgICAgICAvKio8IEJhc2UgYWRkcmVzcyBvZiBtb2R1bGUgVElNRVJfQTMgcmVnaXN0ZXJzICovDQojZGVmaW5lIFRMVl9CQVNFICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMjAxMDAwKSAgICAgICAgICAvKio8IEJhc2UgYWRkcmVzcyBvZiBtb2R1bGUgVExWIHJlZ2lzdGVycyAqLw0KI2RlZmluZSBXRFRfQV9CQVNFICAgICAgICAgICAgICAgICAgICAgICAgICAgIChQRVJJUEhfQkFTRSArMHgwMDAwNDgwMCkgICAgICAgICAgLyoqPCBCYXNlIGFkZHJlc3Mgb2YgbW9kdWxlIFdEVF9BIHJlZ2lzdGVycyAqLw0KDQoNCi8qQH0qLyAvKiBlbmQgb2YgZ3JvdXAgTVNQNDMyUDQwMVJfTWVtb3J5TWFwICovDQoNCi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioNCiogRGVmaW5pdGlvbnMgZm9yIGJpdCBiYW5kIGFjY2VzcyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICoNCioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8NCiNkZWZpbmUgQklUQkFORF9TUkFNX0JBU0UgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KSgweDIyMDAwMDAwKSkNCiNkZWZpbmUgQklUQkFORF9QRVJJX0JBU0UgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KSgweDQyMDAwMDAwKSkNCg0KLyogU1JBTSBhbGxvd3MgMzIgYml0IGJpdCBiYW5kIGFjY2VzcyAqLw0KI2RlZmluZSBCSVRCQU5EX1NSQU0oeCwgYikgICgqKChfX0lPIHVpbnQzMl90ICopIChCSVRCQU5EX1NSQU1fQkFTRSArICAoKCh1aW50MzJfdCkodWludDMyX3QgKikmeCkgLSBTUkFNX0JBU0UgICkqMzIgKyBiKjQpKSkNCi8qIHBlcmlwaGVyYWxzIHdpdGggOCBiaXQgb3IgMTYgYml0IHJlZ2lzdGVyIGFjY2VzcyBhbGxvdyBvbmx5IDggYml0IG9yIDE2IGJpdCBiaXQgYmFuZCBhY2Nlc3MsIHNvIGNhc3QgdG8gOCBiaXQgYWx3YXlzICovDQojZGVmaW5lIEJJVEJBTkRfUEVSSSh4LCBiKSAgKCooKF9fSU8gIHVpbnQ4X3QgKikgKEJJVEJBTkRfUEVSSV9CQVNFICsgICgoKHVpbnQzMl90KSh1aW50MzJfdCAqKSZ4KSAtIFBFUklQSF9CQVNFKSozMiArIGIqNCkpKQ0KDQovKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqDQoqIFBlcmlwaGVyYWwgcmVnaXN0ZXIgZGVmaW5pdGlvbnMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqDQoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovDQovKiogQGFkZHRvZ3JvdXAgTVNQNDMyUDQwMVJfUGVyaXBoZXJhbHMgTVNQNDMyUDQwMVIgUGVyaXBoZXJhbHMNCiAgTVNQNDMyUDQwMVIgRGV2aWNlIFNwZWNpZmljIFBlcmlwaGVyYWwgcmVnaXN0ZXJzIHN0cnVjdHVyZXMNCiAgQHsNCiovDQoNCiNpZiBkZWZpbmVkICggX19DQ19BUk0gKQ0KI3ByYWdtYSBhbm9uX3VuaW9ucw0KI2VuZGlmDQoNCg0KLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKg0KKiBBREMxNCBSZWdpc3RlcnMNCioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8NCi8qKiBAYWRkdG9ncm91cCBBREMxNCBNU1A0MzJQNDAxUiAoQURDMTQpDQogIEB7DQoqLw0KdHlwZWRlZiBzdHJ1Y3Qgew0KICBfX0lPIHVpbnQzMl90IENUTDA7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyoqPCBDb250cm9sIDAgUmVnaXN0ZXIgKi8NCiAgX19JTyB1aW50MzJfdCBDVEwxOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgQ29udHJvbCAxIFJlZ2lzdGVyICovDQogIF9fSU8gdWludDMyX3QgTE8wOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKio8IFdpbmRvdyBDb21wYXJhdG9yIExvdyBUaHJlc2hvbGQgMCBSZWdpc3RlciAqLw0KICBfX0lPIHVpbnQzMl90IEhJMDsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyoqPCBXaW5kb3cgQ29tcGFyYXRvciBIaWdoIFRocmVzaG9sZCAwIFJlZ2lzdGVyICovDQogIF9fSU8gdWludDMyX3QgTE8xOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKio8IFdpbmRvdyBDb21wYXJhdG9yIExvdyBUaHJlc2hvbGQgMSBSZWdpc3RlciAqLw0KICBfX0lPIHVpbnQzMl90IEhJMTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyoqPCBXaW5kb3cgQ29tcGFyYXRvciBIaWdoIFRocmVzaG9sZCAxIFJlZ2lzdGVyICovDQogIF9fSU8gdWludDMyX3QgTUNUTFszMl07ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKio8IENvbnZlcnNpb24gTWVtb3J5IENvbnRyb2wgUmVnaXN0ZXIgKi8NCiAgX19JTyB1aW50MzJfdCBNRU1bMzJdOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgQ29udmVyc2lvbiBNZW1vcnkgUmVnaXN0ZXIgKi8NCiAgICAgICB1aW50MzJfdCBSRVNFUlZFRDBbOV07DQogIF9fSU8gdWludDMyX3QgSUVSMDsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKio8IEludGVycnVwdCBFbmFibGUgMCBSZWdpc3RlciAqLw0KICBfX0lPIHVpbnQzMl90IElFUjE7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyoqPCBJbnRlcnJ1cHQgRW5hYmxlIDEgUmVnaXN0ZXIgKi8NCiAgX19JICB1aW50MzJfdCBJRkdSMDsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgSW50ZXJydXB0IEZsYWcgMCBSZWdpc3RlciAqLw0KICBfX0kgIHVpbnQzMl90IElGR1IxOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyoqPCBJbnRlcnJ1cHQgRmxhZyAxIFJlZ2lzdGVyICovDQogIF9fTyAgdWludDMyX3QgQ0xSSUZHUjA7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKio8IENsZWFyIEludGVycnVwdCBGbGFnIDAgUmVnaXN0ZXIgKi8NCiAgX19JTyB1aW50MzJfdCBDTFJJRkdSMTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgQ2xlYXIgSW50ZXJydXB0IEZsYWcgMSBSZWdpc3RlciAqLw0KICBfX0lPIHVpbnQzMl90IElWOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyoqPCBJbnRlcnJ1cHQgVmVjdG9yIFJlZ2lzdGVyICovDQp9IEFEQzE0X1R5cGU7DQoNCi8qQH0qLyAvKiBlbmQgb2YgZ3JvdXAgQURDMTQgKi8NCg0KDQovKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqDQoqIEFFUzI1NiBSZWdpc3RlcnMNCioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8NCi8qKiBAYWRkdG9ncm91cCBBRVMyNTYgTVNQNDMyUDQwMVIgKEFFUzI1NikNCiAgQHsNCiovDQp0eXBlZGVmIHN0cnVjdCB7DQogIF9fSU8gdWludDE2X3QgQ1RMMDsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKio8IEFFUyBBY2NlbGVyYXRvciBDb250cm9sIFJlZ2lzdGVyIDAgKi8NCiAgX19JTyB1aW50MTZfdCBDVEwxOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgQUVTIEFjY2VsZXJhdG9yIENvbnRyb2wgUmVnaXN0ZXIgMSAqLw0KICBfX0lPIHVpbnQxNl90IFNUQVQ7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyoqPCBBRVMgQWNjZWxlcmF0b3IgU3RhdHVzIFJlZ2lzdGVyICovDQogIF9fTyAgdWludDE2X3QgS0VZOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKio8IEFFUyBBY2NlbGVyYXRvciBLZXkgUmVnaXN0ZXIgKi8NCiAgX19PICB1aW50MTZfdCBESU47ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgQUVTIEFjY2VsZXJhdG9yIERhdGEgSW4gUmVnaXN0ZXIgKi8NCiAgX19PICB1aW50MTZfdCBET1VUOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgQUVTIEFjY2VsZXJhdG9yIERhdGEgT3V0IFJlZ2lzdGVyICovDQogIF9fTyAgdWludDE2X3QgWERJTjsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKio8IEFFUyBBY2NlbGVyYXRvciBYT1JlZCBEYXRhIEluIFJlZ2lzdGVyICovDQogIF9fTyAgdWludDE2X3QgWElOOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKio8IEFFUyBBY2NlbGVyYXRvciBYT1JlZCBEYXRhIEluIFJlZ2lzdGVyICovDQp9IEFFUzI1Nl9UeXBlOw0KDQovKkB9Ki8gLyogZW5kIG9mIGdyb3VwIEFFUzI1NiAqLw0KDQoNCi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioNCiogQ0FQVElPIFJlZ2lzdGVycw0KKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLw0KLyoqIEBhZGR0b2dyb3VwIENBUFRJTyBNU1A0MzJQNDAxUiAoQ0FQVElPKQ0KICBAew0KKi8NCnR5cGVkZWYgc3RydWN0IHsNCiAgICAgICB1aW50MTZfdCBSRVNFUlZFRDBbN107DQogIF9fSU8gdWludDE2X3QgQ1RMOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKio8IENhcGFjaXRpdmUgVG91Y2ggSU8geCBDb250cm9sIFJlZ2lzdGVyICovDQp9IENBUFRJT19UeXBlOw0KDQovKkB9Ki8gLyogZW5kIG9mIGdyb3VwIENBUFRJTyAqLw0KDQoNCi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioNCiogQ09NUF9FIFJlZ2lzdGVycw0KKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLw0KLyoqIEBhZGR0b2dyb3VwIENPTVBfRSBNU1A0MzJQNDAxUiAoQ09NUF9FKQ0KICBAew0KKi8NCnR5cGVkZWYgc3RydWN0IHsNCiAgX19JTyB1aW50MTZfdCBDVEwwOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgQ29tcGFyYXRvciBDb250cm9sIFJlZ2lzdGVyIDAgKi8NCiAgX19JTyB1aW50MTZfdCBDVEwxOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgQ29tcGFyYXRvciBDb250cm9sIFJlZ2lzdGVyIDEgKi8NCiAgX19JTyB1aW50MTZfdCBDVEwyOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgQ29tcGFyYXRvciBDb250cm9sIFJlZ2lzdGVyIDIgKi8NCiAgX19JTyB1aW50MTZfdCBDVEwzOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgQ29tcGFyYXRvciBDb250cm9sIFJlZ2lzdGVyIDMgKi8NCiAgICAgICB1aW50MTZfdCBSRVNFUlZFRDBbMl07DQogIF9fSU8gdWludDE2X3QgSU5UOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKio8IENvbXBhcmF0b3IgSW50ZXJydXB0IENvbnRyb2wgUmVnaXN0ZXIgKi8NCiAgX19JICB1aW50MTZfdCBJVjsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgQ29tcGFyYXRvciBJbnRlcnJ1cHQgVmVjdG9yIFdvcmQgUmVnaXN0ZXIgKi8NCn0gQ09NUF9FX1R5cGU7DQoNCi8qQH0qLyAvKiBlbmQgb2YgZ3JvdXAgQ09NUF9FICovDQoNCg0KLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKg0KKiBDUkMzMiBSZWdpc3RlcnMNCioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8NCi8qKiBAYWRkdG9ncm91cCBDUkMzMiBNU1A0MzJQNDAxUiAoQ1JDMzIpDQogIEB7DQoqLw0KdHlwZWRlZiBzdHJ1Y3Qgew0KICBfX0lPIHVpbnQxNl90IERJMzI7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyoqPCBEYXRhIElucHV0IGZvciBDUkMzMiBTaWduYXR1cmUgQ29tcHV0YXRpb24gKi8NCiAgICAgICB1aW50MTZfdCBSRVNFUlZFRDA7DQogIF9fSU8gdWludDE2X3QgRElSQjMyOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKio8IERhdGEgSW4gUmV2ZXJzZSBmb3IgQ1JDMzIgQ29tcHV0YXRpb24gKi8NCiAgICAgICB1aW50MTZfdCBSRVNFUlZFRDE7DQogIF9fSU8gdWludDE2X3QgSU5JUkVTMzJfTE87ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKio8IENSQzMyIEluaXRpYWxpemF0aW9uIGFuZCBSZXN1bHQsIGxvd2VyIDE2IGJpdHMgKi8NCiAgX19JTyB1aW50MTZfdCBJTklSRVMzMl9ISTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgQ1JDMzIgSW5pdGlhbGl6YXRpb24gYW5kIFJlc3VsdCwgdXBwZXIgMTYgYml0cyAqLw0KICBfX0lPIHVpbnQxNl90IFJFU1IzMl9MTzsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyoqPCBDUkMzMiBSZXN1bHQgUmV2ZXJzZSwgbG93ZXIgMTYgYml0cyAqLw0KICBfX0lPIHVpbnQxNl90IFJFU1IzMl9ISTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyoqPCBDUkMzMiBSZXN1bHQgUmV2ZXJzZSwgVXBwZXIgMTYgYml0cyAqLw0KICBfX0lPIHVpbnQxNl90IERJMTY7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyoqPCBEYXRhIElucHV0IGZvciBDUkMxNiBjb21wdXRhdGlvbiAqLw0KICAgICAgIHVpbnQxNl90IFJFU0VSVkVEMjsNCiAgX19JTyB1aW50MTZfdCBESVJCMTY7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgQ1JDMTYgRGF0YSBJbiBSZXZlcnNlICovDQogICAgICAgdWludDE2X3QgUkVTRVJWRUQzOw0KICBfX0lPIHVpbnQxNl90IElOSVJFUzE2OyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyoqPCBDUkMxNiBJbml0aWFsaXphdGlvbiBhbmQgUmVzdWx0IHJlZ2lzdGVyICovDQogICAgICAgdWludDE2X3QgUkVTRVJWRUQ0WzJdOw0KICBfX0lPIHVpbnQxNl90IFJFU1IxNjsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyoqPCBDUkMxNiBSZXN1bHQgUmV2ZXJzZSAqLw0KfSBDUkMzMl9UeXBlOw0KDQovKkB9Ki8gLyogZW5kIG9mIGdyb3VwIENSQzMyICovDQoNCg0KLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKg0KKiBDUyBSZWdpc3RlcnMNCioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8NCi8qKiBAYWRkdG9ncm91cCBDUyBNU1A0MzJQNDAxUiAoQ1MpDQogIEB7DQoqLw0KdHlwZWRlZiBzdHJ1Y3Qgew0KICBfX0lPIHVpbnQzMl90IEtFWTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyoqPCBLZXkgUmVnaXN0ZXIgKi8NCiAgX19JTyB1aW50MzJfdCBDVEwwOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgQ29udHJvbCAwIFJlZ2lzdGVyICovDQogIF9fSU8gdWludDMyX3QgQ1RMMTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKio8IENvbnRyb2wgMSBSZWdpc3RlciAqLw0KICBfX0lPIHVpbnQzMl90IENUTDI7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyoqPCBDb250cm9sIDIgUmVnaXN0ZXIgKi8NCiAgX19JTyB1aW50MzJfdCBDVEwzOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgQ29udHJvbCAzIFJlZ2lzdGVyICovDQogIF9fSU8gdWludDMyX3QgQ1RMNDsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKio8IENvbnRyb2wgNCBSZWdpc3RlciAqLw0KICBfX0lPIHVpbnQzMl90IENUTDU7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyoqPCBDb250cm9sIDUgUmVnaXN0ZXIgKi8NCiAgX19JTyB1aW50MzJfdCBDVEw2OyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgQ29udHJvbCA2IFJlZ2lzdGVyICovDQogIF9fSU8gdWludDMyX3QgQ1RMNzsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKio8IENvbnRyb2wgNyBSZWdpc3RlciAqLw0KICAgICAgIHVpbnQzMl90IFJFU0VSVkVEMFszXTsNCiAgX19JTyB1aW50MzJfdCBDTEtFTjsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgQ2xvY2sgRW5hYmxlIFJlZ2lzdGVyICovDQogIF9fSSAgdWludDMyX3QgU1RBVDsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKio8IFN0YXR1cyBSZWdpc3RlciAqLw0KICAgICAgIHVpbnQzMl90IFJFU0VSVkVEMVsyXTsNCiAgX19JTyB1aW50MzJfdCBJRTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgSW50ZXJydXB0IEVuYWJsZSBSZWdpc3RlciAqLw0KICAgICAgIHVpbnQzMl90IFJFU0VSVkVEMjsNCiAgX19JICB1aW50MzJfdCBJRkc7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgSW50ZXJydXB0IEZsYWcgUmVnaXN0ZXIgKi8NCiAgICAgICB1aW50MzJfdCBSRVNFUlZFRDM7DQogIF9fTyAgdWludDMyX3QgQ0xSSUZHOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKio8IENsZWFyIEludGVycnVwdCBGbGFnIFJlZ2lzdGVyICovDQogICAgICAgdWludDMyX3QgUkVTRVJWRUQ0Ow0KICBfX08gIHVpbnQzMl90IFNFVElGRzsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyoqPCBTZXQgSW50ZXJydXB0IEZsYWcgUmVnaXN0ZXIgKi8NCiAgICAgICB1aW50MzJfdCBSRVNFUlZFRDU7DQogIF9fSU8gdWludDMyX3QgRENPRVJDQUwwOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKio8IERDTyBFeHRlcm5hbCBSZXNpc3RvciBDYWlsYnJhdGlvbiAwIFJlZ2lzdGVyICovDQogIF9fSU8gdWludDMyX3QgRENPRVJDQUwxOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKio8IERDTyBFeHRlcm5hbCBSZXNpc3RvciBDYWxpYnJhdGlvbiAxIFJlZ2lzdGVyICovDQp9IENTX1R5cGU7DQoNCi8qQH0qLyAvKiBlbmQgb2YgZ3JvdXAgQ1MgKi8NCg0KLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKg0KKiBESU8gUmVnaXN0ZXJzDQoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovDQovKiogQGFkZHRvZ3JvdXAgRElPIE1TUDQzMlA0MDFSIChESU8pDQogIEB7DQoqLw0KdHlwZWRlZiBzdHJ1Y3Qgew0KICB1bmlvbiB7DQogICAgX19JIHVpbnQxNl90IElOOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyoqPCBQb3J0IFBhaXIgSW5wdXQgKi8NCiAgICBzdHJ1Y3Qgew0KICAgICAgX19JIHVpbnQ4X3QgSU5fTDsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgTG93IFBvcnQgSW5wdXQgKi8NCiAgICAgIF9fSSB1aW50OF90IElOX0g7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKio8IEhpZ2ggUG9ydCBJbnB1dCAqLw0KICAgIH07DQogIH07DQogIHVuaW9uIHsNCiAgICBfX0lPIHVpbnQxNl90IE9VVDsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKio8IFBvcnQgUGFpciBPdXRwdXQgKi8NCiAgICBzdHJ1Y3Qgew0KICAgICAgX19JTyB1aW50OF90IE9VVF9MOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgTG93IFBvcnQgT3V0cHV0ICovDQogICAgICBfX0lPIHVpbnQ4X3QgT1VUX0g7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyoqPCBIaWdoIFBvcnQgT3V0cHV0ICovDQogICAgfTsNCiAgfTsNCiAgdW5pb24gew0KICAgIF9fSU8gdWludDE2X3QgRElSOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgUG9ydCBQYWlyIERpcmVjdGlvbiAqLw0KICAgIHN0cnVjdCB7DQogICAgICBfX0lPIHVpbnQ4X3QgRElSX0w7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyoqPCBMb3cgUG9ydCBEaXJlY3Rpb24gKi8NCiAgICAgIF9fSU8gdWludDhfdCBESVJfSDsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKio8IEhpZ2ggUG9ydCBEaXJlY3Rpb24gKi8NCiAgICB9Ow0KICB9Ow0KICB1bmlvbiB7DQogICAgX19JTyB1aW50MTZfdCBSRU47ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyoqPCBQb3J0IFBhaXIgUmVzaXN0b3IgRW5hYmxlICovDQogICAgc3RydWN0IHsNCiAgICAgIF9fSU8gdWludDhfdCBSRU5fTDsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKio8IExvdyBQb3J0IFJlc2lzdG9yIEVuYWJsZSAqLw0KICAgICAgX19JTyB1aW50OF90IFJFTl9IOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgSGlnaCBQb3J0IFJlc2lzdG9yIEVuYWJsZSAqLw0KICAgIH07DQogIH07DQogIHVuaW9uIHsNCiAgICBfX0lPIHVpbnQxNl90IERTOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKio8IFBvcnQgUGFpciBEcml2ZSBTdHJlbmd0aCAqLw0KICAgIHN0cnVjdCB7DQogICAgICBfX0lPIHVpbnQ4X3QgRFNfTDsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyoqPCBMb3cgUG9ydCBEcml2ZSBTdHJlbmd0aCAqLw0KICAgICAgX19JTyB1aW50OF90IERTX0g7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgSGlnaCBQb3J0IERyaXZlIFN0cmVuZ3RoICovDQogICAgfTsNCiAgfTsNCiAgdW5pb24gew0KICAgIF9fSU8gdWludDE2X3QgU0VMMDsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgUG9ydCBQYWlyIFNlbGVjdCAwICovDQogICAgc3RydWN0IHsNCiAgICAgIF9fSU8gdWludDhfdCBTRUwwX0w7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKio8IExvdyBQb3J0IFNlbGVjdCAwICovDQogICAgICBfX0lPIHVpbnQ4X3QgU0VMMF9IOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyoqPCBIaWdoIFBvcnQgU2VsZWN0IDAgKi8NCiAgICB9Ow0KICB9Ow0KICB1bmlvbiB7DQogICAgX19JTyB1aW50MTZfdCBTRUwxOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyoqPCBQb3J0IFBhaXIgU2VsZWN0IDEgKi8NCiAgICBzdHJ1Y3Qgew0KICAgICAgX19JTyB1aW50OF90IFNFTDFfTDsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgTG93IFBvcnQgU2VsZWN0IDEgKi8NCiAgICAgIF9fSU8gdWludDhfdCBTRUwxX0g7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKio8IEhpZ2ggUG9ydCBTZWxlY3QgMSAqLw0KICAgIH07DQogIH07DQogIF9fSSAgdWludDE2X3QgSVZfTDsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyoqPCBMb3cgUG9ydCBJbnRlcnJ1cHQgVmVjdG9yIFZhbHVlICovDQogIHVpbnQxNl90ICBSRVNFUlZFRDBbM107DQogIHVuaW9uIHsNCiAgICBfX0lPIHVpbnQxNl90IFNFTEM7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKio8IFBvcnQgUGFpciBDb21wbGVtZW50IFNlbGVjdCAqLw0KICAgIHN0cnVjdCB7DQogICAgICBfX0lPIHVpbnQ4X3QgU0VMQ19MOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyoqPCBMb3cgUG9ydCBDb21wbGVtZW50IFNlbGVjdCAqLw0KICAgICAgX19JTyB1aW50OF90IFNFTENfSDsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgSGlnaCBQb3J0IENvbXBsZW1lbnQgU2VsZWN0ICovDQogICAgfTsNCiAgfTsNCiAgdW5pb24gew0KICAgIF9fSU8gdWludDE2X3QgSUVTOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgUG9ydCBQYWlyIEludGVycnVwdCBFZGdlIFNlbGVjdCAqLw0KICAgIHN0cnVjdCB7DQogICAgICBfX0lPIHVpbnQ4X3QgSUVTX0w7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyoqPCBMb3cgUG9ydCBJbnRlcnJ1cHQgRWRnZSBTZWxlY3QgKi8NCiAgICAgIF9fSU8gdWludDhfdCBJRVNfSDsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKio8IEhpZ2ggUG9ydCBJbnRlcnJ1cHQgRWRnZSBTZWxlY3QgKi8NCiAgICB9Ow0KICB9Ow0KICB1bmlvbiB7DQogICAgX19JTyB1aW50MTZfdCBJRTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyoqPCBQb3J0IFBhaXIgSW50ZXJydXB0IEVuYWJsZSAqLw0KICAgIHN0cnVjdCB7DQogICAgICBfX0lPIHVpbnQ4X3QgSUVfTDsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyoqPCBMb3cgUG9ydCBJbnRlcnJ1cHQgRW5hYmxlICovDQogICAgICBfX0lPIHVpbnQ4X3QgSUVfSDsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyoqPCBIaWdoIFBvcnQgSW50ZXJydXB0IEVuYWJsZSAqLw0KICAgIH07DQogIH07DQogIHVuaW9uIHsNCiAgICBfX0lPIHVpbnQxNl90IElGRzsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKio8IFBvcnQgUGFpciBJbnRlcnJ1cHQgRmxhZyAqLw0KICAgIHN0cnVjdCB7DQogICAgICBfX0lPIHVpbnQ4X3QgSUZHX0w7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyoqPCBMb3cgUG9ydCBJbnRlcnJ1cHQgRmxhZyAqLw0KICAgICAgX19JTyB1aW50OF90IElGR19IOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgSGlnaCBQb3J0IEludGVycnVwdCBGbGFnICovDQogICAgfTsNCiAgfTsNCiAgX19JIHVpbnQxNl90IElWX0g7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKio8IEhpZ2ggUG9ydCBJbnRlcnJ1cHQgVmVjdG9yIFZhbHVlICovDQp9IERJT19QT1JUX0ludGVycnVwdGFibGVfVHlwZTsNCg0KdHlwZWRlZiBzdHJ1Y3Qgew0KICB1bmlvbiB7DQogICAgX19JIHVpbnQxNl90IElOOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyoqPCBQb3J0IFBhaXIgSW5wdXQgKi8NCiAgICBzdHJ1Y3Qgew0KICAgICAgX19JIHVpbnQ4X3QgSU5fTDsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgTG93IFBvcnQgSW5wdXQgKi8NCiAgICAgIF9fSSB1aW50OF90IElOX0g7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKio8IEhpZ2ggUG9ydCBJbnB1dCAqLw0KICAgIH07DQogIH07DQogIHVuaW9uIHsNCiAgICBfX0lPIHVpbnQxNl90IE9VVDsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKio8IFBvcnQgUGFpciBPdXRwdXQgKi8NCiAgICBzdHJ1Y3Qgew0KICAgICAgX19JTyB1aW50OF90IE9VVF9MOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgTG93IFBvcnQgT3V0cHV0ICovDQogICAgICBfX0lPIHVpbnQ4X3QgT1VUX0g7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyoqPCBIaWdoIFBvcnQgT3V0cHV0ICovDQogICAgfTsNCiAgfTsNCiAgdW5pb24gew0KICAgIF9fSU8gdWludDE2X3QgRElSOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgUG9ydCBQYWlyIERpcmVjdGlvbiAqLw0KICAgIHN0cnVjdCB7DQogICAgICBfX0lPIHVpbnQ4X3QgRElSX0w7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyoqPCBMb3cgUG9ydCBEaXJlY3Rpb24gKi8NCiAgICAgIF9fSU8gdWludDhfdCBESVJfSDsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKio8IEhpZ2ggUG9ydCBEaXJlY3Rpb24gKi8NCiAgICB9Ow0KICB9Ow0KICB1bmlvbiB7DQogICAgX19JTyB1aW50MTZfdCBSRU47ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyoqPCBQb3J0IFBhaXIgUmVzaXN0b3IgRW5hYmxlICovDQogICAgc3RydWN0IHsNCiAgICAgIF9fSU8gdWludDhfdCBSRU5fTDsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKio8IExvdyBQb3J0IFJlc2lzdG9yIEVuYWJsZSAqLw0KICAgICAgX19JTyB1aW50OF90IFJFTl9IOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgSGlnaCBQb3J0IFJlc2lzdG9yIEVuYWJsZSAqLw0KICAgIH07DQogIH07DQogIHVuaW9uIHsNCiAgICBfX0lPIHVpbnQxNl90IERTOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKio8IFBvcnQgUGFpciBEcml2ZSBTdHJlbmd0aCAqLw0KICAgIHN0cnVjdCB7DQogICAgICBfX0lPIHVpbnQ4X3QgRFNfTDsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyoqPCBMb3cgUG9ydCBEcml2ZSBTdHJlbmd0aCAqLw0KICAgICAgX19JTyB1aW50OF90IERTX0g7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgSGlnaCBQb3J0IERyaXZlIFN0cmVuZ3RoICovDQogICAgfTsNCiAgfTsNCiAgdW5pb24gew0KICAgIF9fSU8gdWludDE2X3QgU0VMMDsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgUG9ydCBQYWlyIFNlbGVjdCAwICovDQogICAgc3RydWN0IHsNCiAgICAgIF9fSU8gdWludDhfdCBTRUwwX0w7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKio8IExvdyBQb3J0IFNlbGVjdCAwICovDQogICAgICBfX0lPIHVpbnQ4X3QgU0VMMF9IOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyoqPCBIaWdoIFBvcnQgU2VsZWN0IDAgKi8NCiAgICB9Ow0KICB9Ow0KICB1bmlvbiB7DQogICAgX19JTyB1aW50MTZfdCBTRUwxOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyoqPCBQb3J0IFBhaXIgU2VsZWN0IDEgKi8NCiAgICBzdHJ1Y3Qgew0KICAgICAgX19JTyB1aW50OF90IFNFTDFfTDsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgTG93IFBvcnQgU2VsZWN0IDEgKi8NCiAgICAgIF9fSU8gdWludDhfdCBTRUwxX0g7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKio8IEhpZ2ggUG9ydCBTZWxlY3QgMSAqLw0KICAgIH07DQogIH07DQogIHVpbnQxNl90ICBSRVNFUlZFRDBbNF07DQogIHVuaW9uIHsNCiAgICBfX0lPIHVpbnQxNl90IFNFTEM7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKio8IFBvcnQgUGFpciBDb21wbGVtZW50IFNlbGVjdCAqLw0KICAgIHN0cnVjdCB7DQogICAgICBfX0lPIHVpbnQ4X3QgU0VMQ19MOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyoqPCBMb3cgUG9ydCBDb21wbGVtZW50IFNlbGVjdCAqLw0KICAgICAgX19JTyB1aW50OF90IFNFTENfSDsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgSGlnaCBQb3J0IENvbXBsZW1lbnQgU2VsZWN0ICovDQogICAgfTsNCiAgfTsNCn0gRElPX1BPUlRfTm90X0ludGVycnVwdGFibGVfVHlwZTsNCg0KDQp0eXBlZGVmIHN0cnVjdCB7DQogIF9fSSB1aW50OF90IElOOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyoqPCBQb3J0IElucHV0ICovDQogIHVpbnQ4X3QgUkVTRVJWRUQwOw0KICBfX0lPIHVpbnQ4X3QgT1VUOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgUG9ydCBPdXRwdXQgKi8NCiAgdWludDhfdCBSRVNFUlZFRDE7DQogIF9fSU8gdWludDhfdCBESVI7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyoqPCBQb3J0IERpcmVjdGlvbiAqLw0KICB1aW50OF90IFJFU0VSVkVEMjsNCiAgX19JTyB1aW50OF90IFJFTjsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKio8IFBvcnQgUmVzaXN0b3IgRW5hYmxlICovDQogIHVpbnQ4X3QgUkVTRVJWRUQzOw0KICBfX0lPIHVpbnQ4X3QgRFM7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgUG9ydCBEcml2ZSBTdHJlbmd0aCAqLw0KICB1aW50OF90IFJFU0VSVkVENDsNCiAgX19JTyB1aW50OF90IFNFTDA7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKio8IFBvcnQgU2VsZWN0IDAgKi8NCiAgdWludDhfdCBSRVNFUlZFRDU7DQogIF9fSU8gdWludDhfdCBTRUwxOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyoqPCBQb3J0IFNlbGVjdCAxICovDQogIHVpbnQ4X3QgUkVTRVJWRUQ2Ow0KICBfX0kgIHVpbnQxNl90IElWOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgUG9ydCBJbnRlcnJ1cHQgVmVjdG9yIFZhbHVlICovDQogIHVpbnQ4X3QgUkVTRVJWRUQ3WzZdOw0KICBfX0lPIHVpbnQ4X3QgU0VMQzsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgUG9ydCBDb21wbGVtZW50IFNlbGVjdCAqLw0KICB1aW50OF90IFJFU0VSVkVEODsNCiAgX19JTyB1aW50OF90IElFUzsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKio8IFBvcnQgSW50ZXJydXB0IEVkZ2UgU2VsZWN0ICovDQogIHVpbnQ4X3QgUkVTRVJWRUQ5Ow0KICBfX0lPIHVpbnQ4X3QgSUU7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgUG9ydCBJbnRlcnJ1cHQgRW5hYmxlICovDQogIHVpbnQ4X3QgUkVTRVJWRUQxMDsNCiAgX19JTyB1aW50OF90IElGRzsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKio8IFBvcnQgSW50ZXJydXB0IEZsYWcgKi8NCn0gRElPX1BPUlRfT2RkX0ludGVycnVwdGFibGVfVHlwZTsNCg0KdHlwZWRlZiBzdHJ1Y3Qgew0KICB1aW50OF90IFJFU0VSVkVEMDsNCiAgX19JIHVpbnQ4X3QgSU47ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKio8IFBvcnQgSW5wdXQgKi8NCiAgdWludDhfdCBSRVNFUlZFRDE7DQogIF9fSU8gdWludDhfdCBPVVQ7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyoqPCBQb3J0IE91dHB1dCAqLw0KICB1aW50OF90IFJFU0VSVkVEMjsNCiAgX19JTyB1aW50OF90IERJUjsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKio8IFBvcnQgRGlyZWN0aW9uICovDQogIHVpbnQ4X3QgUkVTRVJWRUQzOw0KICBfX0lPIHVpbnQ4X3QgUkVOOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgUG9ydCBSZXNpc3RvciBFbmFibGUgKi8NCiAgdWludDhfdCBSRVNFUlZFRDQ7DQogIF9fSU8gdWludDhfdCBEUzsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyoqPCBQb3J0IERyaXZlIFN0cmVuZ3RoICovDQogIHVpbnQ4X3QgUkVTRVJWRUQ1Ow0KICBfX0lPIHVpbnQ4X3QgU0VMMDsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgUG9ydCBTZWxlY3QgMCAqLw0KICB1aW50OF90IFJFU0VSVkVENjsNCiAgX19JTyB1aW50OF90IFNFTDE7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKio8IFBvcnQgU2VsZWN0IDEgKi8NCiAgdWludDhfdCBSRVNFUlZFRDdbOV07DQogIF9fSU8gdWludDhfdCBTRUxDOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyoqPCBQb3J0IENvbXBsZW1lbnQgU2VsZWN0ICovDQogIHVpbnQ4X3QgUkVTRVJWRUQ4Ow0KICBfX0lPIHVpbnQ4X3QgSUVTOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgUG9ydCBJbnRlcnJ1cHQgRWRnZSBTZWxlY3QgKi8NCiAgdWludDhfdCBSRVNFUlZFRDk7DQogIF9fSU8gdWludDhfdCBJRTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyoqPCBQb3J0IEludGVycnVwdCBFbmFibGUgKi8NCiAgdWludDhfdCBSRVNFUlZFRDEwOw0KICBfX0lPIHVpbnQ4X3QgSUZHOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgUG9ydCBJbnRlcnJ1cHQgRmxhZyAqLw0KICBfX0kgdWludDE2X3QgSVY7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgUG9ydCBJbnRlcnJ1cHQgVmVjdG9yIFZhbHVlICovDQp9IERJT19QT1JUX0V2ZW5fSW50ZXJydXB0YWJsZV9UeXBlOw0KDQovKkB9Ki8gLyogZW5kIG9mIGdyb3VwIE1TUDQzMlA0MDFSX0RJTyAqLw0KDQoNCi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioNCiogRE1BIFJlZ2lzdGVycw0KKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLw0KLyoqIEBhZGR0b2dyb3VwIERNQSBNU1A0MzJQNDAxUiAoRE1BKQ0KICBAew0KKi8NCnR5cGVkZWYgc3RydWN0IHsNCiAgX19JICB1aW50MzJfdCBERVZJQ0VfQ0ZHOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgRGV2aWNlIENvbmZpZ3VyYXRpb24gU3RhdHVzICovDQogIF9fSU8gdWludDMyX3QgU1dfQ0hUUklHOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKio8IFNvZnR3YXJlIENoYW5uZWwgVHJpZ2dlciBSZWdpc3RlciAqLw0KICAgICAgIHVpbnQzMl90IFJFU0VSVkVEMFsyXTsNCiAgX19JTyB1aW50MzJfdCBDSF9TUkNDRkdbMzJdOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgQ2hhbm5lbCBuIFNvdXJjZSBDb25maWd1cmF0aW9uIFJlZ2lzdGVyICovDQogICAgICAgdWludDMyX3QgUkVTRVJWRUQxWzI4XTsNCiAgX19JTyB1aW50MzJfdCBJTlQxX1NSQ0NGRzsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgSW50ZXJydXB0IDEgU291cmNlIENoYW5uZWwgQ29uZmlndXJhdGlvbiAqLw0KICBfX0lPIHVpbnQzMl90IElOVDJfU1JDQ0ZHOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyoqPCBJbnRlcnJ1cHQgMiBTb3VyY2UgQ2hhbm5lbCBDb25maWd1cmF0aW9uIFJlZ2lzdGVyICovDQogIF9fSU8gdWludDMyX3QgSU5UM19TUkNDRkc7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKio8IEludGVycnVwdCAzIFNvdXJjZSBDaGFubmVsIENvbmZpZ3VyYXRpb24gUmVnaXN0ZXIgKi8NCiAgICAgICB1aW50MzJfdCBSRVNFUlZFRDI7DQogIF9fSSAgdWludDMyX3QgSU5UMF9TUkNGTEc7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKio8IEludGVycnVwdCAwIFNvdXJjZSBDaGFubmVsIEZsYWcgUmVnaXN0ZXIgKi8NCiAgX19PICB1aW50MzJfdCBJTlQwX0NMUkZMRzsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgSW50ZXJydXB0IDAgU291cmNlIENoYW5uZWwgQ2xlYXIgRmxhZyBSZWdpc3RlciAqLw0KfSBETUFfQ2hhbm5lbF9UeXBlOw0KDQp0eXBlZGVmIHN0cnVjdCB7DQogIF9fSSAgdWludDMyX3QgU1RBVDsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKio8IFN0YXR1cyBSZWdpc3RlciAqLw0KICBfX08gIHVpbnQzMl90IENGRzsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyoqPCBDb25maWd1cmF0aW9uIFJlZ2lzdGVyICovDQogIF9fSU8gdWludDMyX3QgQ1RMQkFTRTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKio8IENoYW5uZWwgQ29udHJvbCBEYXRhIEJhc2UgUG9pbnRlciBSZWdpc3RlciAqLw0KICBfX0kgIHVpbnQzMl90IEFUTEJBU0U7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyoqPCBDaGFubmVsIEFsdGVybmF0ZSBDb250cm9sIERhdGEgQmFzZSBQb2ludGVyIFJlZ2lzdGVyICovDQogIF9fSSAgdWludDMyX3QgV0FJVFNUQVQ7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKio8IENoYW5uZWwgV2FpdCBvbiBSZXF1ZXN0IFN0YXR1cyBSZWdpc3RlciAqLw0KICBfX08gIHVpbnQzMl90IFNXUkVROyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyoqPCBDaGFubmVsIFNvZnR3YXJlIFJlcXVlc3QgUmVnaXN0ZXIgKi8NCiAgX19JTyB1aW50MzJfdCBVU0VCVVJTVFNFVDsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgQ2hhbm5lbCBVc2VidXJzdCBTZXQgUmVnaXN0ZXIgKi8NCiAgX19PICB1aW50MzJfdCBVU0VCVVJTVENMUjsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgQ2hhbm5lbCBVc2VidXJzdCBDbGVhciBSZWdpc3RlciAqLw0KICBfX0lPIHVpbnQzMl90IFJFUU1BU0tTRVQ7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyoqPCBDaGFubmVsIFJlcXVlc3QgTWFzayBTZXQgUmVnaXN0ZXIgKi8NCiAgX19PICB1aW50MzJfdCBSRVFNQVNLQ0xSOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgQ2hhbm5lbCBSZXF1ZXN0IE1hc2sgQ2xlYXIgUmVnaXN0ZXIgKi8NCiAgX19JTyB1aW50MzJfdCBFTkFTRVQ7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgQ2hhbm5lbCBFbmFibGUgU2V0IFJlZ2lzdGVyICovDQogIF9fTyAgdWludDMyX3QgRU5BQ0xSOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKio8IENoYW5uZWwgRW5hYmxlIENsZWFyIFJlZ2lzdGVyICovDQogIF9fSU8gdWludDMyX3QgQUxUU0VUOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKio8IENoYW5uZWwgUHJpbWFyeS1BbHRlcm5hdGUgU2V0IFJlZ2lzdGVyICovDQogIF9fTyAgdWludDMyX3QgQUxUQ0xSOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKio8IENoYW5uZWwgUHJpbWFyeS1BbHRlcm5hdGUgQ2xlYXIgUmVnaXN0ZXIgKi8NCiAgX19JTyB1aW50MzJfdCBQUklPU0VUOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgQ2hhbm5lbCBQcmlvcml0eSBTZXQgUmVnaXN0ZXIgKi8NCiAgX19PICB1aW50MzJfdCBQUklPQ0xSOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgQ2hhbm5lbCBQcmlvcml0eSBDbGVhciBSZWdpc3RlciAqLw0KICAgICAgIHVpbnQzMl90IFJFU0VSVkVENFszXTsNCiAgX19JTyB1aW50MzJfdCBFUlJDTFI7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgQnVzIEVycm9yIENsZWFyIFJlZ2lzdGVyICovDQp9IERNQV9Db250cm9sX1R5cGU7DQoNCi8qQH0qLyAvKiBlbmQgb2YgZ3JvdXAgRE1BICovDQoNCg0KLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKg0KKiBFVVNDSV9BIFJlZ2lzdGVycw0KKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLw0KLyoqIEBhZGR0b2dyb3VwIEVVU0NJX0EgTVNQNDMyUDQwMVIgKEVVU0NJX0EpDQogIEB7DQoqLw0KdHlwZWRlZiBzdHJ1Y3Qgew0KICBfX0lPIHVpbnQxNl90IENUTFcwOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyoqPCBlVVNDSV9BeCBDb250cm9sIFdvcmQgUmVnaXN0ZXIgMCAqLw0KICBfX0lPIHVpbnQxNl90IENUTFcxOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyoqPCBlVVNDSV9BeCBDb250cm9sIFdvcmQgUmVnaXN0ZXIgMSAqLw0KICAgICAgIHVpbnQxNl90IFJFU0VSVkVEMDsNCiAgX19JTyB1aW50MTZfdCBCUlc7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgZVVTQ0lfQXggQmF1ZCBSYXRlIENvbnRyb2wgV29yZCBSZWdpc3RlciAqLw0KICBfX0lPIHVpbnQxNl90IE1DVExXOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyoqPCBlVVNDSV9BeCBNb2R1bGF0aW9uIENvbnRyb2wgV29yZCBSZWdpc3RlciAqLw0KICBfX0lPIHVpbnQxNl90IFNUQVRXOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyoqPCBlVVNDSV9BeCBTdGF0dXMgUmVnaXN0ZXIgKi8NCiAgX19JICB1aW50MTZfdCBSWEJVRjsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgZVVTQ0lfQXggUmVjZWl2ZSBCdWZmZXIgUmVnaXN0ZXIgKi8NCiAgX19JTyB1aW50MTZfdCBUWEJVRjsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgZVVTQ0lfQXggVHJhbnNtaXQgQnVmZmVyIFJlZ2lzdGVyICovDQogIF9fSU8gdWludDE2X3QgQUJDVEw7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKio8IGVVU0NJX0F4IEF1dG8gQmF1ZCBSYXRlIENvbnRyb2wgUmVnaXN0ZXIgKi8NCiAgX19JTyB1aW50MTZfdCBJUkNUTDsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgZVVTQ0lfQXggSXJEQSBDb250cm9sIFdvcmQgUmVnaXN0ZXIgKi8NCiAgICAgICB1aW50MTZfdCBSRVNFUlZFRDFbM107DQogIF9fSU8gdWludDE2X3QgSUU7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKio8IGVVU0NJX0F4IEludGVycnVwdCBFbmFibGUgUmVnaXN0ZXIgKi8NCiAgX19JTyB1aW50MTZfdCBJRkc7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgZVVTQ0lfQXggSW50ZXJydXB0IEZsYWcgUmVnaXN0ZXIgKi8NCiAgX19JICB1aW50MTZfdCBJVjsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgZVVTQ0lfQXggSW50ZXJydXB0IFZlY3RvciBSZWdpc3RlciAqLw0KfSBFVVNDSV9BX1R5cGU7DQoNCi8qQH0qLyAvKiBlbmQgb2YgZ3JvdXAgRVVTQ0lfQSAqLw0KDQovKiogQGFkZHRvZ3JvdXAgRVVTQ0lfQV9TUEkgTVNQNDMyUDQwMVIgKEVVU0NJX0FfU1BJKQ0KICBAew0KKi8NCnR5cGVkZWYgc3RydWN0IHsNCiAgX19JTyB1aW50MTZfdCBDVExXMDsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgZVVTQ0lfQXggQ29udHJvbCBXb3JkIFJlZ2lzdGVyIDAgKi8NCiAgICAgICB1aW50MTZfdCBSRVNFUlZFRDBbMl07DQogIF9fSU8gdWludDE2X3QgQlJXOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKio8IGVVU0NJX0F4IEJpdCBSYXRlIENvbnRyb2wgUmVnaXN0ZXIgMSAqLw0KICAgICAgIHVpbnQxNl90IFJFU0VSVkVEMTsNCiAgX19JTyB1aW50MTZfdCBTVEFUVzsNCiAgX19JICB1aW50MTZfdCBSWEJVRjsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgZVVTQ0lfQXggUmVjZWl2ZSBCdWZmZXIgUmVnaXN0ZXIgKi8NCiAgX19JTyB1aW50MTZfdCBUWEJVRjsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgZVVTQ0lfQXggVHJhbnNtaXQgQnVmZmVyIFJlZ2lzdGVyICovDQogICAgICAgdWludDE2X3QgUkVTRVJWRUQyWzVdOw0KICBfX0lPIHVpbnQxNl90IElFOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyoqPCBlVVNDSV9BeCBJbnRlcnJ1cHQgRW5hYmxlIFJlZ2lzdGVyICovDQogIF9fSU8gdWludDE2X3QgSUZHOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKio8IGVVU0NJX0F4IEludGVycnVwdCBGbGFnIFJlZ2lzdGVyICovDQogIF9fSSAgdWludDE2X3QgSVY7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKio8IGVVU0NJX0F4IEludGVycnVwdCBWZWN0b3IgUmVnaXN0ZXIgKi8NCn0gRVVTQ0lfQV9TUElfVHlwZTsNCg0KLypAfSovIC8qIGVuZCBvZiBncm91cCBFVVNDSV9BX1NQSSAqLw0KDQoNCi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioNCiogRVVTQ0lfQiBSZWdpc3RlcnMNCioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8NCi8qKiBAYWRkdG9ncm91cCBFVVNDSV9CIE1TUDQzMlA0MDFSIChFVVNDSV9CKQ0KICBAew0KKi8NCnR5cGVkZWYgc3RydWN0IHsNCiAgX19JTyB1aW50MTZfdCBDVExXMDsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgZVVTQ0lfQnggQ29udHJvbCBXb3JkIFJlZ2lzdGVyIDAgKi8NCiAgX19JTyB1aW50MTZfdCBDVExXMTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgZVVTQ0lfQnggQ29udHJvbCBXb3JkIFJlZ2lzdGVyIDEgKi8NCiAgICAgICB1aW50MTZfdCBSRVNFUlZFRDA7DQogIF9fSU8gdWludDE2X3QgQlJXOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKio8IGVVU0NJX0J4IEJhdWQgUmF0ZSBDb250cm9sIFdvcmQgUmVnaXN0ZXIgKi8NCiAgX19JTyB1aW50MTZfdCBTVEFUVzsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgZVVTQ0lfQnggU3RhdHVzIFJlZ2lzdGVyICovDQogIF9fSU8gdWludDE2X3QgVEJDTlQ7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKio8IGVVU0NJX0J4IEJ5dGUgQ291bnRlciBUaHJlc2hvbGQgUmVnaXN0ZXIgKi8NCiAgX19JICB1aW50MTZfdCBSWEJVRjsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgZVVTQ0lfQnggUmVjZWl2ZSBCdWZmZXIgUmVnaXN0ZXIgKi8NCiAgX19JTyB1aW50MTZfdCBUWEJVRjsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgZVVTQ0lfQnggVHJhbnNtaXQgQnVmZmVyIFJlZ2lzdGVyICovDQogICAgICAgdWludDE2X3QgUkVTRVJWRUQxWzJdOw0KICBfX0lPIHVpbnQxNl90IEkyQ09BMDsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyoqPCBlVVNDSV9CeCBJMkMgT3duIEFkZHJlc3MgMCBSZWdpc3RlciAqLw0KICBfX0lPIHVpbnQxNl90IEkyQ09BMTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyoqPCBlVVNDSV9CeCBJMkMgT3duIEFkZHJlc3MgMSBSZWdpc3RlciAqLw0KICBfX0lPIHVpbnQxNl90IEkyQ09BMjsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyoqPCBlVVNDSV9CeCBJMkMgT3duIEFkZHJlc3MgMiBSZWdpc3RlciAqLw0KICBfX0lPIHVpbnQxNl90IEkyQ09BMzsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyoqPCBlVVNDSV9CeCBJMkMgT3duIEFkZHJlc3MgMyBSZWdpc3RlciAqLw0KICBfX0kgIHVpbnQxNl90IEFERFJYOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyoqPCBlVVNDSV9CeCBJMkMgUmVjZWl2ZWQgQWRkcmVzcyBSZWdpc3RlciAqLw0KICBfX0lPIHVpbnQxNl90IEFERE1BU0s7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyoqPCBlVVNDSV9CeCBJMkMgQWRkcmVzcyBNYXNrIFJlZ2lzdGVyICovDQogIF9fSU8gdWludDE2X3QgSTJDU0E7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKio8IGVVU0NJX0J4IEkyQyBTbGF2ZSBBZGRyZXNzIFJlZ2lzdGVyICovDQogICAgICAgdWludDE2X3QgUkVTRVJWRUQyWzRdOw0KICBfX0lPIHVpbnQxNl90IElFOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyoqPCBlVVNDSV9CeCBJbnRlcnJ1cHQgRW5hYmxlIFJlZ2lzdGVyICovDQogIF9fSU8gdWludDE2X3QgSUZHOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKio8IGVVU0NJX0J4IEludGVycnVwdCBGbGFnIFJlZ2lzdGVyICovDQogIF9fSSAgdWludDE2X3QgSVY7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKio8IGVVU0NJX0J4IEludGVycnVwdCBWZWN0b3IgUmVnaXN0ZXIgKi8NCn0gRVVTQ0lfQl9UeXBlOw0KDQovKkB9Ki8gLyogZW5kIG9mIGdyb3VwIEVVU0NJX0IgKi8NCg0KLyoqIEBhZGR0b2dyb3VwIEVVU0NJX0JfU1BJIE1TUDQzMlA0MDFSIChFVVNDSV9CX1NQSSkNCiAgQHsNCiovDQp0eXBlZGVmIHN0cnVjdCB7DQogIF9fSU8gdWludDE2X3QgQ1RMVzA7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKio8IGVVU0NJX0J4IENvbnRyb2wgV29yZCBSZWdpc3RlciAwICovDQogICAgICAgdWludDE2X3QgUkVTRVJWRUQwWzJdOw0KICBfX0lPIHVpbnQxNl90IEJSVzsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyoqPCBlVVNDSV9CeCBCaXQgUmF0ZSBDb250cm9sIFJlZ2lzdGVyIDEgKi8NCiAgX19JTyB1aW50MTZfdCBTVEFUVzsNCiAgICAgICB1aW50MTZfdCBSRVNFUlZFRDE7DQogIF9fSSAgdWludDE2X3QgUlhCVUY7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKio8IGVVU0NJX0J4IFJlY2VpdmUgQnVmZmVyIFJlZ2lzdGVyICovDQogIF9fSU8gdWludDE2X3QgVFhCVUY7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKio8IGVVU0NJX0J4IFRyYW5zbWl0IEJ1ZmZlciBSZWdpc3RlciAqLw0KICAgICAgIHVpbnQxNl90IFJFU0VSVkVEMlsxM107DQogIF9fSU8gdWludDE2X3QgSUU7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKio8IGVVU0NJX0J4IEludGVycnVwdCBFbmFibGUgUmVnaXN0ZXIgKi8NCiAgX19JTyB1aW50MTZfdCBJRkc7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgZVVTQ0lfQnggSW50ZXJydXB0IEZsYWcgUmVnaXN0ZXIgKi8NCiAgX19JICB1aW50MTZfdCBJVjsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgZVVTQ0lfQnggSW50ZXJydXB0IFZlY3RvciBSZWdpc3RlciAqLw0KfSBFVVNDSV9CX1NQSV9UeXBlOw0KDQovKkB9Ki8gLyogZW5kIG9mIGdyb3VwIEVVU0NJX0JfU1BJICovDQoNCg0KLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKg0KKiBGTENUTCBSZWdpc3RlcnMNCioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8NCi8qKiBAYWRkdG9ncm91cCBGTENUTCBNU1A0MzJQNDAxUiAoRkxDVEwpDQogIEB7DQoqLw0KdHlwZWRlZiBzdHJ1Y3Qgew0KICBfX0kgIHVpbnQzMl90IFBPV0VSX1NUQVQ7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyoqPCBQb3dlciBTdGF0dXMgUmVnaXN0ZXIgKi8NCiAgICAgICB1aW50MzJfdCBSRVNFUlZFRDBbM107DQogIF9fSU8gdWludDMyX3QgQkFOSzBfUkRDVEw7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKio8IEJhbmswIFJlYWQgQ29udHJvbCBSZWdpc3RlciAqLw0KICBfX0lPIHVpbnQzMl90IEJBTksxX1JEQ1RMOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyoqPCBCYW5rMSBSZWFkIENvbnRyb2wgUmVnaXN0ZXIgKi8NCiAgICAgICB1aW50MzJfdCBSRVNFUlZFRDFbMl07DQogIF9fSU8gdWludDMyX3QgUkRCUlNUX0NUTFNUQVQ7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKio8IFJlYWQgQnVyc3QvQ29tcGFyZSBDb250cm9sIGFuZCBTdGF0dXMgUmVnaXN0ZXIgKi8NCiAgX19JTyB1aW50MzJfdCBSREJSU1RfU1RBUlRBRERSOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgUmVhZCBCdXJzdC9Db21wYXJlIFN0YXJ0IEFkZHJlc3MgUmVnaXN0ZXIgKi8NCiAgX19JTyB1aW50MzJfdCBSREJSU1RfTEVOOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgUmVhZCBCdXJzdC9Db21wYXJlIExlbmd0aCBSZWdpc3RlciAqLw0KICAgICAgIHVpbnQzMl90IFJFU0VSVkVEMls0XTsNCiAgX19JTyB1aW50MzJfdCBSREJSU1RfRkFJTEFERFI7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgUmVhZCBCdXJzdC9Db21wYXJlIEZhaWwgQWRkcmVzcyBSZWdpc3RlciAqLw0KICBfX0lPIHVpbnQzMl90IFJEQlJTVF9GQUlMQ05UOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyoqPCBSZWFkIEJ1cnN0L0NvbXBhcmUgRmFpbCBDb3VudCBSZWdpc3RlciAqLw0KICAgICAgIHVpbnQzMl90IFJFU0VSVkVEM1szXTsNCiAgX19JTyB1aW50MzJfdCBQUkdfQ1RMU1RBVDsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgUHJvZ3JhbSBDb250cm9sIGFuZCBTdGF0dXMgUmVnaXN0ZXIgKi8NCiAgX19JTyB1aW50MzJfdCBQUkdCUlNUX0NUTFNUQVQ7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgUHJvZ3JhbSBCdXJzdCBDb250cm9sIGFuZCBTdGF0dXMgUmVnaXN0ZXIgKi8NCiAgX19JTyB1aW50MzJfdCBQUkdCUlNUX1NUQVJUQUREUjsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgUHJvZ3JhbSBCdXJzdCBTdGFydCBBZGRyZXNzIFJlZ2lzdGVyICovDQogICAgICAgdWludDMyX3QgUkVTRVJWRUQ0Ow0KICBfX0lPIHVpbnQzMl90IFBSR0JSU1RfREFUQTBfMDsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyoqPCBQcm9ncmFtIEJ1cnN0IERhdGEwIFJlZ2lzdGVyMCAqLw0KICBfX0lPIHVpbnQzMl90IFBSR0JSU1RfREFUQTBfMTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyoqPCBQcm9ncmFtIEJ1cnN0IERhdGEwIFJlZ2lzdGVyMSAqLw0KICBfX0lPIHVpbnQzMl90IFBSR0JSU1RfREFUQTBfMjsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyoqPCBQcm9ncmFtIEJ1cnN0IERhdGEwIFJlZ2lzdGVyMiAqLw0KICBfX0lPIHVpbnQzMl90IFBSR0JSU1RfREFUQTBfMzsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyoqPCBQcm9ncmFtIEJ1cnN0IERhdGEwIFJlZ2lzdGVyMyAqLw0KICBfX0lPIHVpbnQzMl90IFBSR0JSU1RfREFUQTFfMDsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyoqPCBQcm9ncmFtIEJ1cnN0IERhdGExIFJlZ2lzdGVyMCAqLw0KICBfX0lPIHVpbnQzMl90IFBSR0JSU1RfREFUQTFfMTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyoqPCBQcm9ncmFtIEJ1cnN0IERhdGExIFJlZ2lzdGVyMSAqLw0KICBfX0lPIHVpbnQzMl90IFBSR0JSU1RfREFUQTFfMjsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyoqPCBQcm9ncmFtIEJ1cnN0IERhdGExIFJlZ2lzdGVyMiAqLw0KICBfX0lPIHVpbnQzMl90IFBSR0JSU1RfREFUQTFfMzsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyoqPCBQcm9ncmFtIEJ1cnN0IERhdGExIFJlZ2lzdGVyMyAqLw0KICBfX0lPIHVpbnQzMl90IFBSR0JSU1RfREFUQTJfMDsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyoqPCBQcm9ncmFtIEJ1cnN0IERhdGEyIFJlZ2lzdGVyMCAqLw0KICBfX0lPIHVpbnQzMl90IFBSR0JSU1RfREFUQTJfMTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyoqPCBQcm9ncmFtIEJ1cnN0IERhdGEyIFJlZ2lzdGVyMSAqLw0KICBfX0lPIHVpbnQzMl90IFBSR0JSU1RfREFUQTJfMjsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyoqPCBQcm9ncmFtIEJ1cnN0IERhdGEyIFJlZ2lzdGVyMiAqLw0KICBfX0lPIHVpbnQzMl90IFBSR0JSU1RfREFUQTJfMzsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyoqPCBQcm9ncmFtIEJ1cnN0IERhdGEyIFJlZ2lzdGVyMyAqLw0KICBfX0lPIHVpbnQzMl90IFBSR0JSU1RfREFUQTNfMDsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyoqPCBQcm9ncmFtIEJ1cnN0IERhdGEzIFJlZ2lzdGVyMCAqLw0KICBfX0lPIHVpbnQzMl90IFBSR0JSU1RfREFUQTNfMTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyoqPCBQcm9ncmFtIEJ1cnN0IERhdGEzIFJlZ2lzdGVyMSAqLw0KICBfX0lPIHVpbnQzMl90IFBSR0JSU1RfREFUQTNfMjsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyoqPCBQcm9ncmFtIEJ1cnN0IERhdGEzIFJlZ2lzdGVyMiAqLw0KICBfX0lPIHVpbnQzMl90IFBSR0JSU1RfREFUQTNfMzsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyoqPCBQcm9ncmFtIEJ1cnN0IERhdGEzIFJlZ2lzdGVyMyAqLw0KICBfX0lPIHVpbnQzMl90IEVSQVNFX0NUTFNUQVQ7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyoqPCBFcmFzZSBDb250cm9sIGFuZCBTdGF0dXMgUmVnaXN0ZXIgKi8NCiAgX19JTyB1aW50MzJfdCBFUkFTRV9TRUNUQUREUjsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgRXJhc2UgU2VjdG9yIEFkZHJlc3MgUmVnaXN0ZXIgKi8NCiAgICAgICB1aW50MzJfdCBSRVNFUlZFRDVbMl07DQogIF9fSU8gdWludDMyX3QgQkFOSzBfSU5GT19XRVBST1Q7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKio8IEluZm9ybWF0aW9uIE1lbW9yeSBCYW5rMCBXcml0ZS9FcmFzZSBQcm90ZWN0aW9uIFJlZ2lzdGVyICovDQogIF9fSU8gdWludDMyX3QgQkFOSzBfTUFJTl9XRVBST1Q7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKio8IE1haW4gTWVtb3J5IEJhbmswIFdyaXRlL0VyYXNlIFByb3RlY3Rpb24gUmVnaXN0ZXIgKi8NCiAgICAgICB1aW50MzJfdCBSRVNFUlZFRDZbMl07DQogIF9fSU8gdWludDMyX3QgQkFOSzFfSU5GT19XRVBST1Q7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKio8IEluZm9ybWF0aW9uIE1lbW9yeSBCYW5rMSBXcml0ZS9FcmFzZSBQcm90ZWN0aW9uIFJlZ2lzdGVyICovDQogIF9fSU8gdWludDMyX3QgQkFOSzFfTUFJTl9XRVBST1Q7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKio8IE1haW4gTWVtb3J5IEJhbmsxIFdyaXRlL0VyYXNlIFByb3RlY3Rpb24gUmVnaXN0ZXIgKi8NCiAgICAgICB1aW50MzJfdCBSRVNFUlZFRDdbMl07DQogIF9fSU8gdWludDMyX3QgQk1SS19DVExTVEFUOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKio8IEJlbmNobWFyayBDb250cm9sIGFuZCBTdGF0dXMgUmVnaXN0ZXIgKi8NCiAgX19JTyB1aW50MzJfdCBCTVJLX0lGRVRDSDsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgQmVuY2htYXJrIEluc3RydWN0aW9uIEZldGNoIENvdW50IFJlZ2lzdGVyICovDQogIF9fSU8gdWludDMyX3QgQk1SS19EUkVBRDsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKio8IEJlbmNobWFyayBEYXRhIFJlYWQgQ291bnQgUmVnaXN0ZXIgKi8NCiAgX19JTyB1aW50MzJfdCBCTVJLX0NNUDsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgQmVuY2htYXJrIENvdW50IENvbXBhcmUgUmVnaXN0ZXIgKi8NCiAgICAgICB1aW50MzJfdCBSRVNFUlZFRDhbNF07DQogIF9fSU8gdWludDMyX3QgSUZHOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKio8IEludGVycnVwdCBGbGFnIFJlZ2lzdGVyICovDQogIF9fSU8gdWludDMyX3QgSUU7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKio8IEludGVycnVwdCBFbmFibGUgUmVnaXN0ZXIgKi8NCiAgX19JTyB1aW50MzJfdCBDTFJJRkc7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgQ2xlYXIgSW50ZXJydXB0IEZsYWcgUmVnaXN0ZXIgKi8NCiAgX19JTyB1aW50MzJfdCBTRVRJRkc7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgU2V0IEludGVycnVwdCBGbGFnIFJlZ2lzdGVyICovDQogIF9fSSAgdWludDMyX3QgUkVBRF9USU1DVEw7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKio8IFJlYWQgVGltaW5nIENvbnRyb2wgUmVnaXN0ZXIgKi8NCiAgX19JICB1aW50MzJfdCBSRUFETUFSR0lOX1RJTUNUTDsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgUmVhZCBNYXJnaW4gVGltaW5nIENvbnRyb2wgUmVnaXN0ZXIgKi8NCiAgX19JICB1aW50MzJfdCBQUkdWRVJfVElNQ1RMOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgUHJvZ3JhbSBWZXJpZnkgVGltaW5nIENvbnRyb2wgUmVnaXN0ZXIgKi8NCiAgX19JICB1aW50MzJfdCBFUlNWRVJfVElNQ1RMOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgRXJhc2UgVmVyaWZ5IFRpbWluZyBDb250cm9sIFJlZ2lzdGVyICovDQogIF9fSSAgdWludDMyX3QgTEtHVkVSX1RJTUNUTDsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKio8IExlYWthZ2UgVmVyaWZ5IFRpbWluZyBDb250cm9sIFJlZ2lzdGVyICovDQogIF9fSSAgdWludDMyX3QgUFJPR1JBTV9USU1DVEw7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKio8IFByb2dyYW0gVGltaW5nIENvbnRyb2wgUmVnaXN0ZXIgKi8NCiAgX19JICB1aW50MzJfdCBFUkFTRV9USU1DVEw7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgRXJhc2UgVGltaW5nIENvbnRyb2wgUmVnaXN0ZXIgKi8NCiAgX19JICB1aW50MzJfdCBNQVNTRVJBU0VfVElNQ1RMOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgTWFzcyBFcmFzZSBUaW1pbmcgQ29udHJvbCBSZWdpc3RlciAqLw0KICBfX0kgIHVpbnQzMl90IEJVUlNUUFJHX1RJTUNUTDsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyoqPCBCdXJzdCBQcm9ncmFtIFRpbWluZyBDb250cm9sIFJlZ2lzdGVyICovDQp9IEZMQ1RMX1R5cGU7DQoNCi8qQH0qLyAvKiBlbmQgb2YgZ3JvdXAgRkxDVEwgKi8NCg0KDQovKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqDQoqIFBDTSBSZWdpc3RlcnMNCioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8NCi8qKiBAYWRkdG9ncm91cCBQQ00gTVNQNDMyUDQwMVIgKFBDTSkNCiAgQHsNCiovDQp0eXBlZGVmIHN0cnVjdCB7DQogIF9fSU8gdWludDMyX3QgQ1RMMDsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKio8IENvbnRyb2wgMCBSZWdpc3RlciAqLw0KICBfX0lPIHVpbnQzMl90IENUTDE7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyoqPCBDb250cm9sIDEgUmVnaXN0ZXIgKi8NCiAgX19JTyB1aW50MzJfdCBJRTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgSW50ZXJydXB0IEVuYWJsZSBSZWdpc3RlciAqLw0KICBfX0kgIHVpbnQzMl90IElGRzsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyoqPCBJbnRlcnJ1cHQgRmxhZyBSZWdpc3RlciAqLw0KICBfX08gIHVpbnQzMl90IENMUklGRzsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyoqPCBDbGVhciBJbnRlcnJ1cHQgRmxhZyBSZWdpc3RlciAqLw0KfSBQQ01fVHlwZTsNCg0KLypAfSovIC8qIGVuZCBvZiBncm91cCBQQ00gKi8NCg0KLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKg0KKiBQTUFQIFJlZ2lzdGVycw0KKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLw0KLyoqIEBhZGR0b2dyb3VwIFBNQVAgTVNQNDMyUDQwMVIgKFBNQVApDQogIEB7DQoqLw0KdHlwZWRlZiBzdHJ1Y3Qgew0KICBfX0lPIHVpbnQxNl90IEtFWUlEOw0KICBfX0lPIHVpbnQxNl90IENUTDsNCn0gUE1BUF9DT01NT05fVHlwZTsNCg0KdHlwZWRlZiBzdHJ1Y3Qgew0KICB1bmlvbiB7DQogICAgX19JTyB1aW50MTZfdCBQTUFQX1JFR0lTVEVSWzRdOw0KICAgIHN0cnVjdCB7DQogICAgICBfX0lPIHVpbnQ4X3QgUE1BUF9SRUdJU1RFUjA7DQogICAgICBfX0lPIHVpbnQ4X3QgUE1BUF9SRUdJU1RFUjE7DQogICAgICBfX0lPIHVpbnQ4X3QgUE1BUF9SRUdJU1RFUjI7DQogICAgICBfX0lPIHVpbnQ4X3QgUE1BUF9SRUdJU1RFUjM7DQogICAgICBfX0lPIHVpbnQ4X3QgUE1BUF9SRUdJU1RFUjQ7DQogICAgICBfX0lPIHVpbnQ4X3QgUE1BUF9SRUdJU1RFUjU7DQogICAgICBfX0lPIHVpbnQ4X3QgUE1BUF9SRUdJU1RFUjY7DQogICAgICBfX0lPIHVpbnQ4X3QgUE1BUF9SRUdJU1RFUjc7DQogICAgfTsNCiAgfTsNCn0gUE1BUF9SRUdJU1RFUl9UeXBlOw0KDQovKkB9Ki8gLyogZW5kIG9mIGdyb3VwIFBNQVAgKi8NCg0KDQovKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqDQoqIFBTUyBSZWdpc3RlcnMNCioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8NCi8qKiBAYWRkdG9ncm91cCBQU1MgTVNQNDMyUDQwMVIgKFBTUykNCiAgQHsNCiovDQp0eXBlZGVmIHN0cnVjdCB7DQogIF9fSU8gdWludDMyX3QgS0VZOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKio8IEtleSBSZWdpc3RlciAqLw0KICBfX0lPIHVpbnQzMl90IENUTDA7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyoqPCBDb250cm9sIDAgUmVnaXN0ZXIgKi8NCiAgICAgICB1aW50MzJfdCBSRVNFUlZFRDBbMTFdOw0KICBfX0lPIHVpbnQzMl90IElFOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyoqPCBJbnRlcnJ1cHQgRW5hYmxlIFJlZ2lzdGVyICovDQogIF9fSSAgdWludDMyX3QgSUZHOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKio8IEludGVycnVwdCBGbGFnIFJlZ2lzdGVyICovDQogIF9fSU8gdWludDMyX3QgQ0xSSUZHOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKio8IENsZWFyIEludGVycnVwdCBGbGFnIFJlZ2lzdGVyICovDQp9IFBTU19UeXBlOw0KDQovKkB9Ki8gLyogZW5kIG9mIGdyb3VwIFBTUyAqLw0KDQoNCi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioNCiogUkVGX0EgUmVnaXN0ZXJzDQoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovDQovKiogQGFkZHRvZ3JvdXAgUkVGX0EgTVNQNDMyUDQwMVIgKFJFRl9BKQ0KICBAew0KKi8NCnR5cGVkZWYgc3RydWN0IHsNCiAgX19JTyB1aW50MTZfdCBDVEwwOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgUkVGIENvbnRyb2wgUmVnaXN0ZXIgMCAqLw0KfSBSRUZfQV9UeXBlOw0KDQovKkB9Ki8gLyogZW5kIG9mIGdyb3VwIFJFRl9BICovDQoNCg0KLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKg0KKiBSU1RDVEwgUmVnaXN0ZXJzDQoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovDQovKiogQGFkZHRvZ3JvdXAgUlNUQ1RMIE1TUDQzMlA0MDFSIChSU1RDVEwpDQogIEB7DQoqLw0KdHlwZWRlZiBzdHJ1Y3Qgew0KICBfX0lPIHVpbnQzMl90IFJFU0VUX1JFUTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyoqPCBSZXNldCBSZXF1ZXN0IFJlZ2lzdGVyICovDQogIF9fSSAgdWludDMyX3QgSEFSRFJFU0VUX1NUQVQ7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKio8IEhhcmQgUmVzZXQgU3RhdHVzIFJlZ2lzdGVyICovDQogIF9fSU8gdWludDMyX3QgSEFSRFJFU0VUX0NMUjsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKio8IEhhcmQgUmVzZXQgU3RhdHVzIENsZWFyIFJlZ2lzdGVyICovDQogIF9fSU8gdWludDMyX3QgSEFSRFJFU0VUX1NFVDsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKio8IEhhcmQgUmVzZXQgU3RhdHVzIFNldCBSZWdpc3RlciAqLw0KICBfX0kgIHVpbnQzMl90IFNPRlRSRVNFVF9TVEFUOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyoqPCBTb2Z0IFJlc2V0IFN0YXR1cyBSZWdpc3RlciAqLw0KICBfX0lPIHVpbnQzMl90IFNPRlRSRVNFVF9DTFI7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyoqPCBTb2Z0IFJlc2V0IFN0YXR1cyBDbGVhciBSZWdpc3RlciAqLw0KICBfX0lPIHVpbnQzMl90IFNPRlRSRVNFVF9TRVQ7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyoqPCBTb2Z0IFJlc2V0IFN0YXR1cyBTZXQgUmVnaXN0ZXIgKi8NCiAgICAgICB1aW50MzJfdCBSRVNFUlZFRDBbNTddOw0KICBfX0kgIHVpbnQzMl90IFBTU1JFU0VUX1NUQVQ7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyoqPCBQU1MgUmVzZXQgU3RhdHVzIFJlZ2lzdGVyICovDQogIF9fSU8gdWludDMyX3QgUFNTUkVTRVRfQ0xSOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKio8IFBTUyBSZXNldCBTdGF0dXMgQ2xlYXIgUmVnaXN0ZXIgKi8NCiAgX19JICB1aW50MzJfdCBQQ01SRVNFVF9TVEFUOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgUENNIFJlc2V0IFN0YXR1cyBSZWdpc3RlciAqLw0KICBfX0lPIHVpbnQzMl90IFBDTVJFU0VUX0NMUjsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyoqPCBQQ00gUmVzZXQgU3RhdHVzIENsZWFyIFJlZ2lzdGVyICovDQogIF9fSSAgdWludDMyX3QgUElOUkVTRVRfU1RBVDsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKio8IFBpbiBSZXNldCBTdGF0dXMgUmVnaXN0ZXIgKi8NCiAgX19JTyB1aW50MzJfdCBQSU5SRVNFVF9DTFI7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgUGluIFJlc2V0IFN0YXR1cyBDbGVhciBSZWdpc3RlciAqLw0KICBfX0kgIHVpbnQzMl90IFJFQk9PVFJFU0VUX1NUQVQ7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyoqPCBSZWJvb3QgUmVzZXQgU3RhdHVzIFJlZ2lzdGVyICovDQogIF9fSU8gdWludDMyX3QgUkVCT09UUkVTRVRfQ0xSOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKio8IFJlYm9vdCBSZXNldCBTdGF0dXMgQ2xlYXIgUmVnaXN0ZXIgKi8NCiAgX19JICB1aW50MzJfdCBDU1JFU0VUX1NUQVQ7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgQ1MgUmVzZXQgU3RhdHVzIFJlZ2lzdGVyICovDQogIF9fSU8gdWludDMyX3QgQ1NSRVNFVF9DTFI7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKio8IENTIFJlc2V0IFN0YXR1cyBDbGVhciBSZWdpc3RlciAqLw0KfSBSU1RDVExfVHlwZTsNCg0KLypAfSovIC8qIGVuZCBvZiBncm91cCBSU1RDVEwgKi8NCg0KDQovKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqDQoqIFJUQ19DIFJlZ2lzdGVycw0KKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLw0KLyoqIEBhZGR0b2dyb3VwIFJUQ19DIE1TUDQzMlA0MDFSIChSVENfQykNCiAgQHsNCiovDQp0eXBlZGVmIHN0cnVjdCB7DQogIF9fSU8gdWludDE2X3QgQ1RMMDsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKio8IFJUQ0NUTDAgUmVnaXN0ZXIgKi8NCiAgX19JTyB1aW50MTZfdCBDVEwxMzsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgUlRDQ1RMMTMgUmVnaXN0ZXIgKi8NCiAgX19JTyB1aW50MTZfdCBPQ0FMOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgUlRDT0NBTCBSZWdpc3RlciAqLw0KICBfX0lPIHVpbnQxNl90IFRDTVA7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyoqPCBSVENUQ01QIFJlZ2lzdGVyICovDQogIF9fSU8gdWludDE2X3QgUFMwQ1RMOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKio8IFJlYWwtVGltZSBDbG9jayBQcmVzY2FsZSBUaW1lciAwIENvbnRyb2wgUmVnaXN0ZXIgKi8NCiAgX19JTyB1aW50MTZfdCBQUzFDVEw7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgUmVhbC1UaW1lIENsb2NrIFByZXNjYWxlIFRpbWVyIDEgQ29udHJvbCBSZWdpc3RlciAqLw0KICBfX0lPIHVpbnQxNl90IFBTOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyoqPCBSZWFsLVRpbWUgQ2xvY2sgUHJlc2NhbGUgVGltZXIgQ291bnRlciBSZWdpc3RlciAqLw0KICBfX0kgIHVpbnQxNl90IElWOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyoqPCBSZWFsLVRpbWUgQ2xvY2sgSW50ZXJydXB0IFZlY3RvciBSZWdpc3RlciAqLw0KICBfX0lPIHVpbnQxNl90IFRJTTA7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyoqPCBSVENUSU0wIFJlZ2lzdGVyID8gSGV4YWRlY2ltYWwgRm9ybWF0ICovDQogIF9fSU8gdWludDE2X3QgVElNMTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKio8IFJlYWwtVGltZSBDbG9jayBIb3VyLCBEYXkgb2YgV2VlayAqLw0KICBfX0lPIHVpbnQxNl90IERBVEU7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyoqPCBSVENEQVRFIC0gSGV4YWRlY2ltYWwgRm9ybWF0ICovDQogIF9fSU8gdWludDE2X3QgWUVBUjsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKio8IFJUQ1lFQVIgUmVnaXN0ZXIgPyBIZXhhZGVjaW1hbCBGb3JtYXQgKi8NCiAgX19JTyB1aW50MTZfdCBBTUlOSFI7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgUlRDTUlOSFIgLSBIZXhhZGVjaW1hbCBGb3JtYXQgKi8NCiAgX19JTyB1aW50MTZfdCBBRE9XREFZOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgUlRDQURPV0RBWSAtIEhleGFkZWNpbWFsIEZvcm1hdCAqLw0KICBfX0lPIHVpbnQxNl90IEJJTjJCQ0Q7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyoqPCBCaW5hcnktdG8tQkNEIENvbnZlcnNpb24gUmVnaXN0ZXIgKi8NCiAgX19JTyB1aW50MTZfdCBCQ0QyQklOOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgQkNELXRvLUJpbmFyeSBDb252ZXJzaW9uIFJlZ2lzdGVyICovDQp9IFJUQ19DX1R5cGU7DQoNCi8qQH0qLyAvKiBlbmQgb2YgZ3JvdXAgUlRDX0MgKi8NCg0KLyoqIEBhZGR0b2dyb3VwIFJUQ19DX0JDRCBNU1A0MzJQNDAxUiAoUlRDX0NfQkNEKQ0KICBAew0KKi8NCnR5cGVkZWYgc3RydWN0IHsNCiAgICAgICB1aW50MTZfdCBSRVNFUlZFRDBbOF07DQogIF9fSU8gdWludDE2X3QgVElNMDsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKio8IFJUQ1RJTTAgUmVnaXN0ZXIgPyBCQ0QgRm9ybWF0ICovDQogIF9fSU8gdWludDE2X3QgVElNMTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKio8IFJUQ1RJTTEgUmVnaXN0ZXIgPyBCQ0QgRm9ybWF0ICovDQogIF9fSU8gdWludDE2X3QgREFURTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKio8IFJlYWwtVGltZSBDbG9jayBEYXRlIC0gQkNEIEZvcm1hdCAqLw0KICBfX0lPIHVpbnQxNl90IFlFQVI7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyoqPCBSVENZRUFSIFJlZ2lzdGVyID8gQkNEIEZvcm1hdCAqLw0KICBfX0lPIHVpbnQxNl90IEFNSU5IUjsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyoqPCBSVENNSU5IUiAtIEJDRCBGb3JtYXQgKi8NCiAgX19JTyB1aW50MTZfdCBBRE9XREFZOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgUlRDQURPV0RBWSAtIEJDRCBGb3JtYXQgKi8NCn0gUlRDX0NfQkNEX1R5cGU7DQoNCi8qQH0qLyAvKiBlbmQgb2YgZ3JvdXAgUlRDX0NfQkNEICovDQoNCg0KLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKg0KKiBTWVNDVEwgUmVnaXN0ZXJzDQoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovDQovKiogQGFkZHRvZ3JvdXAgU1lTQ1RMIE1TUDQzMlA0MDFSIChTWVNDVEwpDQogIEB7DQoqLw0KdHlwZWRlZiBzdHJ1Y3Qgew0KICBfX0lPIHVpbnQzMl90IFJFQk9PVF9DVEw7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyoqPCBSZWJvb3QgQ29udHJvbCBSZWdpc3RlciAqLw0KICBfX0lPIHVpbnQzMl90IE5NSV9DVExTVEFUOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyoqPCBOTUkgQ29udHJvbCBhbmQgU3RhdHVzIFJlZ2lzdGVyICovDQogIF9fSU8gdWludDMyX3QgV0RUUkVTRVRfQ1RMOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKio8IFdhdGNoZG9nIFJlc2V0IENvbnRyb2wgUmVnaXN0ZXIgKi8NCiAgX19JTyB1aW50MzJfdCBQRVJJSEFMVF9DVEw7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgUGVyaXBoZXJhbCBIYWx0IENvbnRyb2wgUmVnaXN0ZXIgKi8NCiAgX19JICB1aW50MzJfdCBTUkFNX1NJWkU7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgU1JBTSBTaXplIFJlZ2lzdGVyICovDQogIF9fSU8gdWludDMyX3QgU1JBTV9CQU5LRU47ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKio8IFNSQU0gQmFuayBFbmFibGUgUmVnaXN0ZXIgKi8NCiAgX19JTyB1aW50MzJfdCBTUkFNX0JBTktSRVQ7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgU1JBTSBCYW5rIFJldGVudGlvbiBDb250cm9sIFJlZ2lzdGVyICovDQogICAgICAgdWludDMyX3QgUkVTRVJWRUQwOw0KICBfX0kgIHVpbnQzMl90IEZMQVNIX1NJWkU7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyoqPCBGbGFzaCBTaXplIFJlZ2lzdGVyICovDQogICAgICAgdWludDMyX3QgUkVTRVJWRUQxWzNdOw0KICBfX0lPIHVpbnQzMl90IERJT19HTFRGTFRfQ1RMOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyoqPCBEaWdpdGFsIEkvTyBHbGl0Y2ggRmlsdGVyIENvbnRyb2wgUmVnaXN0ZXIgKi8NCiAgICAgICB1aW50MzJfdCBSRVNFUlZFRDJbM107DQogIF9fSU8gdWludDMyX3QgU0VDREFUQV9VTkxPQ0s7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKio8IElQIFByb3RlY3RlZCBTZWN1cmUgWm9uZSBEYXRhIEFjY2VzcyBVbmxvY2sgUmVnaXN0ZXIgKi8NCiAgICAgICB1aW50MzJfdCBSRVNFUlZFRDNbMTc1XTsNCiAgX19JTyB1aW50MzJfdCBDU1lTX01BU1RFUl9VTkxPQ0s7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgTWFzdGVyIFVubG9jayBSZWdpc3RlciAqLw0KICBfX0lPIHVpbnQzMl90IEJPT1RfQ1RMOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyoqPCBCb290IENvbnRyb2wgUmVnaXN0ZXIgKi8NCiAgICAgICB1aW50MzJfdCBSRVNFUlZFRDRbMl07DQogIF9fSU8gdWludDMyX3QgU0VDX0NUTDsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKio8IFNlY3VyaXR5IENvbnRyb2wgUmVnaXN0ZXIgKi8NCiAgICAgICB1aW50MzJfdCBSRVNFUlZFRDVbM107DQogIF9fSU8gdWludDMyX3QgU0VDX1NUQVJUQUREUjA7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKio8IFNlY3VyaXR5IFpvbmUgMCBTdGFydCBBZGRyZXNzIFJlZ2lzdGVyICovDQogIF9fSU8gdWludDMyX3QgU0VDX1NUQVJUQUREUjE7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKio8IFNlY3VyaXR5IFpvbmUgMSBTdGFydCBBZGRyZXNzIFJlZ2lzdGVyICovDQogIF9fSU8gdWludDMyX3QgU0VDX1NUQVJUQUREUjI7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKio8IFNlY3VyaXR5IFpvbmUgMiBTdGFydCBBZGRyZXNzIFJlZ2lzdGVyICovDQogIF9fSU8gdWludDMyX3QgU0VDX1NUQVJUQUREUjM7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKio8IFNlY3VyaXR5IFpvbmUgMyBTdGFydCBBZGRyZXNzIFJlZ2lzdGVyICovDQogIF9fSU8gdWludDMyX3QgU0VDX1NJWkUwOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKio8IFNlY3VyaXR5IFpvbmUgMCBTaXplIFJlZ2lzdGVyICovDQogIF9fSU8gdWludDMyX3QgU0VDX1NJWkUxOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKio8IFNlY3VyaXR5IFpvbmUgMSBTaXplIFJlZ2lzdGVyICovDQogIF9fSU8gdWludDMyX3QgU0VDX1NJWkUyOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKio8IFNlY3VyaXR5IFpvbmUgMiBTaXplIFJlZ2lzdGVyICovDQogIF9fSU8gdWludDMyX3QgU0VDX1NJWkUzOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKio8IFNlY3VyaXR5IFpvbmUgMyBTaXplIFJlZ2lzdGVyICovDQogIF9fSU8gdWludDMyX3QgRVRXX0NUTDsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKio8IEVUVyBDb250cm9sIFJlZ2lzdGVyICovDQogIF9fSU8gdWludDMyX3QgRkxBU0hfU0laRUNGRzsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKio8IEZsYXNoIFNpemUgQ29uZmlndXJhdGlvbiBSZWdpc3RlciAqLw0KICBfX0lPIHVpbnQzMl90IFNSQU1fU0laRUNGRzsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyoqPCBTUkFNIFNpemUgQ29uZmlndXJhdGlvbiBSZWdpc3RlciAqLw0KICBfX0lPIHVpbnQzMl90IFNSQU1fTlVNQkFOSzsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyoqPCBTUkFNIE5VTSBCQU5LIENvbmZpZ3VyYXRpb24gUmVnaXN0ZXIgKi8NCiAgX19JTyB1aW50MzJfdCBUSU1FUl9DRkc7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgVGltZXIgQ29uZmlndXJhdGlvbiBSZWdpc3RlciAqLw0KICBfX0lPIHVpbnQzMl90IEVVU0NJX0NGRzsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyoqPCBlVVNDSSBDb25maWd1cmF0aW9uIFJlZ2lzdGVyICovDQogIF9fSU8gdWludDMyX3QgQURDX0NGRzsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKio8IEFEQyBDb25maWd1cmF0aW9uIFJlZ2lzdGVyICovDQogIF9fSU8gdWludDMyX3QgWFRBTF9DRkc7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKio8IENyeXN0YWwgT3NjaWxsYXRvciBDb25maWd1cmF0aW9uIFJlZ2lzdGVyICovDQogIF9fSU8gdWludDMyX3QgQk9DX0NGRzsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKio8IEJvbmQgT3V0IENvbmZpZ3VyYXRpb24gUmVnaXN0ZXIgKi8NCn0gU1lTQ1RMX1R5cGU7DQoNCnR5cGVkZWYgc3RydWN0IHsNCiAgX19JTyB1aW50MzJfdCBNQVNURVJfVU5MT0NLOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgTWFzdGVyIFVubG9jayBSZWdpc3RlciAqLw0KICBfX0lPIHVpbnQzMl90IEJPT1RPVkVSX1JFUVsyXTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyoqPCBCb290IE92ZXJyaWRlIFJlcXVlc3QgUmVnaXN0ZXIgKi8NCiAgX19JTyB1aW50MzJfdCBCT09UT1ZFUl9BQ0s7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgQm9vdCBPdmVycmlkZSBBY2tub3dsZWRnZSBSZWdpc3RlciAqLw0KICBfX0lPIHVpbnQzMl90IFJFU0VUX1JFUTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyoqPCBSZXNldCBSZXF1ZXN0IFJlZ2lzdGVyICovDQogIF9fSU8gdWludDMyX3QgUkVTRVRfU1RBVE9WRVI7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKio8IFJlc2V0IFN0YXR1cyBhbmQgT3ZlcnJpZGUgUmVnaXN0ZXIgKi8NCiAgICAgICB1aW50MzJfdCBSRVNFUlZFRDdbMl07DQogIF9fSSAgdWludDMyX3QgU1lTVEVNX1NUQVQ7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKio8IFN5c3RlbSBTdGF0dXMgUmVnaXN0ZXIgKi8NCn0gU1lTQ1RMX0Jvb3RfVHlwZTsNCg0KLypAfSovIC8qIGVuZCBvZiBncm91cCBTWVNDVEwgKi8NCg0KDQovKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqDQoqIFRpbWVyMzIgUmVnaXN0ZXJzDQoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovDQovKiogQGFkZHRvZ3JvdXAgVGltZXIzMiBNU1A0MzJQNDAxUiAoVGltZXIzMikNCiAgQHsNCiovDQp0eXBlZGVmIHN0cnVjdCB7DQogIF9fSU8gdWludDMyX3QgTE9BRDsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKio8IFRpbWVyIDEgTG9hZCBSZWdpc3RlciAqLw0KICBfX0kgIHVpbnQzMl90IFZBTFVFOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyoqPCBUaW1lciAxIEN1cnJlbnQgVmFsdWUgUmVnaXN0ZXIgKi8NCiAgX19JTyB1aW50MzJfdCBDT05UUk9MOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgVGltZXIgMSBUaW1lciBDb250cm9sIFJlZ2lzdGVyICovDQogIF9fTyAgdWludDMyX3QgSU5UQ0xSOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKio8IFRpbWVyIDEgSW50ZXJydXB0IENsZWFyIFJlZ2lzdGVyICovDQogIF9fSSAgdWludDMyX3QgUklTOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKio8IFRpbWVyIDEgUmF3IEludGVycnVwdCBTdGF0dXMgUmVnaXN0ZXIgKi8NCiAgX19JICB1aW50MzJfdCBNSVM7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgVGltZXIgMSBJbnRlcnJ1cHQgU3RhdHVzIFJlZ2lzdGVyICovDQogIF9fSU8gdWludDMyX3QgQkdMT0FEOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKio8IFRpbWVyIDEgQmFja2dyb3VuZCBMb2FkIFJlZ2lzdGVyICovDQp9IFRpbWVyMzJfVHlwZTsNCg0KLypAfSovIC8qIGVuZCBvZiBncm91cCBUaW1lcjMyICovDQoNCg0KLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKg0KKiBUaW1lcl9BIFJlZ2lzdGVycw0KKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLw0KLyoqIEBhZGR0b2dyb3VwIFRpbWVyX0EgTVNQNDMyUDQwMVIgKFRpbWVyX0EpDQogIEB7DQoqLw0KdHlwZWRlZiBzdHJ1Y3Qgew0KICBfX0lPIHVpbnQxNl90IENUTDsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyoqPCBUaW1lckF4IENvbnRyb2wgUmVnaXN0ZXIgKi8NCiAgX19JTyB1aW50MTZfdCBDQ1RMWzddOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgVGltZXJfQSBDYXB0dXJlL0NvbXBhcmUgQ29udHJvbCBSZWdpc3RlciAqLw0KICBfX0lPIHVpbnQxNl90IFI7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyoqPCBUaW1lckEgcmVnaXN0ZXIgKi8NCiAgX19JTyB1aW50MTZfdCBDQ1JbN107ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgVGltZXJfQSBDYXB0dXJlL0NvbXBhcmUgIFJlZ2lzdGVyICovDQogIF9fSU8gdWludDE2X3QgRVgwOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKio8IFRpbWVyQXggRXhwYW5zaW9uIDAgUmVnaXN0ZXIgKi8NCiAgICAgICB1aW50MTZfdCBSRVNFUlZFRDBbNl07DQogIF9fSSAgdWludDE2X3QgSVY7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKio8IFRpbWVyQXggSW50ZXJydXB0IFZlY3RvciBSZWdpc3RlciAqLw0KfSBUaW1lcl9BX1R5cGU7DQoNCi8qQH0qLyAvKiBlbmQgb2YgZ3JvdXAgVGltZXJfQSAqLw0KDQoNCi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioNCiogVExWIFJlZ2lzdGVycw0KKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLw0KLyoqIEBhZGR0b2dyb3VwIFRMViBNU1A0MzJQNDAxUiAoVExWKQ0KICBAew0KKi8NCnR5cGVkZWYgc3RydWN0IHsNCiAgX19JICB1aW50MzJfdCBUTFZfQ0hFQ0tTVU07ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgVExWIENoZWNrc3VtICovDQogIF9fSSAgdWludDMyX3QgREVWSUNFX0lORk9fVEFHOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKio8IERldmljZSBJbmZvIFRhZyAqLw0KICBfX0kgIHVpbnQzMl90IERFVklDRV9JTkZPX0xFTjsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyoqPCBEZXZpY2UgSW5mbyBMZW5ndGggKi8NCiAgX19JICB1aW50MzJfdCBERVZJQ0VfSUQ7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgRGV2aWNlIElEICovDQogIF9fSSAgdWludDMyX3QgSFdSRVY7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKio8IEhXIFJldmlzaW9uICovDQogIF9fSSAgdWludDMyX3QgQkNSRVY7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKio8IEJvb3QgQ29kZSBSZXZpc2lvbiAqLw0KICBfX0kgIHVpbnQzMl90IFJPTV9EUlZMSUJfUkVWOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyoqPCBST00gRHJpdmVyIExpYnJhcnkgUmV2aXNpb24gKi8NCiAgX19JICB1aW50MzJfdCBESUVfUkVDX1RBRzsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgRGllIFJlY29yZCBUYWcgKi8NCiAgX19JICB1aW50MzJfdCBESUVfUkVDX0xFTjsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgRGllIFJlY29yZCBMZW5ndGggKi8NCiAgX19JICB1aW50MzJfdCBESUVfWFBPUzsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgRGllIFgtUG9zaXRpb24gKi8NCiAgX19JICB1aW50MzJfdCBESUVfWVBPUzsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgRGllIFktUG9zaXRpb24gKi8NCiAgX19JICB1aW50MzJfdCBXQUZFUl9JRDsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgV2FmZXIgSUQgKi8NCiAgX19JICB1aW50MzJfdCBMT1RfSUQ7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgTG90IElEICovDQogIF9fSSAgdWludDMyX3QgUkVTRVJWRUQwOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKio8IFJlc2VydmVkICovDQogIF9fSSAgdWludDMyX3QgUkVTRVJWRUQxOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKio8IFJlc2VydmVkICovDQogIF9fSSAgdWludDMyX3QgUkVTRVJWRUQyOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKio8IFJlc2VydmVkICovDQogIF9fSSAgdWludDMyX3QgVEVTVF9SRVNVTFRTOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKio8IFRlc3QgUmVzdWx0cyAqLw0KICBfX0kgIHVpbnQzMl90IENTX0NBTF9UQUc7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyoqPCBDbG9jayBTeXN0ZW0gQ2FsaWJyYXRpb24gVGFnICovDQogIF9fSSAgdWludDMyX3QgQ1NfQ0FMX0xFTjsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKio8IENsb2NrIFN5c3RlbSBDYWxpYnJhdGlvbiBMZW5ndGggKi8NCiAgX19JICB1aW50MzJfdCBEQ09JUl9GQ0FMX1JTRUwwNDsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgRENPIElSIG1vZGU6IEZyZXF1ZW5jeSBjYWxpYnJhdGlvbiBmb3IgRENPUlNFTCAwIHRvIDQgKi8NCiAgX19JICB1aW50MzJfdCBEQ09JUl9GQ0FMX1JTRUw1OyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgRENPIElSIG1vZGU6IEZyZXF1ZW5jeSBjYWxpYnJhdGlvbiBmb3IgRENPUlNFTCA1ICovDQogIF9fSSAgdWludDMyX3QgRENPSVJfTUFYUE9TVFVORV9SU0VMMDQ7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKio8IERDTyBJUiBtb2RlOiBNYXggUG9zaXRpdmUgVHVuZSBmb3IgRENPUlNFTCAwIHRvIDQgKi8NCiAgX19JICB1aW50MzJfdCBEQ09JUl9NQVhORUdUVU5FX1JTRUwwNDsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgRENPIElSIG1vZGU6IE1heCBOZWdhdGl2ZSBUdW5lIGZvciBEQ09SU0VMIDAgdG8gNCAqLw0KICBfX0kgIHVpbnQzMl90IERDT0lSX01BWFBPU1RVTkVfUlNFTDU7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyoqPCBEQ08gSVIgbW9kZTogTWF4IFBvc2l0aXZlIFR1bmUgZm9yIERDT1JTRUwgNSAqLw0KICBfX0kgIHVpbnQzMl90IERDT0lSX01BWE5FR1RVTkVfUlNFTDU7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyoqPCBEQ08gSVIgbW9kZTogTWF4IE5lZ2F0aXZlIFR1bmUgZm9yIERDT1JTRUwgNSAqLw0KICBfX0kgIHVpbnQzMl90IERDT0lSX0NPTlNUS19SU0VMMDQ7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyoqPCBEQ08gSVIgbW9kZTogRENPIENvbnN0YW50IChLKSBmb3IgRENPUlNFTCAwIHRvIDQgKi8NCiAgX19JICB1aW50MzJfdCBEQ09JUl9DT05TVEtfUlNFTDU7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgRENPIElSIG1vZGU6IERDTyBDb25zdGFudCAoSykgZm9yIERDT1JTRUwgNSAqLw0KICBfX0kgIHVpbnQzMl90IERDT0VSX0ZDQUxfUlNFTDA0OyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyoqPCBEQ08gRVIgbW9kZTogRnJlcXVlbmN5IGNhbGlicmF0aW9uIGZvciBEQ09SU0VMIDAgdG8gNCAqLw0KICBfX0kgIHVpbnQzMl90IERDT0VSX0ZDQUxfUlNFTDU7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyoqPCBEQ08gRVIgbW9kZTogRnJlcXVlbmN5IGNhbGlicmF0aW9uIGZvciBEQ09SU0VMIDUgKi8NCiAgX19JICB1aW50MzJfdCBEQ09FUl9NQVhQT1NUVU5FX1JTRUwwNDsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgRENPIEVSIG1vZGU6IE1heCBQb3NpdGl2ZSBUdW5lIGZvciBEQ09SU0VMIDAgdG8gNCAqLw0KICBfX0kgIHVpbnQzMl90IERDT0VSX01BWE5FR1RVTkVfUlNFTDA0OyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyoqPCBEQ08gRVIgbW9kZTogTWF4IE5lZ2F0aXZlIFR1bmUgZm9yIERDT1JTRUwgMCB0byA0ICovDQogIF9fSSAgdWludDMyX3QgRENPRVJfTUFYUE9TVFVORV9SU0VMNTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKio8IERDTyBFUiBtb2RlOiBNYXggUG9zaXRpdmUgVHVuZSBmb3IgRENPUlNFTCA1ICovDQogIF9fSSAgdWludDMyX3QgRENPRVJfTUFYTkVHVFVORV9SU0VMNTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKio8IERDTyBFUiBtb2RlOiBNYXggTmVnYXRpdmUgVHVuZSBmb3IgRENPUlNFTCA1ICovDQogIF9fSSAgdWludDMyX3QgRENPRVJfQ09OU1RLX1JTRUwwNDsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKio8IERDTyBFUiBtb2RlOiBEQ08gQ29uc3RhbnQgKEspIGZvciBEQ09SU0VMIDAgdG8gNCAqLw0KICBfX0kgIHVpbnQzMl90IERDT0VSX0NPTlNUS19SU0VMNTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyoqPCBEQ08gRVIgbW9kZTogRENPIENvbnN0YW50IChLKSBmb3IgRENPUlNFTCA1ICovDQogIF9fSSAgdWludDMyX3QgQURDMTRfQ0FMX1RBRzsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKio8IEFEQzE0IENhbGlicmF0aW9uIFRhZyAqLw0KICBfX0kgIHVpbnQzMl90IEFEQzE0X0NBTF9MRU47ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyoqPCBBREMxNCBDYWxpYnJhdGlvbiBMZW5ndGggKi8NCiAgX19JICB1aW50MzJfdCBBREMxNF9HRl9FWFRSRUYzMEM7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgQURDMTQgR2FpbiBGYWN0b3IgZm9yIEV4dGVybmFsIFJlZmVyZW5jZSAzMLBDICovDQogIF9fSSAgdWludDMyX3QgQURDMTRfR0ZfRVhUUkVGODVDOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKio8IEFEQzE0IEdhaW4gRmFjdG9yIGZvciBFeHRlcm5hbCBSZWZlcmVuY2UgODWwQyAqLw0KICBfX0kgIHVpbnQzMl90IEFEQzE0X0dGX0JVRl9FWFRSRUYzMEM7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyoqPCBBREMxNCBHYWluIEZhY3RvciBmb3IgQnVmZmVyZWQgRXh0ZXJuYWwgUmVmZXJlbmNlIDMwsEMgKi8NCiAgX19JICB1aW50MzJfdCBBREMxNF9HRl9CVUZfRVhUUkVGODVDOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgQURDMTQgR2FpbiBGYWN0b3IgZm9yIEJ1ZmZlcmVkIEV4dGVybmFsIFJlZmVyZW5jZSA4NbBDICovDQogIF9fSSAgdWludDMyX3QgQURDMTRfR0ZfQlVGMVAyVl9JTlRSRUYzMENfUkVGT1VUMDsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKio8IEFEQzE0IEdhaW4gRmFjdG9yIGZvciBCdWZmZXJlZCAxLjJWIEludGVybmFsIFJlZmVyZW5jZSAzMLBDIChSRUZPVVQgPSAwKSAqLw0KICBfX0kgIHVpbnQzMl90IEFEQzE0X0dGX0JVRjFQMlZfSU5UUkVGODVDX1JFRk9VVDA7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyoqPCBBREMxNCBHYWluIEZhY3RvciBmb3IgQnVmZmVyZWQgMS4yViBJbnRlcm5hbCBSZWZlcmVuY2UgODWwQyAoUkVGT1VUID0gMCkgKi8NCiAgX19JICB1aW50MzJfdCBBREMxNF9HRl9CVUYxUDJWX0lOVFJFRjMwQ19SRUZPVVQxOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgQURDMTQgR2FpbiBGYWN0b3IgZm9yIEJ1ZmZlcmVkIDEuMlYgSW50ZXJuYWwgUmVmZXJlbmNlIDMwsEMgKFJFRk9VVCA9IDEpICovDQogIF9fSSAgdWludDMyX3QgQURDMTRfR0ZfQlVGMVAyVl9JTlRSRUY4NUNfUkVGT1VUMTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKio8IEFEQzE0IEdhaW4gRmFjdG9yIGZvciBCdWZmZXJlZCAxLjJWIEludGVybmFsIFJlZmVyZW5jZSA4NbBDIChSRUZPVVQgPSAxKSAqLw0KICBfX0kgIHVpbnQzMl90IEFEQzE0X0dGX0JVRjFQNDVWX0lOVFJFRjMwQ19SRUZPVVQwOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyoqPCBBREMxNCBHYWluIEZhY3RvciBmb3IgQnVmZmVyZWQgMS40NVYgSW50ZXJuYWwgUmVmZXJlbmNlIDMwsEMgKFJFRk9VVCA9IDApICovDQogIF9fSSAgdWludDMyX3QgQURDMTRfR0ZfQlVGMVA0NVZfSU5UUkVGODVDX1JFRk9VVDA7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKio8IEFEQzE0IEdhaW4gRmFjdG9yIGZvciBCdWZmZXJlZCAxLjQ1ViBJbnRlcm5hbCBSZWZlcmVuY2UgODWwQyAoUkVGT1VUID0gMCkgKi8NCiAgX19JICB1aW50MzJfdCBBREMxNF9HRl9CVUYxUDQ1Vl9JTlRSRUYzMENfUkVGT1VUMTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgQURDMTQgR2FpbiBGYWN0b3IgZm9yIEJ1ZmZlcmVkIDEuNDVWIEludGVybmFsIFJlZmVyZW5jZSAzMLBDIChSRUZPVVQgPSAxKSAqLw0KICBfX0kgIHVpbnQzMl90IEFEQzE0X0dGX0JVRjFQNDVWX0lOVFJFRjg1Q19SRUZPVVQxOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyoqPCBBREMxNCBHYWluIEZhY3RvciBmb3IgQnVmZmVyZWQgMS40NVYgSW50ZXJuYWwgUmVmZXJlbmNlIDg1sEMgKFJFRk9VVCA9IDEpICovDQogIF9fSSAgdWludDMyX3QgQURDMTRfR0ZfQlVGMlA1Vl9JTlRSRUYzMENfUkVGT1VUMDsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKio8IEFEQzE0IEdhaW4gRmFjdG9yIGZvciBCdWZmZXJlZCAyLjVWIEludGVybmFsIFJlZmVyZW5jZSAzMLBDIChSRUZPVVQgPSAwKSAqLw0KICBfX0kgIHVpbnQzMl90IEFEQzE0X0dGX0JVRjJQNVZfSU5UUkVGODVDX1JFRk9VVDA7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyoqPCBBREMxNCBHYWluIEZhY3RvciBmb3IgQnVmZmVyZWQgMi41ViBJbnRlcm5hbCBSZWZlcmVuY2UgODWwQyAoUkVGT1VUID0gMCkgKi8NCiAgX19JICB1aW50MzJfdCBBREMxNF9HRl9CVUYyUDVWX0lOVFJFRjMwQ19SRUZPVVQxOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgQURDMTQgR2FpbiBGYWN0b3IgZm9yIEJ1ZmZlcmVkIDIuNVYgSW50ZXJuYWwgUmVmZXJlbmNlIDMwsEMgKFJFRk9VVCA9IDEpICovDQogIF9fSSAgdWludDMyX3QgQURDMTRfR0ZfQlVGMlA1Vl9JTlRSRUY4NUNfUkVGT1VUMTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKio8IEFEQzE0IEdhaW4gRmFjdG9yIGZvciBCdWZmZXJlZCAyLjVWIEludGVybmFsIFJlZmVyZW5jZSA4NbBDIChSRUZPVVQgPSAxKSAqLw0KICBfX0kgIHVpbnQzMl90IEFEQzE0X09GRlNFVF9WUlNFTF8xOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyoqPCBBREMxNCBPZmZzZXQgKEFEQzE0VlJTRUwgPSAxaCkgKi8NCiAgX19JICB1aW50MzJfdCBBREMxNF9PRkZTRVRfVlJTRUxfRTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgQURDMTQgT2Zmc2V0IChBREMxNFZSU0VMID0gRWgpICovDQogIF9fSSAgdWludDMyX3QgQURDMTRfUkVGMVAyVl9UUzMwQzsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKio8IEFEQzE0IDEuMlYgUmVmZXJlbmNlIFRlbXAuIFNlbnNvciAzMLBDICovDQogIF9fSSAgdWludDMyX3QgQURDMTRfUkVGMVAyVl9UUzg1QzsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKio8IEFEQzE0IDEuMlYgUmVmZXJlbmNlIFRlbXAuIFNlbnNvciA4NbBDICovDQogIF9fSSAgdWludDMyX3QgQURDMTRfUkVGMVA0NVZfVFMzMEM7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKio8IEFEQzE0IDEuNDVWIFJlZmVyZW5jZSBUZW1wLiBTZW5zb3IgMzCwQyAqLw0KICBfX0kgIHVpbnQzMl90IEFEQzE0X1JFRjFQNDVWX1RTODVDOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyoqPCBBREMxNCAxLjQ1ViBSZWZlcmVuY2UgVGVtcC4gU2Vuc29yIDg1sEMgKi8NCiAgX19JICB1aW50MzJfdCBBREMxNF9SRUYyUDVWX1RTMzBDOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgQURDMTQgMi41ViBSZWZlcmVuY2UgVGVtcC4gU2Vuc29yIDMwsEMgKi8NCiAgX19JICB1aW50MzJfdCBBREMxNF9SRUYyUDVWX1RTODVDOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgQURDMTQgMi41ViBSZWZlcmVuY2UgVGVtcC4gU2Vuc29yIDg1sEMgKi8NCiAgX19JICB1aW50MzJfdCBSRUZfQ0FMX1RBRzsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgUkVGIENhbGlicmF0aW9uIFRhZyAqLw0KICBfX0kgIHVpbnQzMl90IFJFRl9DQUxfTEVOOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyoqPCBSRUYgQ2FsaWJyYXRpb24gTGVuZ3RoICovDQogIF9fSSAgdWludDMyX3QgUkVGXzFQMlY7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKio8IFJFRiAxLjJWIFJlZmVyZW5jZSAqLw0KICBfX0kgIHVpbnQzMl90IFJFRl8xUDQ1VjsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyoqPCBSRUYgMS40NVYgUmVmZXJlbmNlICovDQogIF9fSSAgdWludDMyX3QgUkVGXzJQNVY7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKio8IFJFRiAyLjVWIFJlZmVyZW5jZSAqLw0KICBfX0kgIHVpbnQzMl90IEZMQVNIX0lORk9fVEFHOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyoqPCBGbGFzaCBJbmZvIFRhZyAqLw0KICBfX0kgIHVpbnQzMl90IEZMQVNIX0lORk9fTEVOOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyoqPCBGbGFzaCBJbmZvIExlbmd0aCAqLw0KICBfX0kgIHVpbnQzMl90IEZMQVNIX01BWF9QUk9HX1BVTFNFUzsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyoqPCBGbGFzaCBNYXhpbXVtIFByb2dyYW1taW5nIFB1bHNlcyAqLw0KICBfX0kgIHVpbnQzMl90IEZMQVNIX01BWF9FUkFTRV9QVUxTRVM7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyoqPCBGbGFzaCBNYXhpbXVtIEVyYXNlIFB1bHNlcyAqLw0KICBfX0kgIHVpbnQzMl90IFJBTkRPTV9OVU1fVEFHOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyoqPCAxMjgtYml0IFJhbmRvbSBOdW1iZXIgVGFnICovDQogIF9fSSAgdWludDMyX3QgUkFORE9NX05VTV9MRU47ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKio8IDEyOC1iaXQgUmFuZG9tIE51bWJlciBMZW5ndGggKi8NCiAgX19JICB1aW50MzJfdCBSQU5ET01fTlVNXzE7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgMzItYml0IFJhbmRvbSBOdW1iZXIgMSAqLw0KICBfX0kgIHVpbnQzMl90IFJBTkRPTV9OVU1fMjsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyoqPCAzMi1iaXQgUmFuZG9tIE51bWJlciAyICovDQogIF9fSSAgdWludDMyX3QgUkFORE9NX05VTV8zOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKio8IDMyLWJpdCBSYW5kb20gTnVtYmVyIDMgKi8NCiAgX19JICB1aW50MzJfdCBSQU5ET01fTlVNXzQ7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgMzItYml0IFJhbmRvbSBOdW1iZXIgNCAqLw0KICBfX0kgIHVpbnQzMl90IEJTTF9DRkdfVEFHOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyoqPCBCU0wgQ29uZmlndXJhdGlvbiBUYWcgKi8NCiAgX19JICB1aW50MzJfdCBCU0xfQ0ZHX0xFTjsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgQlNMIENvbmZpZ3VyYXRpb24gTGVuZ3RoICovDQogIF9fSSAgdWludDMyX3QgQlNMX1BFUklQSElGX1NFTDsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKio8IEJTTCBQZXJpcGhlcmFsIEludGVyZmFjZSBTZWxlY3Rpb24gKi8NCiAgX19JICB1aW50MzJfdCBCU0xfUE9SVElGX0NGR19VQVJUOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgQlNMIFBvcnQgSW50ZXJmYWNlIENvbmZpZ3VyYXRpb24gZm9yIFVBUlQgKi8NCiAgX19JICB1aW50MzJfdCBCU0xfUE9SVElGX0NGR19TUEk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgQlNMIFBvcnQgSW50ZXJmYWNlIENvbmZpZ3VyYXRpb24gZm9yIFNQSSAqLw0KICBfX0kgIHVpbnQzMl90IEJTTF9QT1JUSUZfQ0ZHX0kyQzsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyoqPCBCU0wgUG9ydCBJbnRlcmZhY2UgQ29uZmlndXJhdGlvbiBmb3IgSTJDICovDQogIF9fSSAgdWludDMyX3QgVExWX0VORDsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKio8IFRMViBFbmQgV29yZCAqLw0KfSBUTFZfVHlwZTsNCg0KLypAfSovIC8qIGVuZCBvZiBncm91cCBUTFYgKi8NCg0KDQovKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqDQoqIFdEVF9BIFJlZ2lzdGVycw0KKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLw0KLyoqIEBhZGR0b2dyb3VwIFdEVF9BIE1TUDQzMlA0MDFSIChXRFRfQSkNCiAgQHsNCiovDQp0eXBlZGVmIHN0cnVjdCB7DQogICAgICAgdWludDE2X3QgUkVTRVJWRUQwWzZdOw0KICBfX0lPIHVpbnQxNl90IENUTDsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyoqPCBXYXRjaGRvZyBUaW1lciBDb250cm9sIFJlZ2lzdGVyICovDQp9IFdEVF9BX1R5cGU7DQoNCi8qQH0qLyAvKiBlbmQgb2YgZ3JvdXAgV0RUX0EgKi8NCg0KDQojaWYgZGVmaW5lZCAoIF9fQ0NfQVJNICkNCiNwcmFnbWEgbm9fYW5vbl91bmlvbnMNCiNlbmRpZg0KDQovKkB9Ki8gLyogZW5kIG9mIGdyb3VwIE1TUDQzMlA0MDFSX1BlcmlwaGVyYWxzICovDQoNCi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioNCiogUGVyaXBoZXJhbCBkZWNsYXJhdGlvbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICoNCioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8NCi8qKiBAYWRkdG9ncm91cCBNU1A0MzJQNDAxUl9QZXJpcGhlcmFsRGVjbCBNU1A0MzJQNDAxUiBQZXJpcGhlcmFsIERlY2xhcmF0aW9uDQogIEB7DQoqLw0KDQojZGVmaW5lIEFEQzE0ICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQURDMTRfVHlwZSAqKSBBREMxNF9CQVNFKSAgIA0KI2RlZmluZSBBRVMyNTYgICAgICAgICAgICAgICAgICAgICAgICAgICAoKEFFUzI1Nl9UeXBlICopIEFFUzI1Nl9CQVNFKSANCiNkZWZpbmUgQ0FQVElPMCAgICAgICAgICAgICAgICAgICAgICAgICAgKChDQVBUSU9fVHlwZSAqKSBDQVBUSU8wX0JBU0UpDQojZGVmaW5lIENBUFRJTzEgICAgICAgICAgICAgICAgICAgICAgICAgICgoQ0FQVElPX1R5cGUgKikgQ0FQVElPMV9CQVNFKQ0KI2RlZmluZSBDT01QX0UwICAgICAgICAgICAgICAgICAgICAgICAgICAoKENPTVBfRV9UeXBlICopIENPTVBfRTBfQkFTRSkNCiNkZWZpbmUgQ09NUF9FMSAgICAgICAgICAgICAgICAgICAgICAgICAgKChDT01QX0VfVHlwZSAqKSBDT01QX0UxX0JBU0UpDQojZGVmaW5lIENSQzMyICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoQ1JDMzJfVHlwZSAqKSBDUkMzMl9CQVNFKSAgIA0KI2RlZmluZSBDUyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKENTX1R5cGUgKikgQ1NfQkFTRSkgICAgICAgICANCiNkZWZpbmUgUEEgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChESU9fUE9SVF9JbnRlcnJ1cHRhYmxlX1R5cGUqKSAoRElPX0JBU0UgKyAweDAwMDApKQ0KI2RlZmluZSBQQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKERJT19QT1JUX0ludGVycnVwdGFibGVfVHlwZSopIChESU9fQkFTRSArIDB4MDAyMCkpDQojZGVmaW5lIFBDICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoRElPX1BPUlRfSW50ZXJydXB0YWJsZV9UeXBlKikgKERJT19CQVNFICsgMHgwMDQwKSkNCiNkZWZpbmUgUEQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChESU9fUE9SVF9JbnRlcnJ1cHRhYmxlX1R5cGUqKSAoRElPX0JBU0UgKyAweDAwNjApKQ0KI2RlZmluZSBQRSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKERJT19QT1JUX0ludGVycnVwdGFibGVfVHlwZSopIChESU9fQkFTRSArIDB4MDA4MCkpDQojZGVmaW5lIFBKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoRElPX1BPUlRfTm90X0ludGVycnVwdGFibGVfVHlwZSopIChESU9fQkFTRSArIDB4MDEyMCkpDQojZGVmaW5lIFAxICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoRElPX1BPUlRfT2RkX0ludGVycnVwdGFibGVfVHlwZSopICAoRElPX0JBU0UgKyAweDAwMDApKQ0KI2RlZmluZSBQMiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKERJT19QT1JUX0V2ZW5fSW50ZXJydXB0YWJsZV9UeXBlKikgKERJT19CQVNFICsgMHgwMDAwKSkNCiNkZWZpbmUgUDMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChESU9fUE9SVF9PZGRfSW50ZXJydXB0YWJsZV9UeXBlKikgIChESU9fQkFTRSArIDB4MDAyMCkpDQojZGVmaW5lIFA0ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoRElPX1BPUlRfRXZlbl9JbnRlcnJ1cHRhYmxlX1R5cGUqKSAoRElPX0JBU0UgKyAweDAwMjApKQ0KI2RlZmluZSBQNSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKERJT19QT1JUX09kZF9JbnRlcnJ1cHRhYmxlX1R5cGUqKSAgKERJT19CQVNFICsgMHgwMDQwKSkNCiNkZWZpbmUgUDYgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChESU9fUE9SVF9FdmVuX0ludGVycnVwdGFibGVfVHlwZSopIChESU9fQkFTRSArIDB4MDA0MCkpDQojZGVmaW5lIFA3ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoRElPX1BPUlRfT2RkX0ludGVycnVwdGFibGVfVHlwZSopICAoRElPX0JBU0UgKyAweDAwNjApKQ0KI2RlZmluZSBQOCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKERJT19QT1JUX0V2ZW5fSW50ZXJydXB0YWJsZV9UeXBlKikgKERJT19CQVNFICsgMHgwMDYwKSkNCiNkZWZpbmUgUDkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChESU9fUE9SVF9PZGRfSW50ZXJydXB0YWJsZV9UeXBlKikgIChESU9fQkFTRSArIDB4MDA4MCkpDQojZGVmaW5lIFAxMCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoRElPX1BPUlRfRXZlbl9JbnRlcnJ1cHRhYmxlX1R5cGUqKSAoRElPX0JBU0UgKyAweDAwODApKQ0KI2RlZmluZSBETUFfQ2hhbm5lbCAgICAgICAgICAgICAgICAgICAgICAoKERNQV9DaGFubmVsX1R5cGUgKikgRE1BX0JBU0UpDQojZGVmaW5lIERNQV9Db250cm9sICAgICAgICAgICAgICAgICAgICAgICgoRE1BX0NvbnRyb2xfVHlwZSAqKSAoRE1BX0JBU0UgKyAweDEwMDApKQ0KI2RlZmluZSBFVVNDSV9BMCAgICAgICAgICAgICAgICAgICAgICAgICAoKEVVU0NJX0FfVHlwZSAqKSBFVVNDSV9BMF9CQVNFKQ0KI2RlZmluZSBFVVNDSV9BMF9TUEkgICAgICAgICAgICAgICAgICAgICAoKEVVU0NJX0FfU1BJX1R5cGUgKikgRVVTQ0lfQTBfU1BJX0JBU0UpDQojZGVmaW5lIEVVU0NJX0ExICAgICAgICAgICAgICAgICAgICAgICAgICgoRVVTQ0lfQV9UeXBlICopIEVVU0NJX0ExX0JBU0UpDQojZGVmaW5lIEVVU0NJX0ExX1NQSSAgICAgICAgICAgICAgICAgICAgICgoRVVTQ0lfQV9TUElfVHlwZSAqKSBFVVNDSV9BMV9TUElfQkFTRSkNCiNkZWZpbmUgRVVTQ0lfQTIgICAgICAgICAgICAgICAgICAgICAgICAgKChFVVNDSV9BX1R5cGUgKikgRVVTQ0lfQTJfQkFTRSkNCiNkZWZpbmUgRVVTQ0lfQTJfU1BJICAgICAgICAgICAgICAgICAgICAgKChFVVNDSV9BX1NQSV9UeXBlICopIEVVU0NJX0EyX1NQSV9CQVNFKQ0KI2RlZmluZSBFVVNDSV9BMyAgICAgICAgICAgICAgICAgICAgICAgICAoKEVVU0NJX0FfVHlwZSAqKSBFVVNDSV9BM19CQVNFKQ0KI2RlZmluZSBFVVNDSV9BM19TUEkgICAgICAgICAgICAgICAgICAgICAoKEVVU0NJX0FfU1BJX1R5cGUgKikgRVVTQ0lfQTNfU1BJX0JBU0UpDQojZGVmaW5lIEVVU0NJX0IwICAgICAgICAgICAgICAgICAgICAgICAgICgoRVVTQ0lfQl9UeXBlICopIEVVU0NJX0IwX0JBU0UpDQojZGVmaW5lIEVVU0NJX0IwX1NQSSAgICAgICAgICAgICAgICAgICAgICgoRVVTQ0lfQl9TUElfVHlwZSAqKSBFVVNDSV9CMF9TUElfQkFTRSkNCiNkZWZpbmUgRVVTQ0lfQjEgICAgICAgICAgICAgICAgICAgICAgICAgKChFVVNDSV9CX1R5cGUgKikgRVVTQ0lfQjFfQkFTRSkNCiNkZWZpbmUgRVVTQ0lfQjFfU1BJICAgICAgICAgICAgICAgICAgICAgKChFVVNDSV9CX1NQSV9UeXBlICopIEVVU0NJX0IxX1NQSV9CQVNFKQ0KI2RlZmluZSBFVVNDSV9CMiAgICAgICAgICAgICAgICAgICAgICAgICAoKEVVU0NJX0JfVHlwZSAqKSBFVVNDSV9CMl9CQVNFKQ0KI2RlZmluZSBFVVNDSV9CMl9TUEkgICAgICAgICAgICAgICAgICAgICAoKEVVU0NJX0JfU1BJX1R5cGUgKikgRVVTQ0lfQjJfU1BJX0JBU0UpDQojZGVmaW5lIEVVU0NJX0IzICAgICAgICAgICAgICAgICAgICAgICAgICgoRVVTQ0lfQl9UeXBlICopIEVVU0NJX0IzX0JBU0UpDQojZGVmaW5lIEVVU0NJX0IzX1NQSSAgICAgICAgICAgICAgICAgICAgICgoRVVTQ0lfQl9TUElfVHlwZSAqKSBFVVNDSV9CM19TUElfQkFTRSkNCiNkZWZpbmUgRkxDVEwgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChGTENUTF9UeXBlICopIEZMQ1RMX0JBU0UpICAgDQojZGVmaW5lIFBDTSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoUENNX1R5cGUgKikgUENNX0JBU0UpICAgICAgIA0KI2RlZmluZSBQTUFQICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKFBNQVBfQ09NTU9OX1R5cGUqKSBQTUFQX0JBU0UpDQojZGVmaW5lIFAxTUFQICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoUE1BUF9SRUdJU1RFUl9UeXBlKikgKFBNQVBfQkFTRSArIDB4MDAwOCkpDQojZGVmaW5lIFAyTUFQICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoUE1BUF9SRUdJU1RFUl9UeXBlKikgKFBNQVBfQkFTRSArIDB4MDAxMCkpDQojZGVmaW5lIFAzTUFQICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoUE1BUF9SRUdJU1RFUl9UeXBlKikgKFBNQVBfQkFTRSArIDB4MDAxOCkpDQojZGVmaW5lIFA0TUFQICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoUE1BUF9SRUdJU1RFUl9UeXBlKikgKFBNQVBfQkFTRSArIDB4MDAyMCkpDQojZGVmaW5lIFA1TUFQICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoUE1BUF9SRUdJU1RFUl9UeXBlKikgKFBNQVBfQkFTRSArIDB4MDAyOCkpDQojZGVmaW5lIFA2TUFQICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoUE1BUF9SRUdJU1RFUl9UeXBlKikgKFBNQVBfQkFTRSArIDB4MDAzMCkpDQojZGVmaW5lIFA3TUFQICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoUE1BUF9SRUdJU1RFUl9UeXBlKikgKFBNQVBfQkFTRSArIDB4MDAzOCkpDQojZGVmaW5lIFBTUyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoUFNTX1R5cGUgKikgUFNTX0JBU0UpICAgICAgIA0KI2RlZmluZSBSRUZfQSAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKFJFRl9BX1R5cGUgKikgUkVGX0FfQkFTRSkgICANCiNkZWZpbmUgUlNUQ1RMICAgICAgICAgICAgICAgICAgICAgICAgICAgKChSU1RDVExfVHlwZSAqKSBSU1RDVExfQkFTRSkgDQojZGVmaW5lIFJUQ19DICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoUlRDX0NfVHlwZSAqKSBSVENfQ19CQVNFKSAgIA0KI2RlZmluZSBSVENfQ19CQ0QgICAgICAgICAgICAgICAgICAgICAgICAoKFJUQ19DX0JDRF9UeXBlICopIFJUQ19DX0JDRF9CQVNFKQ0KI2RlZmluZSBTWVNDVEwgICAgICAgICAgICAgICAgICAgICAgICAgICAoKFNZU0NUTF9UeXBlICopIFNZU0NUTF9CQVNFKQ0KI2RlZmluZSBTWVNDVExfQm9vdCAgICAgICAgICAgICAgICAgICAgICAoKFNZU0NUTF9Cb290X1R5cGUgKikgKFNZU0NUTF9CQVNFICsgMHgxMDAwKSkNCiNkZWZpbmUgVElNRVIzMl8xICAgICAgICAgICAgICAgICAgICAgICAgKChUaW1lcjMyX1R5cGUgKikgVElNRVIzMl9CQVNFKQ0KI2RlZmluZSBUSU1FUjMyXzIgICAgICAgICAgICAgICAgICAgICAgICAoKFRpbWVyMzJfVHlwZSAqKSAoVElNRVIzMl9CQVNFICsgMHgwMDAyMCkpDQojZGVmaW5lIFRJTUVSX0EwICAgICAgICAgICAgICAgICAgICAgICAgICgoVGltZXJfQV9UeXBlICopIFRJTUVSX0EwX0JBU0UpDQojZGVmaW5lIFRJTUVSX0ExICAgICAgICAgICAgICAgICAgICAgICAgICgoVGltZXJfQV9UeXBlICopIFRJTUVSX0ExX0JBU0UpDQojZGVmaW5lIFRJTUVSX0EyICAgICAgICAgICAgICAgICAgICAgICAgICgoVGltZXJfQV9UeXBlICopIFRJTUVSX0EyX0JBU0UpDQojZGVmaW5lIFRJTUVSX0EzICAgICAgICAgICAgICAgICAgICAgICAgICgoVGltZXJfQV9UeXBlICopIFRJTUVSX0EzX0JBU0UpDQojZGVmaW5lIFRMViAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoVExWX1R5cGUgKikgVExWX0JBU0UpICAgICAgIA0KI2RlZmluZSBXRFRfQSAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKFdEVF9BX1R5cGUgKikgV0RUX0FfQkFTRSkgICANCg0KDQovKkB9Ki8gLyogZW5kIG9mIGdyb3VwIE1TUDQzMlA0MDFSX1BlcmlwaGVyYWxEZWNsICovDQoNCi8qQH0qLyAvKiBlbmQgb2YgZ3JvdXAgTVNQNDMyUDQwMVJfRGVmaW5pdGlvbnMgKi8NCg0KI2VuZGlmIC8qIF9fQ01TSVNfQ09ORklHX18gKi8NCg0KLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKg0KKiBQZXJpcGhlcmFsIHJlZ2lzdGVyIGNvbnRyb2wgYml0cyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKg0KKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLw0KDQovKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqDQoqIEFEQzE0IEJpdHMNCioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8NCi8qIEFEQzE0X0NUTDBbU0NdIEJpdHMgKi8NCiNkZWZpbmUgQURDMTRfQ1RMMF9TQ19PRlMgICAgICAgICAgICAgICAgICAgICAgICAoIDApICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgQURDMTRTQyBCaXQgT2Zmc2V0ICovDQojZGVmaW5lIEFEQzE0X0NUTDBfU0MgICAgICAgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwMDAxKSAgICAgICAgICAvKio8IEFEQzE0IHN0YXJ0IGNvbnZlcnNpb24gKi8NCi8qIEFEQzE0X0NUTDBbRU5DXSBCaXRzICovDQojZGVmaW5lIEFEQzE0X0NUTDBfRU5DX09GUyAgICAgICAgICAgICAgICAgICAgICAgKCAxKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKio8IEFEQzE0RU5DIEJpdCBPZmZzZXQgKi8NCiNkZWZpbmUgQURDMTRfQ1RMMF9FTkMgICAgICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDAwMDIpICAgICAgICAgIC8qKjwgQURDMTQgZW5hYmxlIGNvbnZlcnNpb24gKi8NCi8qIEFEQzE0X0NUTDBbT05dIEJpdHMgKi8NCiNkZWZpbmUgQURDMTRfQ1RMMF9PTl9PRlMgICAgICAgICAgICAgICAgICAgICAgICAoIDQpICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgQURDMTRPTiBCaXQgT2Zmc2V0ICovDQojZGVmaW5lIEFEQzE0X0NUTDBfT04gICAgICAgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwMDEwKSAgICAgICAgICAvKio8IEFEQzE0IG9uICovDQovKiBBREMxNF9DVEwwW01TQ10gQml0cyAqLw0KI2RlZmluZSBBREMxNF9DVEwwX01TQ19PRlMgICAgICAgICAgICAgICAgICAgICAgICggNykgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyoqPCBBREMxNE1TQyBCaXQgT2Zmc2V0ICovDQojZGVmaW5lIEFEQzE0X0NUTDBfTVNDICAgICAgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwMDgwKSAgICAgICAgICAvKio8IEFEQzE0IG11bHRpcGxlIHNhbXBsZSBhbmQgY29udmVyc2lvbiAqLw0KLyogQURDMTRfQ1RMMFtTSFQwXSBCaXRzICovDQojZGVmaW5lIEFEQzE0X0NUTDBfU0hUMF9PRlMgICAgICAgICAgICAgICAgICAgICAgKCA4KSAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKio8IEFEQzE0U0hUMCBCaXQgT2Zmc2V0ICovDQojZGVmaW5lIEFEQzE0X0NUTDBfU0hUMF9NQVNLICAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwRjAwKSAgICAgICAgICAvKio8IEFEQzE0U0hUMCBCaXQgTWFzayAqLw0KI2RlZmluZSBBREMxNF9DVEwwX1NIVDAwICAgICAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMDEwMCkgICAgICAgICAgLyoqPCBTSFQwIEJpdCAwICovDQojZGVmaW5lIEFEQzE0X0NUTDBfU0hUMDEgICAgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwMjAwKSAgICAgICAgICAvKio8IFNIVDAgQml0IDEgKi8NCiNkZWZpbmUgQURDMTRfQ1RMMF9TSFQwMiAgICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDA0MDApICAgICAgICAgIC8qKjwgU0hUMCBCaXQgMiAqLw0KI2RlZmluZSBBREMxNF9DVEwwX1NIVDAzICAgICAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMDgwMCkgICAgICAgICAgLyoqPCBTSFQwIEJpdCAzICovDQojZGVmaW5lIEFEQzE0X0NUTDBfU0hUMF8wICAgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwMDAwKSAgICAgICAgICAvKio8IDQgKi8NCiNkZWZpbmUgQURDMTRfQ1RMMF9TSFQwXzEgICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDAxMDApICAgICAgICAgIC8qKjwgOCAqLw0KI2RlZmluZSBBREMxNF9DVEwwX1NIVDBfMiAgICAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMDIwMCkgICAgICAgICAgLyoqPCAxNiAqLw0KI2RlZmluZSBBREMxNF9DVEwwX1NIVDBfMyAgICAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMDMwMCkgICAgICAgICAgLyoqPCAzMiAqLw0KI2RlZmluZSBBREMxNF9DVEwwX1NIVDBfNCAgICAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMDQwMCkgICAgICAgICAgLyoqPCA2NCAqLw0KI2RlZmluZSBBREMxNF9DVEwwX1NIVDBfNSAgICAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMDUwMCkgICAgICAgICAgLyoqPCA5NiAqLw0KI2RlZmluZSBBREMxNF9DVEwwX1NIVDBfNiAgICAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMDYwMCkgICAgICAgICAgLyoqPCAxMjggKi8NCiNkZWZpbmUgQURDMTRfQ1RMMF9TSFQwXzcgICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDA3MDApICAgICAgICAgIC8qKjwgMTkyICovDQojZGVmaW5lIEFEQzE0X0NUTDBfU0hUMF9fNCAgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwMDAwKSAgICAgICAgICAvKio8IDQgKi8NCiNkZWZpbmUgQURDMTRfQ1RMMF9TSFQwX184ICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDAxMDApICAgICAgICAgIC8qKjwgOCAqLw0KI2RlZmluZSBBREMxNF9DVEwwX1NIVDBfXzE2ICAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMDIwMCkgICAgICAgICAgLyoqPCAxNiAqLw0KI2RlZmluZSBBREMxNF9DVEwwX1NIVDBfXzMyICAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMDMwMCkgICAgICAgICAgLyoqPCAzMiAqLw0KI2RlZmluZSBBREMxNF9DVEwwX1NIVDBfXzY0ICAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMDQwMCkgICAgICAgICAgLyoqPCA2NCAqLw0KI2RlZmluZSBBREMxNF9DVEwwX1NIVDBfXzk2ICAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMDUwMCkgICAgICAgICAgLyoqPCA5NiAqLw0KI2RlZmluZSBBREMxNF9DVEwwX1NIVDBfXzEyOCAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMDYwMCkgICAgICAgICAgLyoqPCAxMjggKi8NCiNkZWZpbmUgQURDMTRfQ1RMMF9TSFQwX18xOTIgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDA3MDApICAgICAgICAgIC8qKjwgMTkyICovDQovKiBBREMxNF9DVEwwW1NIVDFdIEJpdHMgKi8NCiNkZWZpbmUgQURDMTRfQ1RMMF9TSFQxX09GUyAgICAgICAgICAgICAgICAgICAgICAoMTIpICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgQURDMTRTSFQxIEJpdCBPZmZzZXQgKi8NCiNkZWZpbmUgQURDMTRfQ1RMMF9TSFQxX01BU0sgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMEYwMDApICAgICAgICAgIC8qKjwgQURDMTRTSFQxIEJpdCBNYXNrICovDQojZGVmaW5lIEFEQzE0X0NUTDBfU0hUMTAgICAgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAxMDAwKSAgICAgICAgICAvKio8IFNIVDEgQml0IDAgKi8NCiNkZWZpbmUgQURDMTRfQ1RMMF9TSFQxMSAgICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDIwMDApICAgICAgICAgIC8qKjwgU0hUMSBCaXQgMSAqLw0KI2RlZmluZSBBREMxNF9DVEwwX1NIVDEyICAgICAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwNDAwMCkgICAgICAgICAgLyoqPCBTSFQxIEJpdCAyICovDQojZGVmaW5lIEFEQzE0X0NUTDBfU0hUMTMgICAgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDA4MDAwKSAgICAgICAgICAvKio8IFNIVDEgQml0IDMgKi8NCiNkZWZpbmUgQURDMTRfQ1RMMF9TSFQxXzAgICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDAwMDApICAgICAgICAgIC8qKjwgNCAqLw0KI2RlZmluZSBBREMxNF9DVEwwX1NIVDFfMSAgICAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMTAwMCkgICAgICAgICAgLyoqPCA4ICovDQojZGVmaW5lIEFEQzE0X0NUTDBfU0hUMV8yICAgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAyMDAwKSAgICAgICAgICAvKio8IDE2ICovDQojZGVmaW5lIEFEQzE0X0NUTDBfU0hUMV8zICAgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAzMDAwKSAgICAgICAgICAvKio8IDMyICovDQojZGVmaW5lIEFEQzE0X0NUTDBfU0hUMV80ICAgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDA0MDAwKSAgICAgICAgICAvKio8IDY0ICovDQojZGVmaW5lIEFEQzE0X0NUTDBfU0hUMV81ICAgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDA1MDAwKSAgICAgICAgICAvKio8IDk2ICovDQojZGVmaW5lIEFEQzE0X0NUTDBfU0hUMV82ICAgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDA2MDAwKSAgICAgICAgICAvKio8IDEyOCAqLw0KI2RlZmluZSBBREMxNF9DVEwwX1NIVDFfNyAgICAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwNzAwMCkgICAgICAgICAgLyoqPCAxOTIgKi8NCiNkZWZpbmUgQURDMTRfQ1RMMF9TSFQxX180ICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDAwMDApICAgICAgICAgIC8qKjwgNCAqLw0KI2RlZmluZSBBREMxNF9DVEwwX1NIVDFfXzggICAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMTAwMCkgICAgICAgICAgLyoqPCA4ICovDQojZGVmaW5lIEFEQzE0X0NUTDBfU0hUMV9fMTYgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAyMDAwKSAgICAgICAgICAvKio8IDE2ICovDQojZGVmaW5lIEFEQzE0X0NUTDBfU0hUMV9fMzIgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAzMDAwKSAgICAgICAgICAvKio8IDMyICovDQojZGVmaW5lIEFEQzE0X0NUTDBfU0hUMV9fNjQgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDA0MDAwKSAgICAgICAgICAvKio8IDY0ICovDQojZGVmaW5lIEFEQzE0X0NUTDBfU0hUMV9fOTYgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDA1MDAwKSAgICAgICAgICAvKio8IDk2ICovDQojZGVmaW5lIEFEQzE0X0NUTDBfU0hUMV9fMTI4ICAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDA2MDAwKSAgICAgICAgICAvKio8IDEyOCAqLw0KI2RlZmluZSBBREMxNF9DVEwwX1NIVDFfXzE5MiAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwNzAwMCkgICAgICAgICAgLyoqPCAxOTIgKi8NCi8qIEFEQzE0X0NUTDBbQlVTWV0gQml0cyAqLw0KI2RlZmluZSBBREMxNF9DVEwwX0JVU1lfT0ZTICAgICAgICAgICAgICAgICAgICAgICgxNikgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyoqPCBBREMxNEJVU1kgQml0IE9mZnNldCAqLw0KI2RlZmluZSBBREMxNF9DVEwwX0JVU1kgICAgICAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAxMDAwMCkgICAgICAgICAgLyoqPCBBREMxNCBidXN5ICovDQovKiBBREMxNF9DVEwwW0NPTlNFUV0gQml0cyAqLw0KI2RlZmluZSBBREMxNF9DVEwwX0NPTlNFUV9PRlMgICAgICAgICAgICAgICAgICAgICgxNykgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyoqPCBBREMxNENPTlNFUSBCaXQgT2Zmc2V0ICovDQojZGVmaW5lIEFEQzE0X0NUTDBfQ09OU0VRX01BU0sgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDYwMDAwKSAgICAgICAgICAvKio8IEFEQzE0Q09OU0VRIEJpdCBNYXNrICovDQojZGVmaW5lIEFEQzE0X0NUTDBfQ09OU0VRMCAgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDIwMDAwKSAgICAgICAgICAvKio8IENPTlNFUSBCaXQgMCAqLw0KI2RlZmluZSBBREMxNF9DVEwwX0NPTlNFUTEgICAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDA0MDAwMCkgICAgICAgICAgLyoqPCBDT05TRVEgQml0IDEgKi8NCiNkZWZpbmUgQURDMTRfQ1RMMF9DT05TRVFfMCAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDAwMDApICAgICAgICAgIC8qKjwgU2luZ2xlLWNoYW5uZWwsIHNpbmdsZS1jb252ZXJzaW9uICovDQojZGVmaW5lIEFEQzE0X0NUTDBfQ09OU0VRXzEgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDIwMDAwKSAgICAgICAgICAvKio8IFNlcXVlbmNlLW9mLWNoYW5uZWxzICovDQojZGVmaW5lIEFEQzE0X0NUTDBfQ09OU0VRXzIgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDQwMDAwKSAgICAgICAgICAvKio8IFJlcGVhdC1zaW5nbGUtY2hhbm5lbCAqLw0KI2RlZmluZSBBREMxNF9DVEwwX0NPTlNFUV8zICAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDA2MDAwMCkgICAgICAgICAgLyoqPCBSZXBlYXQtc2VxdWVuY2Utb2YtY2hhbm5lbHMgKi8NCi8qIEFEQzE0X0NUTDBbU1NFTF0gQml0cyAqLw0KI2RlZmluZSBBREMxNF9DVEwwX1NTRUxfT0ZTICAgICAgICAgICAgICAgICAgICAgICgxOSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyoqPCBBREMxNFNTRUwgQml0IE9mZnNldCAqLw0KI2RlZmluZSBBREMxNF9DVEwwX1NTRUxfTUFTSyAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDM4MDAwMCkgICAgICAgICAgLyoqPCBBREMxNFNTRUwgQml0IE1hc2sgKi8NCiNkZWZpbmUgQURDMTRfQ1RMMF9TU0VMMCAgICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwODAwMDApICAgICAgICAgIC8qKjwgU1NFTCBCaXQgMCAqLw0KI2RlZmluZSBBREMxNF9DVEwwX1NTRUwxICAgICAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDEwMDAwMCkgICAgICAgICAgLyoqPCBTU0VMIEJpdCAxICovDQojZGVmaW5lIEFEQzE0X0NUTDBfU1NFTDIgICAgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMjAwMDAwKSAgICAgICAgICAvKio8IFNTRUwgQml0IDIgKi8NCiNkZWZpbmUgQURDMTRfQ1RMMF9TU0VMXzAgICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDAwMDApICAgICAgICAgIC8qKjwgTU9EQ0xLICovDQojZGVmaW5lIEFEQzE0X0NUTDBfU1NFTF8xICAgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDgwMDAwKSAgICAgICAgICAvKio8IFNZU0NMSyAqLw0KI2RlZmluZSBBREMxNF9DVEwwX1NTRUxfMiAgICAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDEwMDAwMCkgICAgICAgICAgLyoqPCBBQ0xLICovDQojZGVmaW5lIEFEQzE0X0NUTDBfU1NFTF8zICAgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMTgwMDAwKSAgICAgICAgICAvKio8IE1DTEsgKi8NCiNkZWZpbmUgQURDMTRfQ1RMMF9TU0VMXzQgICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAyMDAwMDApICAgICAgICAgIC8qKjwgU01DTEsgKi8NCiNkZWZpbmUgQURDMTRfQ1RMMF9TU0VMXzUgICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAyODAwMDApICAgICAgICAgIC8qKjwgSFNNQ0xLICovDQojZGVmaW5lIEFEQzE0X0NUTDBfU1NFTF9fTU9EQ0xLICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwMDAwKSAgICAgICAgICAvKio8IE1PRENMSyAqLw0KI2RlZmluZSBBREMxNF9DVEwwX1NTRUxfX1NZU0NMSyAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDA4MDAwMCkgICAgICAgICAgLyoqPCBTWVNDTEsgKi8NCiNkZWZpbmUgQURDMTRfQ1RMMF9TU0VMX19BQ0xLICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAxMDAwMDApICAgICAgICAgIC8qKjwgQUNMSyAqLw0KI2RlZmluZSBBREMxNF9DVEwwX1NTRUxfX01DTEsgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDE4MDAwMCkgICAgICAgICAgLyoqPCBNQ0xLICovDQojZGVmaW5lIEFEQzE0X0NUTDBfU1NFTF9fU01DTEsgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMjAwMDAwKSAgICAgICAgICAvKio8IFNNQ0xLICovDQojZGVmaW5lIEFEQzE0X0NUTDBfU1NFTF9fSFNNQ0xLICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMjgwMDAwKSAgICAgICAgICAvKio8IEhTTUNMSyAqLw0KLyogQURDMTRfQ1RMMFtESVZdIEJpdHMgKi8NCiNkZWZpbmUgQURDMTRfQ1RMMF9ESVZfT0ZTICAgICAgICAgICAgICAgICAgICAgICAoMjIpICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgQURDMTRESVYgQml0IE9mZnNldCAqLw0KI2RlZmluZSBBREMxNF9DVEwwX0RJVl9NQVNLICAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMUMwMDAwMCkgICAgICAgICAgLyoqPCBBREMxNERJViBCaXQgTWFzayAqLw0KI2RlZmluZSBBREMxNF9DVEwwX0RJVjAgICAgICAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDQwMDAwMCkgICAgICAgICAgLyoqPCBESVYgQml0IDAgKi8NCiNkZWZpbmUgQURDMTRfQ1RMMF9ESVYxICAgICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDA4MDAwMDApICAgICAgICAgIC8qKjwgRElWIEJpdCAxICovDQojZGVmaW5lIEFEQzE0X0NUTDBfRElWMiAgICAgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAxMDAwMDAwKSAgICAgICAgICAvKio8IERJViBCaXQgMiAqLw0KI2RlZmluZSBBREMxNF9DVEwwX0RJVl8wICAgICAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMDAwMCkgICAgICAgICAgLyoqPCAvMSAqLw0KI2RlZmluZSBBREMxNF9DVEwwX0RJVl8xICAgICAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDQwMDAwMCkgICAgICAgICAgLyoqPCAvMiAqLw0KI2RlZmluZSBBREMxNF9DVEwwX0RJVl8yICAgICAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDgwMDAwMCkgICAgICAgICAgLyoqPCAvMyAqLw0KI2RlZmluZSBBREMxNF9DVEwwX0RJVl8zICAgICAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMEMwMDAwMCkgICAgICAgICAgLyoqPCAvNCAqLw0KI2RlZmluZSBBREMxNF9DVEwwX0RJVl80ICAgICAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMTAwMDAwMCkgICAgICAgICAgLyoqPCAvNSAqLw0KI2RlZmluZSBBREMxNF9DVEwwX0RJVl81ICAgICAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMTQwMDAwMCkgICAgICAgICAgLyoqPCAvNiAqLw0KI2RlZmluZSBBREMxNF9DVEwwX0RJVl82ICAgICAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMTgwMDAwMCkgICAgICAgICAgLyoqPCAvNyAqLw0KI2RlZmluZSBBREMxNF9DVEwwX0RJVl83ICAgICAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMUMwMDAwMCkgICAgICAgICAgLyoqPCAvOCAqLw0KI2RlZmluZSBBREMxNF9DVEwwX0RJVl9fMSAgICAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMDAwMCkgICAgICAgICAgLyoqPCAvMSAqLw0KI2RlZmluZSBBREMxNF9DVEwwX0RJVl9fMiAgICAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDQwMDAwMCkgICAgICAgICAgLyoqPCAvMiAqLw0KI2RlZmluZSBBREMxNF9DVEwwX0RJVl9fMyAgICAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDgwMDAwMCkgICAgICAgICAgLyoqPCAvMyAqLw0KI2RlZmluZSBBREMxNF9DVEwwX0RJVl9fNCAgICAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMEMwMDAwMCkgICAgICAgICAgLyoqPCAvNCAqLw0KI2RlZmluZSBBREMxNF9DVEwwX0RJVl9fNSAgICAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMTAwMDAwMCkgICAgICAgICAgLyoqPCAvNSAqLw0KI2RlZmluZSBBREMxNF9DVEwwX0RJVl9fNiAgICAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMTQwMDAwMCkgICAgICAgICAgLyoqPCAvNiAqLw0KI2RlZmluZSBBREMxNF9DVEwwX0RJVl9fNyAgICAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMTgwMDAwMCkgICAgICAgICAgLyoqPCAvNyAqLw0KI2RlZmluZSBBREMxNF9DVEwwX0RJVl9fOCAgICAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMUMwMDAwMCkgICAgICAgICAgLyoqPCAvOCAqLw0KLyogQURDMTRfQ1RMMFtJU1NIXSBCaXRzICovDQojZGVmaW5lIEFEQzE0X0NUTDBfSVNTSF9PRlMgICAgICAgICAgICAgICAgICAgICAgKDI1KSAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKio8IEFEQzE0SVNTSCBCaXQgT2Zmc2V0ICovDQojZGVmaW5lIEFEQzE0X0NUTDBfSVNTSCAgICAgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAyMDAwMDAwKSAgICAgICAgICAvKio8IEFEQzE0IGludmVydCBzaWduYWwgc2FtcGxlLWFuZC1ob2xkICovDQovKiBBREMxNF9DVEwwW1NIUF0gQml0cyAqLw0KI2RlZmluZSBBREMxNF9DVEwwX1NIUF9PRlMgICAgICAgICAgICAgICAgICAgICAgICgyNikgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyoqPCBBREMxNFNIUCBCaXQgT2Zmc2V0ICovDQojZGVmaW5lIEFEQzE0X0NUTDBfU0hQICAgICAgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDA0MDAwMDAwKSAgICAgICAgICAvKio8IEFEQzE0IHNhbXBsZS1hbmQtaG9sZCBwdWxzZS1tb2RlIHNlbGVjdCAqLw0KLyogQURDMTRfQ1RMMFtTSFNdIEJpdHMgKi8NCiNkZWZpbmUgQURDMTRfQ1RMMF9TSFNfT0ZTICAgICAgICAgICAgICAgICAgICAgICAoMjcpICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgQURDMTRTSFMgQml0IE9mZnNldCAqLw0KI2RlZmluZSBBREMxNF9DVEwwX1NIU19NQVNLICAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgzODAwMDAwMCkgICAgICAgICAgLyoqPCBBREMxNFNIUyBCaXQgTWFzayAqLw0KI2RlZmluZSBBREMxNF9DVEwwX1NIUzAgICAgICAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwODAwMDAwMCkgICAgICAgICAgLyoqPCBTSFMgQml0IDAgKi8NCiNkZWZpbmUgQURDMTRfQ1RMMF9TSFMxICAgICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MTAwMDAwMDApICAgICAgICAgIC8qKjwgU0hTIEJpdCAxICovDQojZGVmaW5lIEFEQzE0X0NUTDBfU0hTMiAgICAgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDIwMDAwMDAwKSAgICAgICAgICAvKio8IFNIUyBCaXQgMiAqLw0KI2RlZmluZSBBREMxNF9DVEwwX1NIU18wICAgICAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMDAwMCkgICAgICAgICAgLyoqPCBBREMxNFNDIGJpdCAqLw0KI2RlZmluZSBBREMxNF9DVEwwX1NIU18xICAgICAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwODAwMDAwMCkgICAgICAgICAgLyoqPCBTZWUgZGV2aWNlLXNwZWNpZmljIGRhdGEgc2hlZXQgZm9yIHNvdXJjZSAqLw0KI2RlZmluZSBBREMxNF9DVEwwX1NIU18yICAgICAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgxMDAwMDAwMCkgICAgICAgICAgLyoqPCBTZWUgZGV2aWNlLXNwZWNpZmljIGRhdGEgc2hlZXQgZm9yIHNvdXJjZSAqLw0KI2RlZmluZSBBREMxNF9DVEwwX1NIU18zICAgICAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgxODAwMDAwMCkgICAgICAgICAgLyoqPCBTZWUgZGV2aWNlLXNwZWNpZmljIGRhdGEgc2hlZXQgZm9yIHNvdXJjZSAqLw0KI2RlZmluZSBBREMxNF9DVEwwX1NIU180ICAgICAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgyMDAwMDAwMCkgICAgICAgICAgLyoqPCBTZWUgZGV2aWNlLXNwZWNpZmljIGRhdGEgc2hlZXQgZm9yIHNvdXJjZSAqLw0KI2RlZmluZSBBREMxNF9DVEwwX1NIU181ICAgICAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgyODAwMDAwMCkgICAgICAgICAgLyoqPCBTZWUgZGV2aWNlLXNwZWNpZmljIGRhdGEgc2hlZXQgZm9yIHNvdXJjZSAqLw0KI2RlZmluZSBBREMxNF9DVEwwX1NIU182ICAgICAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgzMDAwMDAwMCkgICAgICAgICAgLyoqPCBTZWUgZGV2aWNlLXNwZWNpZmljIGRhdGEgc2hlZXQgZm9yIHNvdXJjZSAqLw0KI2RlZmluZSBBREMxNF9DVEwwX1NIU183ICAgICAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgzODAwMDAwMCkgICAgICAgICAgLyoqPCBTZWUgZGV2aWNlLXNwZWNpZmljIGRhdGEgc2hlZXQgZm9yIHNvdXJjZSAqLw0KLyogQURDMTRfQ1RMMFtQRElWXSBCaXRzICovDQojZGVmaW5lIEFEQzE0X0NUTDBfUERJVl9PRlMgICAgICAgICAgICAgICAgICAgICAgKDMwKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKio8IEFEQzE0UERJViBCaXQgT2Zmc2V0ICovDQojZGVmaW5lIEFEQzE0X0NUTDBfUERJVl9NQVNLICAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweEMwMDAwMDAwKSAgICAgICAgICAvKio8IEFEQzE0UERJViBCaXQgTWFzayAqLw0KI2RlZmluZSBBREMxNF9DVEwwX1BESVYwICAgICAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHg0MDAwMDAwMCkgICAgICAgICAgLyoqPCBQRElWIEJpdCAwICovDQojZGVmaW5lIEFEQzE0X0NUTDBfUERJVjEgICAgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDgwMDAwMDAwKSAgICAgICAgICAvKio8IFBESVYgQml0IDEgKi8NCiNkZWZpbmUgQURDMTRfQ1RMMF9QRElWXzAgICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDAwMDApICAgICAgICAgIC8qKjwgUHJlZGl2aWRlIGJ5IDEgKi8NCiNkZWZpbmUgQURDMTRfQ1RMMF9QRElWXzEgICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4NDAwMDAwMDApICAgICAgICAgIC8qKjwgUHJlZGl2aWRlIGJ5IDQgKi8NCiNkZWZpbmUgQURDMTRfQ1RMMF9QRElWXzIgICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4ODAwMDAwMDApICAgICAgICAgIC8qKjwgUHJlZGl2aWRlIGJ5IDMyICovDQojZGVmaW5lIEFEQzE0X0NUTDBfUERJVl8zICAgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweEMwMDAwMDAwKSAgICAgICAgICAvKio8IFByZWRpdmlkZSBieSA2NCAqLw0KI2RlZmluZSBBREMxNF9DVEwwX1BESVZfXzEgICAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMDAwMCkgICAgICAgICAgLyoqPCBQcmVkaXZpZGUgYnkgMSAqLw0KI2RlZmluZSBBREMxNF9DVEwwX1BESVZfXzQgICAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHg0MDAwMDAwMCkgICAgICAgICAgLyoqPCBQcmVkaXZpZGUgYnkgNCAqLw0KI2RlZmluZSBBREMxNF9DVEwwX1BESVZfXzMyICAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHg4MDAwMDAwMCkgICAgICAgICAgLyoqPCBQcmVkaXZpZGUgYnkgMzIgKi8NCiNkZWZpbmUgQURDMTRfQ1RMMF9QRElWX182NCAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4QzAwMDAwMDApICAgICAgICAgIC8qKjwgUHJlZGl2aWRlIGJ5IDY0ICovDQovKiBBREMxNF9DVEwxW1BXUk1EXSBCaXRzICovDQojZGVmaW5lIEFEQzE0X0NUTDFfUFdSTURfT0ZTICAgICAgICAgICAgICAgICAgICAgKCAwKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKio8IEFEQzE0UFdSTUQgQml0IE9mZnNldCAqLw0KI2RlZmluZSBBREMxNF9DVEwxX1BXUk1EX01BU0sgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMDAwMykgICAgICAgICAgLyoqPCBBREMxNFBXUk1EIEJpdCBNYXNrICovDQojZGVmaW5lIEFEQzE0X0NUTDFfUFdSTUQwICAgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwMDAxKSAgICAgICAgICAvKio8IFBXUk1EIEJpdCAwICovDQojZGVmaW5lIEFEQzE0X0NUTDFfUFdSTUQxICAgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwMDAyKSAgICAgICAgICAvKio8IFBXUk1EIEJpdCAxICovDQojZGVmaW5lIEFEQzE0X0NUTDFfUFdSTURfMCAgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwMDAwKSAgICAgICAgICAvKio8IFJlZ3VsYXIgcG93ZXIgbW9kZSBmb3IgdXNlIHdpdGggYW55IHJlc29sdXRpb24gc2V0dGluZy4gU2FtcGxlIHJhdGUgY2FuIGJlIHVwICAqLw0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyogdG8gMSBNc3BzLiAqLw0KI2RlZmluZSBBREMxNF9DVEwxX1BXUk1EXzIgICAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMDAwMikgICAgICAgICAgLyoqPCBMb3ctcG93ZXIgbW9kZSBmb3IgMTItYml0LCAxMC1iaXQsIGFuZCA4LWJpdCByZXNvbHV0aW9uIHNldHRpbmdzLiBTYW1wbGUgcmF0ZSAgKi8NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qIG11c3Qgbm90IGV4Y2VlZCAyMDAga3Nwcy4gKi8NCi8qIEFEQzE0X0NUTDFbUkVGQlVSU1RdIEJpdHMgKi8NCiNkZWZpbmUgQURDMTRfQ1RMMV9SRUZCVVJTVF9PRlMgICAgICAgICAgICAgICAgICAoIDIpICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgQURDMTRSRUZCVVJTVCBCaXQgT2Zmc2V0ICovDQojZGVmaW5lIEFEQzE0X0NUTDFfUkVGQlVSU1QgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwMDA0KSAgICAgICAgICAvKio8IEFEQzE0IHJlZmVyZW5jZSBidWZmZXIgYnVyc3QgKi8NCi8qIEFEQzE0X0NUTDFbREZdIEJpdHMgKi8NCiNkZWZpbmUgQURDMTRfQ1RMMV9ERl9PRlMgICAgICAgICAgICAgICAgICAgICAgICAoIDMpICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgQURDMTRERiBCaXQgT2Zmc2V0ICovDQojZGVmaW5lIEFEQzE0X0NUTDFfREYgICAgICAgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwMDA4KSAgICAgICAgICAvKio8IEFEQzE0IGRhdGEgcmVhZC1iYWNrIGZvcm1hdCAqLw0KLyogQURDMTRfQ1RMMVtSRVNdIEJpdHMgKi8NCiNkZWZpbmUgQURDMTRfQ1RMMV9SRVNfT0ZTICAgICAgICAgICAgICAgICAgICAgICAoIDQpICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgQURDMTRSRVMgQml0IE9mZnNldCAqLw0KI2RlZmluZSBBREMxNF9DVEwxX1JFU19NQVNLICAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMDAzMCkgICAgICAgICAgLyoqPCBBREMxNFJFUyBCaXQgTWFzayAqLw0KI2RlZmluZSBBREMxNF9DVEwxX1JFUzAgICAgICAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMDAxMCkgICAgICAgICAgLyoqPCBSRVMgQml0IDAgKi8NCiNkZWZpbmUgQURDMTRfQ1RMMV9SRVMxICAgICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDAwMjApICAgICAgICAgIC8qKjwgUkVTIEJpdCAxICovDQojZGVmaW5lIEFEQzE0X0NUTDFfUkVTXzAgICAgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwMDAwKSAgICAgICAgICAvKio8IDggYml0ICg5IGNsb2NrIGN5Y2xlIGNvbnZlcnNpb24gdGltZSkgKi8NCiNkZWZpbmUgQURDMTRfQ1RMMV9SRVNfMSAgICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDAwMTApICAgICAgICAgIC8qKjwgMTAgYml0ICgxMSBjbG9jayBjeWNsZSBjb252ZXJzaW9uIHRpbWUpICovDQojZGVmaW5lIEFEQzE0X0NUTDFfUkVTXzIgICAgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwMDIwKSAgICAgICAgICAvKio8IDEyIGJpdCAoMTQgY2xvY2sgY3ljbGUgY29udmVyc2lvbiB0aW1lKSAqLw0KI2RlZmluZSBBREMxNF9DVEwxX1JFU18zICAgICAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMDAzMCkgICAgICAgICAgLyoqPCAxNCBiaXQgKDE2IGNsb2NrIGN5Y2xlIGNvbnZlcnNpb24gdGltZSkgKi8NCiNkZWZpbmUgQURDMTRfQ1RMMV9SRVNfXzhCSVQgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDAwMDApICAgICAgICAgIC8qKjwgOCBiaXQgKDkgY2xvY2sgY3ljbGUgY29udmVyc2lvbiB0aW1lKSAqLw0KI2RlZmluZSBBREMxNF9DVEwxX1JFU19fMTBCSVQgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMDAxMCkgICAgICAgICAgLyoqPCAxMCBiaXQgKDExIGNsb2NrIGN5Y2xlIGNvbnZlcnNpb24gdGltZSkgKi8NCiNkZWZpbmUgQURDMTRfQ1RMMV9SRVNfXzEyQklUICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDAwMjApICAgICAgICAgIC8qKjwgMTIgYml0ICgxNCBjbG9jayBjeWNsZSBjb252ZXJzaW9uIHRpbWUpICovDQojZGVmaW5lIEFEQzE0X0NUTDFfUkVTX18xNEJJVCAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwMDMwKSAgICAgICAgICAvKio8IDE0IGJpdCAoMTYgY2xvY2sgY3ljbGUgY29udmVyc2lvbiB0aW1lKSAqLw0KLyogQURDMTRfQ1RMMVtDU1RBUlRBRERdIEJpdHMgKi8NCiNkZWZpbmUgQURDMTRfQ1RMMV9DU1RBUlRBRERfT0ZTICAgICAgICAgICAgICAgICAoMTYpICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgQURDMTRDU1RBUlRBREQgQml0IE9mZnNldCAqLw0KI2RlZmluZSBBREMxNF9DVEwxX0NTVEFSVEFERF9NQVNLICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDFGMDAwMCkgICAgICAgICAgLyoqPCBBREMxNENTVEFSVEFERCBCaXQgTWFzayAqLw0KLyogQURDMTRfQ1RMMVtCQVRNQVBdIEJpdHMgKi8NCiNkZWZpbmUgQURDMTRfQ1RMMV9CQVRNQVBfT0ZTICAgICAgICAgICAgICAgICAgICAoMjIpICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgQURDMTRCQVRNQVAgQml0IE9mZnNldCAqLw0KI2RlZmluZSBBREMxNF9DVEwxX0JBVE1BUCAgICAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDQwMDAwMCkgICAgICAgICAgLyoqPCBDb250cm9scyAxLzIgQVZDQyBBREMgaW5wdXQgY2hhbm5lbCBzZWxlY3Rpb24gKi8NCi8qIEFEQzE0X0NUTDFbVENNQVBdIEJpdHMgKi8NCiNkZWZpbmUgQURDMTRfQ1RMMV9UQ01BUF9PRlMgICAgICAgICAgICAgICAgICAgICAoMjMpICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgQURDMTRUQ01BUCBCaXQgT2Zmc2V0ICovDQojZGVmaW5lIEFEQzE0X0NUTDFfVENNQVAgICAgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwODAwMDAwKSAgICAgICAgICAvKio8IENvbnRyb2xzIHRlbXBlcmF0dXJlIHNlbnNvciBBREMgaW5wdXQgY2hhbm5lbCBzZWxlY3Rpb24gKi8NCi8qIEFEQzE0X0NUTDFbQ0gwTUFQXSBCaXRzICovDQojZGVmaW5lIEFEQzE0X0NUTDFfQ0gwTUFQX09GUyAgICAgICAgICAgICAgICAgICAgKDI0KSAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKio8IEFEQzE0Q0gwTUFQIEJpdCBPZmZzZXQgKi8NCiNkZWZpbmUgQURDMTRfQ1RMMV9DSDBNQVAgICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDEwMDAwMDApICAgICAgICAgIC8qKjwgQ29udHJvbHMgaW50ZXJuYWwgY2hhbm5lbCAwIHNlbGVjdGlvbiB0byBBREMgaW5wdXQgY2hhbm5lbCBNQVgtMiAqLw0KLyogQURDMTRfQ1RMMVtDSDFNQVBdIEJpdHMgKi8NCiNkZWZpbmUgQURDMTRfQ1RMMV9DSDFNQVBfT0ZTICAgICAgICAgICAgICAgICAgICAoMjUpICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgQURDMTRDSDFNQVAgQml0IE9mZnNldCAqLw0KI2RlZmluZSBBREMxNF9DVEwxX0NIMU1BUCAgICAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMjAwMDAwMCkgICAgICAgICAgLyoqPCBDb250cm9scyBpbnRlcm5hbCBjaGFubmVsIDEgc2VsZWN0aW9uIHRvIEFEQyBpbnB1dCBjaGFubmVsIE1BWC0zICovDQovKiBBREMxNF9DVEwxW0NIMk1BUF0gQml0cyAqLw0KI2RlZmluZSBBREMxNF9DVEwxX0NIMk1BUF9PRlMgICAgICAgICAgICAgICAgICAgICgyNikgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyoqPCBBREMxNENIMk1BUCBCaXQgT2Zmc2V0ICovDQojZGVmaW5lIEFEQzE0X0NUTDFfQ0gyTUFQICAgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDA0MDAwMDAwKSAgICAgICAgICAvKio8IENvbnRyb2xzIGludGVybmFsIGNoYW5uZWwgMiBzZWxlY3Rpb24gdG8gQURDIGlucHV0IGNoYW5uZWwgTUFYLTQgKi8NCi8qIEFEQzE0X0NUTDFbQ0gzTUFQXSBCaXRzICovDQojZGVmaW5lIEFEQzE0X0NUTDFfQ0gzTUFQX09GUyAgICAgICAgICAgICAgICAgICAgKDI3KSAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKio8IEFEQzE0Q0gzTUFQIEJpdCBPZmZzZXQgKi8NCiNkZWZpbmUgQURDMTRfQ1RMMV9DSDNNQVAgICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDgwMDAwMDApICAgICAgICAgIC8qKjwgQ29udHJvbHMgaW50ZXJuYWwgY2hhbm5lbCAzIHNlbGVjdGlvbiB0byBBREMgaW5wdXQgY2hhbm5lbCBNQVgtNSAqLw0KLyogQURDMTRfTE8wW0xPMF0gQml0cyAqLw0KI2RlZmluZSBBREMxNF9MTzBfTE8wX09GUyAgICAgICAgICAgICAgICAgICAgICAgICggMCkgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyoqPCBBREMxNExPMCBCaXQgT2Zmc2V0ICovDQojZGVmaW5lIEFEQzE0X0xPMF9MTzBfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDBGRkZGKSAgICAgICAgICAvKio8IEFEQzE0TE8wIEJpdCBNYXNrICovDQovKiBBREMxNF9ISTBbSEkwXSBCaXRzICovDQojZGVmaW5lIEFEQzE0X0hJMF9ISTBfT0ZTICAgICAgICAgICAgICAgICAgICAgICAgKCAwKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKio8IEFEQzE0SEkwIEJpdCBPZmZzZXQgKi8NCiNkZWZpbmUgQURDMTRfSEkwX0hJMF9NQVNLICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMEZGRkYpICAgICAgICAgIC8qKjwgQURDMTRISTAgQml0IE1hc2sgKi8NCi8qIEFEQzE0X0xPMVtMTzFdIEJpdHMgKi8NCiNkZWZpbmUgQURDMTRfTE8xX0xPMV9PRlMgICAgICAgICAgICAgICAgICAgICAgICAoIDApICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgQURDMTRMTzEgQml0IE9mZnNldCAqLw0KI2RlZmluZSBBREMxNF9MTzFfTE8xX01BU0sgICAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwRkZGRikgICAgICAgICAgLyoqPCBBREMxNExPMSBCaXQgTWFzayAqLw0KLyogQURDMTRfSEkxW0hJMV0gQml0cyAqLw0KI2RlZmluZSBBREMxNF9ISTFfSEkxX09GUyAgICAgICAgICAgICAgICAgICAgICAgICggMCkgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyoqPCBBREMxNEhJMSBCaXQgT2Zmc2V0ICovDQojZGVmaW5lIEFEQzE0X0hJMV9ISTFfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDBGRkZGKSAgICAgICAgICAvKio8IEFEQzE0SEkxIEJpdCBNYXNrICovDQovKiBBREMxNF9NQ1RMTltJTkNIXSBCaXRzICovDQojZGVmaW5lIEFEQzE0X01DVExOX0lOQ0hfT0ZTICAgICAgICAgICAgICAgICAgICAgKCAwKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKio8IEFEQzE0SU5DSCBCaXQgT2Zmc2V0ICovDQojZGVmaW5lIEFEQzE0X01DVExOX0lOQ0hfTUFTSyAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwMDFGKSAgICAgICAgICAvKio8IEFEQzE0SU5DSCBCaXQgTWFzayAqLw0KI2RlZmluZSBBREMxNF9NQ1RMTl9JTkNIMCAgICAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMDAwMSkgICAgICAgICAgLyoqPCBJTkNIIEJpdCAwICovDQojZGVmaW5lIEFEQzE0X01DVExOX0lOQ0gxICAgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwMDAyKSAgICAgICAgICAvKio8IElOQ0ggQml0IDEgKi8NCiNkZWZpbmUgQURDMTRfTUNUTE5fSU5DSDIgICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDAwMDQpICAgICAgICAgIC8qKjwgSU5DSCBCaXQgMiAqLw0KI2RlZmluZSBBREMxNF9NQ1RMTl9JTkNIMyAgICAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMDAwOCkgICAgICAgICAgLyoqPCBJTkNIIEJpdCAzICovDQojZGVmaW5lIEFEQzE0X01DVExOX0lOQ0g0ICAgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwMDEwKSAgICAgICAgICAvKio8IElOQ0ggQml0IDQgKi8NCiNkZWZpbmUgQURDMTRfTUNUTE5fSU5DSF8wICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDAwMDApICAgICAgICAgIC8qKjwgSWYgQURDMTRESUYgPSAwOiBBMDsgSWYgQURDMTRESUYgPSAxOiBBaW4rID0gQTAsIEFpbi0gPSBBMSAqLw0KI2RlZmluZSBBREMxNF9NQ1RMTl9JTkNIXzEgICAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMDAwMSkgICAgICAgICAgLyoqPCBJZiBBREMxNERJRiA9IDA6IEExOyBJZiBBREMxNERJRiA9IDE6IEFpbisgPSBBMCwgQWluLSA9IEExICovDQojZGVmaW5lIEFEQzE0X01DVExOX0lOQ0hfMiAgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwMDAyKSAgICAgICAgICAvKio8IElmIEFEQzE0RElGID0gMDogQTI7IElmIEFEQzE0RElGID0gMTogQWluKyA9IEEyLCBBaW4tID0gQTMgKi8NCiNkZWZpbmUgQURDMTRfTUNUTE5fSU5DSF8zICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDAwMDMpICAgICAgICAgIC8qKjwgSWYgQURDMTRESUYgPSAwOiBBMzsgSWYgQURDMTRESUYgPSAxOiBBaW4rID0gQTIsIEFpbi0gPSBBMyAqLw0KI2RlZmluZSBBREMxNF9NQ1RMTl9JTkNIXzQgICAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMDAwNCkgICAgICAgICAgLyoqPCBJZiBBREMxNERJRiA9IDA6IEE0OyBJZiBBREMxNERJRiA9IDE6IEFpbisgPSBBNCwgQWluLSA9IEE1ICovDQojZGVmaW5lIEFEQzE0X01DVExOX0lOQ0hfNSAgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwMDA1KSAgICAgICAgICAvKio8IElmIEFEQzE0RElGID0gMDogQTU7IElmIEFEQzE0RElGID0gMTogQWluKyA9IEE0LCBBaW4tID0gQTUgKi8NCiNkZWZpbmUgQURDMTRfTUNUTE5fSU5DSF82ICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDAwMDYpICAgICAgICAgIC8qKjwgSWYgQURDMTRESUYgPSAwOiBBNjsgSWYgQURDMTRESUYgPSAxOiBBaW4rID0gQTYsIEFpbi0gPSBBNyAqLw0KI2RlZmluZSBBREMxNF9NQ1RMTl9JTkNIXzcgICAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMDAwNykgICAgICAgICAgLyoqPCBJZiBBREMxNERJRiA9IDA6IEE3OyBJZiBBREMxNERJRiA9IDE6IEFpbisgPSBBNiwgQWluLSA9IEE3ICovDQojZGVmaW5lIEFEQzE0X01DVExOX0lOQ0hfOCAgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwMDA4KSAgICAgICAgICAvKio8IElmIEFEQzE0RElGID0gMDogQTg7IElmIEFEQzE0RElGID0gMTogQWluKyA9IEE4LCBBaW4tID0gQTkgKi8NCiNkZWZpbmUgQURDMTRfTUNUTE5fSU5DSF85ICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDAwMDkpICAgICAgICAgIC8qKjwgSWYgQURDMTRESUYgPSAwOiBBOTsgSWYgQURDMTRESUYgPSAxOiBBaW4rID0gQTgsIEFpbi0gPSBBOSAqLw0KI2RlZmluZSBBREMxNF9NQ1RMTl9JTkNIXzEwICAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMDAwQSkgICAgICAgICAgLyoqPCBJZiBBREMxNERJRiA9IDA6IEExMDsgSWYgQURDMTRESUYgPSAxOiBBaW4rID0gQTEwLCBBaW4tID0gQTExICovDQojZGVmaW5lIEFEQzE0X01DVExOX0lOQ0hfMTEgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwMDBCKSAgICAgICAgICAvKio8IElmIEFEQzE0RElGID0gMDogQTExOyBJZiBBREMxNERJRiA9IDE6IEFpbisgPSBBMTAsIEFpbi0gPSBBMTEgKi8NCiNkZWZpbmUgQURDMTRfTUNUTE5fSU5DSF8xMiAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDAwMEMpICAgICAgICAgIC8qKjwgSWYgQURDMTRESUYgPSAwOiBBMTI7IElmIEFEQzE0RElGID0gMTogQWluKyA9IEExMiwgQWluLSA9IEExMyAqLw0KI2RlZmluZSBBREMxNF9NQ1RMTl9JTkNIXzEzICAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMDAwRCkgICAgICAgICAgLyoqPCBJZiBBREMxNERJRiA9IDA6IEExMzsgSWYgQURDMTRESUYgPSAxOiBBaW4rID0gQTEyLCBBaW4tID0gQTEzICovDQojZGVmaW5lIEFEQzE0X01DVExOX0lOQ0hfMTQgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwMDBFKSAgICAgICAgICAvKio8IElmIEFEQzE0RElGID0gMDogQTE0OyBJZiBBREMxNERJRiA9IDE6IEFpbisgPSBBMTQsIEFpbi0gPSBBMTUgKi8NCiNkZWZpbmUgQURDMTRfTUNUTE5fSU5DSF8xNSAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDAwMEYpICAgICAgICAgIC8qKjwgSWYgQURDMTRESUYgPSAwOiBBMTU7IElmIEFEQzE0RElGID0gMTogQWluKyA9IEExNCwgQWluLSA9IEExNSAqLw0KI2RlZmluZSBBREMxNF9NQ1RMTl9JTkNIXzE2ICAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMDAxMCkgICAgICAgICAgLyoqPCBJZiBBREMxNERJRiA9IDA6IEExNjsgSWYgQURDMTRESUYgPSAxOiBBaW4rID0gQTE2LCBBaW4tID0gQTE3ICovDQojZGVmaW5lIEFEQzE0X01DVExOX0lOQ0hfMTcgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwMDExKSAgICAgICAgICAvKio8IElmIEFEQzE0RElGID0gMDogQTE3OyBJZiBBREMxNERJRiA9IDE6IEFpbisgPSBBMTYsIEFpbi0gPSBBMTcgKi8NCiNkZWZpbmUgQURDMTRfTUNUTE5fSU5DSF8xOCAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDAwMTIpICAgICAgICAgIC8qKjwgSWYgQURDMTRESUYgPSAwOiBBMTg7IElmIEFEQzE0RElGID0gMTogQWluKyA9IEExOCwgQWluLSA9IEExOSAqLw0KI2RlZmluZSBBREMxNF9NQ1RMTl9JTkNIXzE5ICAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMDAxMykgICAgICAgICAgLyoqPCBJZiBBREMxNERJRiA9IDA6IEExOTsgSWYgQURDMTRESUYgPSAxOiBBaW4rID0gQTE4LCBBaW4tID0gQTE5ICovDQojZGVmaW5lIEFEQzE0X01DVExOX0lOQ0hfMjAgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwMDE0KSAgICAgICAgICAvKio8IElmIEFEQzE0RElGID0gMDogQTIwOyBJZiBBREMxNERJRiA9IDE6IEFpbisgPSBBMjAsIEFpbi0gPSBBMjEgKi8NCiNkZWZpbmUgQURDMTRfTUNUTE5fSU5DSF8yMSAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDAwMTUpICAgICAgICAgIC8qKjwgSWYgQURDMTRESUYgPSAwOiBBMjE7IElmIEFEQzE0RElGID0gMTogQWluKyA9IEEyMCwgQWluLSA9IEEyMSAqLw0KI2RlZmluZSBBREMxNF9NQ1RMTl9JTkNIXzIyICAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMDAxNikgICAgICAgICAgLyoqPCBJZiBBREMxNERJRiA9IDA6IEEyMjsgSWYgQURDMTRESUYgPSAxOiBBaW4rID0gQTIyLCBBaW4tID0gQTIzICovDQojZGVmaW5lIEFEQzE0X01DVExOX0lOQ0hfMjMgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwMDE3KSAgICAgICAgICAvKio8IElmIEFEQzE0RElGID0gMDogQTIzOyBJZiBBREMxNERJRiA9IDE6IEFpbisgPSBBMjIsIEFpbi0gPSBBMjMgKi8NCiNkZWZpbmUgQURDMTRfTUNUTE5fSU5DSF8yNCAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDAwMTgpICAgICAgICAgIC8qKjwgSWYgQURDMTRESUYgPSAwOiBBMjQ7IElmIEFEQzE0RElGID0gMTogQWluKyA9IEEyNCwgQWluLSA9IEEyNSAqLw0KI2RlZmluZSBBREMxNF9NQ1RMTl9JTkNIXzI1ICAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMDAxOSkgICAgICAgICAgLyoqPCBJZiBBREMxNERJRiA9IDA6IEEyNTsgSWYgQURDMTRESUYgPSAxOiBBaW4rID0gQTI0LCBBaW4tID0gQTI1ICovDQojZGVmaW5lIEFEQzE0X01DVExOX0lOQ0hfMjYgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwMDFBKSAgICAgICAgICAvKio8IElmIEFEQzE0RElGID0gMDogQTI2OyBJZiBBREMxNERJRiA9IDE6IEFpbisgPSBBMjYsIEFpbi0gPSBBMjcgKi8NCiNkZWZpbmUgQURDMTRfTUNUTE5fSU5DSF8yNyAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDAwMUIpICAgICAgICAgIC8qKjwgSWYgQURDMTRESUYgPSAwOiBBMjc7IElmIEFEQzE0RElGID0gMTogQWluKyA9IEEyNiwgQWluLSA9IEEyNyAqLw0KI2RlZmluZSBBREMxNF9NQ1RMTl9JTkNIXzI4ICAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMDAxQykgICAgICAgICAgLyoqPCBJZiBBREMxNERJRiA9IDA6IEEyODsgSWYgQURDMTRESUYgPSAxOiBBaW4rID0gQTI4LCBBaW4tID0gQTI5ICovDQojZGVmaW5lIEFEQzE0X01DVExOX0lOQ0hfMjkgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwMDFEKSAgICAgICAgICAvKio8IElmIEFEQzE0RElGID0gMDogQTI5OyBJZiBBREMxNERJRiA9IDE6IEFpbisgPSBBMjgsIEFpbi0gPSBBMjkgKi8NCiNkZWZpbmUgQURDMTRfTUNUTE5fSU5DSF8zMCAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDAwMUUpICAgICAgICAgIC8qKjwgSWYgQURDMTRESUYgPSAwOiBBMzA7IElmIEFEQzE0RElGID0gMTogQWluKyA9IEEzMCwgQWluLSA9IEEzMSAqLw0KI2RlZmluZSBBREMxNF9NQ1RMTl9JTkNIXzMxICAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMDAxRikgICAgICAgICAgLyoqPCBJZiBBREMxNERJRiA9IDA6IEEzMTsgSWYgQURDMTRESUYgPSAxOiBBaW4rID0gQTMwLCBBaW4tID0gQTMxICovDQovKiBBREMxNF9NQ1RMTltFT1NdIEJpdHMgKi8NCiNkZWZpbmUgQURDMTRfTUNUTE5fRU9TX09GUyAgICAgICAgICAgICAgICAgICAgICAoIDcpICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgQURDMTRFT1MgQml0IE9mZnNldCAqLw0KI2RlZmluZSBBREMxNF9NQ1RMTl9FT1MgICAgICAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMDA4MCkgICAgICAgICAgLyoqPCBFbmQgb2Ygc2VxdWVuY2UgKi8NCi8qIEFEQzE0X01DVExOW1ZSU0VMXSBCaXRzICovDQojZGVmaW5lIEFEQzE0X01DVExOX1ZSU0VMX09GUyAgICAgICAgICAgICAgICAgICAgKCA4KSAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKio8IEFEQzE0VlJTRUwgQml0IE9mZnNldCAqLw0KI2RlZmluZSBBREMxNF9NQ1RMTl9WUlNFTF9NQVNLICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMEYwMCkgICAgICAgICAgLyoqPCBBREMxNFZSU0VMIEJpdCBNYXNrICovDQojZGVmaW5lIEFEQzE0X01DVExOX1ZSU0VMMCAgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwMTAwKSAgICAgICAgICAvKio8IFZSU0VMIEJpdCAwICovDQojZGVmaW5lIEFEQzE0X01DVExOX1ZSU0VMMSAgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwMjAwKSAgICAgICAgICAvKio8IFZSU0VMIEJpdCAxICovDQojZGVmaW5lIEFEQzE0X01DVExOX1ZSU0VMMiAgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwNDAwKSAgICAgICAgICAvKio8IFZSU0VMIEJpdCAyICovDQojZGVmaW5lIEFEQzE0X01DVExOX1ZSU0VMMyAgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwODAwKSAgICAgICAgICAvKio8IFZSU0VMIEJpdCAzICovDQojZGVmaW5lIEFEQzE0X01DVExOX1ZSU0VMXzAgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwMDAwKSAgICAgICAgICAvKio8IFYoUispID0gQVZDQywgVihSLSkgPSBBVlNTICovDQojZGVmaW5lIEFEQzE0X01DVExOX1ZSU0VMXzEgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwMTAwKSAgICAgICAgICAvKio8IFYoUispID0gVlJFRiBidWZmZXJlZCwgVihSLSkgPSBBVlNTICovDQojZGVmaW5lIEFEQzE0X01DVExOX1ZSU0VMXzE0ICAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwRTAwKSAgICAgICAgICAvKio8IFYoUispID0gVmVSRUYrLCBWKFItKSA9IFZlUkVGLSAqLw0KI2RlZmluZSBBREMxNF9NQ1RMTl9WUlNFTF8xNSAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMEYwMCkgICAgICAgICAgLyoqPCBWKFIrKSA9IFZlUkVGKyBidWZmZXJlZCwgVihSLSkgPSBWZVJFRiAqLw0KLyogQURDMTRfTUNUTE5bRElGXSBCaXRzICovDQojZGVmaW5lIEFEQzE0X01DVExOX0RJRl9PRlMgICAgICAgICAgICAgICAgICAgICAgKDEzKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKio8IEFEQzE0RElGIEJpdCBPZmZzZXQgKi8NCiNkZWZpbmUgQURDMTRfTUNUTE5fRElGICAgICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDIwMDApICAgICAgICAgIC8qKjwgRGlmZmVyZW50aWFsIG1vZGUgKi8NCi8qIEFEQzE0X01DVExOW1dJTkNdIEJpdHMgKi8NCiNkZWZpbmUgQURDMTRfTUNUTE5fV0lOQ19PRlMgICAgICAgICAgICAgICAgICAgICAoMTQpICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgQURDMTRXSU5DIEJpdCBPZmZzZXQgKi8NCiNkZWZpbmUgQURDMTRfTUNUTE5fV0lOQyAgICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDQwMDApICAgICAgICAgIC8qKjwgQ29tcGFyYXRvciB3aW5kb3cgZW5hYmxlICovDQovKiBBREMxNF9NQ1RMTltXSU5DVEhdIEJpdHMgKi8NCiNkZWZpbmUgQURDMTRfTUNUTE5fV0lOQ1RIX09GUyAgICAgICAgICAgICAgICAgICAoMTUpICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgQURDMTRXSU5DVEggQml0IE9mZnNldCAqLw0KI2RlZmluZSBBREMxNF9NQ1RMTl9XSU5DVEggICAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwODAwMCkgICAgICAgICAgLyoqPCBXaW5kb3cgY29tcGFyYXRvciB0aHJlc2hvbGQgcmVnaXN0ZXIgc2VsZWN0aW9uICovDQovKiBBREMxNF9NRU1OW0NPTlZSRVNdIEJpdHMgKi8NCiNkZWZpbmUgQURDMTRfTUVNTl9DT05WUkVTX09GUyAgICAgICAgICAgICAgICAgICAoIDApICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgQ29udmVyc2lvbl9SZXN1bHRzIEJpdCBPZmZzZXQgKi8NCiNkZWZpbmUgQURDMTRfTUVNTl9DT05WUkVTX01BU0sgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMEZGRkYpICAgICAgICAgIC8qKjwgQ29udmVyc2lvbl9SZXN1bHRzIEJpdCBNYXNrICovDQovKiBBREMxNF9JRVIwW0lFMF0gQml0cyAqLw0KI2RlZmluZSBBREMxNF9JRVIwX0lFMF9PRlMgICAgICAgICAgICAgICAgICAgICAgICggMCkgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyoqPCBBREMxNElFMCBCaXQgT2Zmc2V0ICovDQojZGVmaW5lIEFEQzE0X0lFUjBfSUUwICAgICAgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwMDAxKSAgICAgICAgICAvKio8IEludGVycnVwdCBlbmFibGUgKi8NCi8qIEFEQzE0X0lFUjBbSUUxXSBCaXRzICovDQojZGVmaW5lIEFEQzE0X0lFUjBfSUUxX09GUyAgICAgICAgICAgICAgICAgICAgICAgKCAxKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKio8IEFEQzE0SUUxIEJpdCBPZmZzZXQgKi8NCiNkZWZpbmUgQURDMTRfSUVSMF9JRTEgICAgICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDAwMDIpICAgICAgICAgIC8qKjwgSW50ZXJydXB0IGVuYWJsZSAqLw0KLyogQURDMTRfSUVSMFtJRTJdIEJpdHMgKi8NCiNkZWZpbmUgQURDMTRfSUVSMF9JRTJfT0ZTICAgICAgICAgICAgICAgICAgICAgICAoIDIpICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgQURDMTRJRTIgQml0IE9mZnNldCAqLw0KI2RlZmluZSBBREMxNF9JRVIwX0lFMiAgICAgICAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMDAwNCkgICAgICAgICAgLyoqPCBJbnRlcnJ1cHQgZW5hYmxlICovDQovKiBBREMxNF9JRVIwW0lFM10gQml0cyAqLw0KI2RlZmluZSBBREMxNF9JRVIwX0lFM19PRlMgICAgICAgICAgICAgICAgICAgICAgICggMykgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyoqPCBBREMxNElFMyBCaXQgT2Zmc2V0ICovDQojZGVmaW5lIEFEQzE0X0lFUjBfSUUzICAgICAgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwMDA4KSAgICAgICAgICAvKio8IEludGVycnVwdCBlbmFibGUgKi8NCi8qIEFEQzE0X0lFUjBbSUU0XSBCaXRzICovDQojZGVmaW5lIEFEQzE0X0lFUjBfSUU0X09GUyAgICAgICAgICAgICAgICAgICAgICAgKCA0KSAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKio8IEFEQzE0SUU0IEJpdCBPZmZzZXQgKi8NCiNkZWZpbmUgQURDMTRfSUVSMF9JRTQgICAgICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDAwMTApICAgICAgICAgIC8qKjwgSW50ZXJydXB0IGVuYWJsZSAqLw0KLyogQURDMTRfSUVSMFtJRTVdIEJpdHMgKi8NCiNkZWZpbmUgQURDMTRfSUVSMF9JRTVfT0ZTICAgICAgICAgICAgICAgICAgICAgICAoIDUpICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgQURDMTRJRTUgQml0IE9mZnNldCAqLw0KI2RlZmluZSBBREMxNF9JRVIwX0lFNSAgICAgICAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMDAyMCkgICAgICAgICAgLyoqPCBJbnRlcnJ1cHQgZW5hYmxlICovDQovKiBBREMxNF9JRVIwW0lFNl0gQml0cyAqLw0KI2RlZmluZSBBREMxNF9JRVIwX0lFNl9PRlMgICAgICAgICAgICAgICAgICAgICAgICggNikgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyoqPCBBREMxNElFNiBCaXQgT2Zmc2V0ICovDQojZGVmaW5lIEFEQzE0X0lFUjBfSUU2ICAgICAgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwMDQwKSAgICAgICAgICAvKio8IEludGVycnVwdCBlbmFibGUgKi8NCi8qIEFEQzE0X0lFUjBbSUU3XSBCaXRzICovDQojZGVmaW5lIEFEQzE0X0lFUjBfSUU3X09GUyAgICAgICAgICAgICAgICAgICAgICAgKCA3KSAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKio8IEFEQzE0SUU3IEJpdCBPZmZzZXQgKi8NCiNkZWZpbmUgQURDMTRfSUVSMF9JRTcgICAgICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDAwODApICAgICAgICAgIC8qKjwgSW50ZXJydXB0IGVuYWJsZSAqLw0KLyogQURDMTRfSUVSMFtJRThdIEJpdHMgKi8NCiNkZWZpbmUgQURDMTRfSUVSMF9JRThfT0ZTICAgICAgICAgICAgICAgICAgICAgICAoIDgpICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgQURDMTRJRTggQml0IE9mZnNldCAqLw0KI2RlZmluZSBBREMxNF9JRVIwX0lFOCAgICAgICAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMDEwMCkgICAgICAgICAgLyoqPCBJbnRlcnJ1cHQgZW5hYmxlICovDQovKiBBREMxNF9JRVIwW0lFOV0gQml0cyAqLw0KI2RlZmluZSBBREMxNF9JRVIwX0lFOV9PRlMgICAgICAgICAgICAgICAgICAgICAgICggOSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyoqPCBBREMxNElFOSBCaXQgT2Zmc2V0ICovDQojZGVmaW5lIEFEQzE0X0lFUjBfSUU5ICAgICAgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwMjAwKSAgICAgICAgICAvKio8IEludGVycnVwdCBlbmFibGUgKi8NCi8qIEFEQzE0X0lFUjBbSUUxMF0gQml0cyAqLw0KI2RlZmluZSBBREMxNF9JRVIwX0lFMTBfT0ZTICAgICAgICAgICAgICAgICAgICAgICgxMCkgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyoqPCBBREMxNElFMTAgQml0IE9mZnNldCAqLw0KI2RlZmluZSBBREMxNF9JRVIwX0lFMTAgICAgICAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMDQwMCkgICAgICAgICAgLyoqPCBJbnRlcnJ1cHQgZW5hYmxlICovDQovKiBBREMxNF9JRVIwW0lFMTFdIEJpdHMgKi8NCiNkZWZpbmUgQURDMTRfSUVSMF9JRTExX09GUyAgICAgICAgICAgICAgICAgICAgICAoMTEpICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgQURDMTRJRTExIEJpdCBPZmZzZXQgKi8NCiNkZWZpbmUgQURDMTRfSUVSMF9JRTExICAgICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDA4MDApICAgICAgICAgIC8qKjwgSW50ZXJydXB0IGVuYWJsZSAqLw0KLyogQURDMTRfSUVSMFtJRTEyXSBCaXRzICovDQojZGVmaW5lIEFEQzE0X0lFUjBfSUUxMl9PRlMgICAgICAgICAgICAgICAgICAgICAgKDEyKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKio8IEFEQzE0SUUxMiBCaXQgT2Zmc2V0ICovDQojZGVmaW5lIEFEQzE0X0lFUjBfSUUxMiAgICAgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAxMDAwKSAgICAgICAgICAvKio8IEludGVycnVwdCBlbmFibGUgKi8NCi8qIEFEQzE0X0lFUjBbSUUxM10gQml0cyAqLw0KI2RlZmluZSBBREMxNF9JRVIwX0lFMTNfT0ZTICAgICAgICAgICAgICAgICAgICAgICgxMykgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyoqPCBBREMxNElFMTMgQml0IE9mZnNldCAqLw0KI2RlZmluZSBBREMxNF9JRVIwX0lFMTMgICAgICAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMjAwMCkgICAgICAgICAgLyoqPCBJbnRlcnJ1cHQgZW5hYmxlICovDQovKiBBREMxNF9JRVIwW0lFMTRdIEJpdHMgKi8NCiNkZWZpbmUgQURDMTRfSUVSMF9JRTE0X09GUyAgICAgICAgICAgICAgICAgICAgICAoMTQpICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgQURDMTRJRTE0IEJpdCBPZmZzZXQgKi8NCiNkZWZpbmUgQURDMTRfSUVSMF9JRTE0ICAgICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDQwMDApICAgICAgICAgIC8qKjwgSW50ZXJydXB0IGVuYWJsZSAqLw0KLyogQURDMTRfSUVSMFtJRTE1XSBCaXRzICovDQojZGVmaW5lIEFEQzE0X0lFUjBfSUUxNV9PRlMgICAgICAgICAgICAgICAgICAgICAgKDE1KSAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKio8IEFEQzE0SUUxNSBCaXQgT2Zmc2V0ICovDQojZGVmaW5lIEFEQzE0X0lFUjBfSUUxNSAgICAgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDA4MDAwKSAgICAgICAgICAvKio8IEludGVycnVwdCBlbmFibGUgKi8NCi8qIEFEQzE0X0lFUjBbSUUxNl0gQml0cyAqLw0KI2RlZmluZSBBREMxNF9JRVIwX0lFMTZfT0ZTICAgICAgICAgICAgICAgICAgICAgICgxNikgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyoqPCBBREMxNElFMTYgQml0IE9mZnNldCAqLw0KI2RlZmluZSBBREMxNF9JRVIwX0lFMTYgICAgICAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAxMDAwMCkgICAgICAgICAgLyoqPCBJbnRlcnJ1cHQgZW5hYmxlICovDQovKiBBREMxNF9JRVIwW0lFMTddIEJpdHMgKi8NCiNkZWZpbmUgQURDMTRfSUVSMF9JRTE3X09GUyAgICAgICAgICAgICAgICAgICAgICAoMTcpICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgQURDMTRJRTE3IEJpdCBPZmZzZXQgKi8NCiNkZWZpbmUgQURDMTRfSUVSMF9JRTE3ICAgICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMjAwMDApICAgICAgICAgIC8qKjwgSW50ZXJydXB0IGVuYWJsZSAqLw0KLyogQURDMTRfSUVSMFtJRTE5XSBCaXRzICovDQojZGVmaW5lIEFEQzE0X0lFUjBfSUUxOV9PRlMgICAgICAgICAgICAgICAgICAgICAgKDE5KSAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKio8IEFEQzE0SUUxOSBCaXQgT2Zmc2V0ICovDQojZGVmaW5lIEFEQzE0X0lFUjBfSUUxOSAgICAgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDgwMDAwKSAgICAgICAgICAvKio8IEludGVycnVwdCBlbmFibGUgKi8NCi8qIEFEQzE0X0lFUjBbSUUxOF0gQml0cyAqLw0KI2RlZmluZSBBREMxNF9JRVIwX0lFMThfT0ZTICAgICAgICAgICAgICAgICAgICAgICgxOCkgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyoqPCBBREMxNElFMTggQml0IE9mZnNldCAqLw0KI2RlZmluZSBBREMxNF9JRVIwX0lFMTggICAgICAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDA0MDAwMCkgICAgICAgICAgLyoqPCBJbnRlcnJ1cHQgZW5hYmxlICovDQovKiBBREMxNF9JRVIwW0lFMjBdIEJpdHMgKi8NCiNkZWZpbmUgQURDMTRfSUVSMF9JRTIwX09GUyAgICAgICAgICAgICAgICAgICAgICAoMjApICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgQURDMTRJRTIwIEJpdCBPZmZzZXQgKi8NCiNkZWZpbmUgQURDMTRfSUVSMF9JRTIwICAgICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAxMDAwMDApICAgICAgICAgIC8qKjwgSW50ZXJydXB0IGVuYWJsZSAqLw0KLyogQURDMTRfSUVSMFtJRTIxXSBCaXRzICovDQojZGVmaW5lIEFEQzE0X0lFUjBfSUUyMV9PRlMgICAgICAgICAgICAgICAgICAgICAgKDIxKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKio8IEFEQzE0SUUyMSBCaXQgT2Zmc2V0ICovDQojZGVmaW5lIEFEQzE0X0lFUjBfSUUyMSAgICAgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMjAwMDAwKSAgICAgICAgICAvKio8IEludGVycnVwdCBlbmFibGUgKi8NCi8qIEFEQzE0X0lFUjBbSUUyMl0gQml0cyAqLw0KI2RlZmluZSBBREMxNF9JRVIwX0lFMjJfT0ZTICAgICAgICAgICAgICAgICAgICAgICgyMikgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyoqPCBBREMxNElFMjIgQml0IE9mZnNldCAqLw0KI2RlZmluZSBBREMxNF9JRVIwX0lFMjIgICAgICAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDQwMDAwMCkgICAgICAgICAgLyoqPCBJbnRlcnJ1cHQgZW5hYmxlICovDQovKiBBREMxNF9JRVIwW0lFMjNdIEJpdHMgKi8NCiNkZWZpbmUgQURDMTRfSUVSMF9JRTIzX09GUyAgICAgICAgICAgICAgICAgICAgICAoMjMpICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgQURDMTRJRTIzIEJpdCBPZmZzZXQgKi8NCiNkZWZpbmUgQURDMTRfSUVSMF9JRTIzICAgICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDA4MDAwMDApICAgICAgICAgIC8qKjwgSW50ZXJydXB0IGVuYWJsZSAqLw0KLyogQURDMTRfSUVSMFtJRTI0XSBCaXRzICovDQojZGVmaW5lIEFEQzE0X0lFUjBfSUUyNF9PRlMgICAgICAgICAgICAgICAgICAgICAgKDI0KSAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKio8IEFEQzE0SUUyNCBCaXQgT2Zmc2V0ICovDQojZGVmaW5lIEFEQzE0X0lFUjBfSUUyNCAgICAgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAxMDAwMDAwKSAgICAgICAgICAvKio8IEludGVycnVwdCBlbmFibGUgKi8NCi8qIEFEQzE0X0lFUjBbSUUyNV0gQml0cyAqLw0KI2RlZmluZSBBREMxNF9JRVIwX0lFMjVfT0ZTICAgICAgICAgICAgICAgICAgICAgICgyNSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyoqPCBBREMxNElFMjUgQml0IE9mZnNldCAqLw0KI2RlZmluZSBBREMxNF9JRVIwX0lFMjUgICAgICAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMjAwMDAwMCkgICAgICAgICAgLyoqPCBJbnRlcnJ1cHQgZW5hYmxlICovDQovKiBBREMxNF9JRVIwW0lFMjZdIEJpdHMgKi8NCiNkZWZpbmUgQURDMTRfSUVSMF9JRTI2X09GUyAgICAgICAgICAgICAgICAgICAgICAoMjYpICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgQURDMTRJRTI2IEJpdCBPZmZzZXQgKi8NCiNkZWZpbmUgQURDMTRfSUVSMF9JRTI2ICAgICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDQwMDAwMDApICAgICAgICAgIC8qKjwgSW50ZXJydXB0IGVuYWJsZSAqLw0KLyogQURDMTRfSUVSMFtJRTI3XSBCaXRzICovDQojZGVmaW5lIEFEQzE0X0lFUjBfSUUyN19PRlMgICAgICAgICAgICAgICAgICAgICAgKDI3KSAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKio8IEFEQzE0SUUyNyBCaXQgT2Zmc2V0ICovDQojZGVmaW5lIEFEQzE0X0lFUjBfSUUyNyAgICAgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDA4MDAwMDAwKSAgICAgICAgICAvKio8IEludGVycnVwdCBlbmFibGUgKi8NCi8qIEFEQzE0X0lFUjBbSUUyOF0gQml0cyAqLw0KI2RlZmluZSBBREMxNF9JRVIwX0lFMjhfT0ZTICAgICAgICAgICAgICAgICAgICAgICgyOCkgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyoqPCBBREMxNElFMjggQml0IE9mZnNldCAqLw0KI2RlZmluZSBBREMxNF9JRVIwX0lFMjggICAgICAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgxMDAwMDAwMCkgICAgICAgICAgLyoqPCBJbnRlcnJ1cHQgZW5hYmxlICovDQovKiBBREMxNF9JRVIwW0lFMjldIEJpdHMgKi8NCiNkZWZpbmUgQURDMTRfSUVSMF9JRTI5X09GUyAgICAgICAgICAgICAgICAgICAgICAoMjkpICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgQURDMTRJRTI5IEJpdCBPZmZzZXQgKi8NCiNkZWZpbmUgQURDMTRfSUVSMF9JRTI5ICAgICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MjAwMDAwMDApICAgICAgICAgIC8qKjwgSW50ZXJydXB0IGVuYWJsZSAqLw0KLyogQURDMTRfSUVSMFtJRTMwXSBCaXRzICovDQojZGVmaW5lIEFEQzE0X0lFUjBfSUUzMF9PRlMgICAgICAgICAgICAgICAgICAgICAgKDMwKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKio8IEFEQzE0SUUzMCBCaXQgT2Zmc2V0ICovDQojZGVmaW5lIEFEQzE0X0lFUjBfSUUzMCAgICAgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDQwMDAwMDAwKSAgICAgICAgICAvKio8IEludGVycnVwdCBlbmFibGUgKi8NCi8qIEFEQzE0X0lFUjBbSUUzMV0gQml0cyAqLw0KI2RlZmluZSBBREMxNF9JRVIwX0lFMzFfT0ZTICAgICAgICAgICAgICAgICAgICAgICgzMSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyoqPCBBREMxNElFMzEgQml0IE9mZnNldCAqLw0KI2RlZmluZSBBREMxNF9JRVIwX0lFMzEgICAgICAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHg4MDAwMDAwMCkgICAgICAgICAgLyoqPCBJbnRlcnJ1cHQgZW5hYmxlICovDQovKiBBREMxNF9JRVIxW0lOSUVdIEJpdHMgKi8NCiNkZWZpbmUgQURDMTRfSUVSMV9JTklFX09GUyAgICAgICAgICAgICAgICAgICAgICAoIDEpICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgQURDMTRJTklFIEJpdCBPZmZzZXQgKi8NCiNkZWZpbmUgQURDMTRfSUVSMV9JTklFICAgICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDAwMDIpICAgICAgICAgIC8qKjwgSW50ZXJydXB0IGVuYWJsZSBmb3IgQURDMTRNRU14IHdpdGhpbiBjb21wYXJhdG9yIHdpbmRvdyAqLw0KLyogQURDMTRfSUVSMVtMT0lFXSBCaXRzICovDQojZGVmaW5lIEFEQzE0X0lFUjFfTE9JRV9PRlMgICAgICAgICAgICAgICAgICAgICAgKCAyKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKio8IEFEQzE0TE9JRSBCaXQgT2Zmc2V0ICovDQojZGVmaW5lIEFEQzE0X0lFUjFfTE9JRSAgICAgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwMDA0KSAgICAgICAgICAvKio8IEludGVycnVwdCBlbmFibGUgZm9yIEFEQzE0TUVNeCBiZWxvdyBjb21wYXJhdG9yIHdpbmRvdyAqLw0KLyogQURDMTRfSUVSMVtISUlFXSBCaXRzICovDQojZGVmaW5lIEFEQzE0X0lFUjFfSElJRV9PRlMgICAgICAgICAgICAgICAgICAgICAgKCAzKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKio8IEFEQzE0SElJRSBCaXQgT2Zmc2V0ICovDQojZGVmaW5lIEFEQzE0X0lFUjFfSElJRSAgICAgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwMDA4KSAgICAgICAgICAvKio8IEludGVycnVwdCBlbmFibGUgZm9yIEFEQzE0TUVNeCBhYm92ZSBjb21wYXJhdG9yIHdpbmRvdyAqLw0KLyogQURDMTRfSUVSMVtPVklFXSBCaXRzICovDQojZGVmaW5lIEFEQzE0X0lFUjFfT1ZJRV9PRlMgICAgICAgICAgICAgICAgICAgICAgKCA0KSAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKio8IEFEQzE0T1ZJRSBCaXQgT2Zmc2V0ICovDQojZGVmaW5lIEFEQzE0X0lFUjFfT1ZJRSAgICAgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwMDEwKSAgICAgICAgICAvKio8IEFEQzE0TUVNeCBvdmVyZmxvdy1pbnRlcnJ1cHQgZW5hYmxlICovDQovKiBBREMxNF9JRVIxW1RPVklFXSBCaXRzICovDQojZGVmaW5lIEFEQzE0X0lFUjFfVE9WSUVfT0ZTICAgICAgICAgICAgICAgICAgICAgKCA1KSAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKio8IEFEQzE0VE9WSUUgQml0IE9mZnNldCAqLw0KI2RlZmluZSBBREMxNF9JRVIxX1RPVklFICAgICAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMDAyMCkgICAgICAgICAgLyoqPCBBREMxNCBjb252ZXJzaW9uLXRpbWUtb3ZlcmZsb3cgaW50ZXJydXB0IGVuYWJsZSAqLw0KLyogQURDMTRfSUVSMVtSRFlJRV0gQml0cyAqLw0KI2RlZmluZSBBREMxNF9JRVIxX1JEWUlFX09GUyAgICAgICAgICAgICAgICAgICAgICggNikgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyoqPCBBREMxNFJEWUlFIEJpdCBPZmZzZXQgKi8NCiNkZWZpbmUgQURDMTRfSUVSMV9SRFlJRSAgICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDAwNDApICAgICAgICAgIC8qKjwgQURDMTQgbG9jYWwgYnVmZmVyZWQgcmVmZXJlbmNlIHJlYWR5IGludGVycnVwdCBlbmFibGUgKi8NCi8qIEFEQzE0X0lGR1IwW0lGRzBdIEJpdHMgKi8NCiNkZWZpbmUgQURDMTRfSUZHUjBfSUZHMF9PRlMgICAgICAgICAgICAgICAgICAgICAoIDApICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgQURDMTRJRkcwIEJpdCBPZmZzZXQgKi8NCiNkZWZpbmUgQURDMTRfSUZHUjBfSUZHMCAgICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDAwMDEpICAgICAgICAgIC8qKjwgQURDMTRNRU0wIGludGVycnVwdCBmbGFnICovDQovKiBBREMxNF9JRkdSMFtJRkcxXSBCaXRzICovDQojZGVmaW5lIEFEQzE0X0lGR1IwX0lGRzFfT0ZTICAgICAgICAgICAgICAgICAgICAgKCAxKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKio8IEFEQzE0SUZHMSBCaXQgT2Zmc2V0ICovDQojZGVmaW5lIEFEQzE0X0lGR1IwX0lGRzEgICAgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwMDAyKSAgICAgICAgICAvKio8IEFEQzE0TUVNMSBpbnRlcnJ1cHQgZmxhZyAqLw0KLyogQURDMTRfSUZHUjBbSUZHMl0gQml0cyAqLw0KI2RlZmluZSBBREMxNF9JRkdSMF9JRkcyX09GUyAgICAgICAgICAgICAgICAgICAgICggMikgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyoqPCBBREMxNElGRzIgQml0IE9mZnNldCAqLw0KI2RlZmluZSBBREMxNF9JRkdSMF9JRkcyICAgICAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMDAwNCkgICAgICAgICAgLyoqPCBBREMxNE1FTTIgaW50ZXJydXB0IGZsYWcgKi8NCi8qIEFEQzE0X0lGR1IwW0lGRzNdIEJpdHMgKi8NCiNkZWZpbmUgQURDMTRfSUZHUjBfSUZHM19PRlMgICAgICAgICAgICAgICAgICAgICAoIDMpICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgQURDMTRJRkczIEJpdCBPZmZzZXQgKi8NCiNkZWZpbmUgQURDMTRfSUZHUjBfSUZHMyAgICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDAwMDgpICAgICAgICAgIC8qKjwgQURDMTRNRU0zIGludGVycnVwdCBmbGFnICovDQovKiBBREMxNF9JRkdSMFtJRkc0XSBCaXRzICovDQojZGVmaW5lIEFEQzE0X0lGR1IwX0lGRzRfT0ZTICAgICAgICAgICAgICAgICAgICAgKCA0KSAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKio8IEFEQzE0SUZHNCBCaXQgT2Zmc2V0ICovDQojZGVmaW5lIEFEQzE0X0lGR1IwX0lGRzQgICAgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwMDEwKSAgICAgICAgICAvKio8IEFEQzE0TUVNNCBpbnRlcnJ1cHQgZmxhZyAqLw0KLyogQURDMTRfSUZHUjBbSUZHNV0gQml0cyAqLw0KI2RlZmluZSBBREMxNF9JRkdSMF9JRkc1X09GUyAgICAgICAgICAgICAgICAgICAgICggNSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyoqPCBBREMxNElGRzUgQml0IE9mZnNldCAqLw0KI2RlZmluZSBBREMxNF9JRkdSMF9JRkc1ICAgICAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMDAyMCkgICAgICAgICAgLyoqPCBBREMxNE1FTTUgaW50ZXJydXB0IGZsYWcgKi8NCi8qIEFEQzE0X0lGR1IwW0lGRzZdIEJpdHMgKi8NCiNkZWZpbmUgQURDMTRfSUZHUjBfSUZHNl9PRlMgICAgICAgICAgICAgICAgICAgICAoIDYpICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgQURDMTRJRkc2IEJpdCBPZmZzZXQgKi8NCiNkZWZpbmUgQURDMTRfSUZHUjBfSUZHNiAgICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDAwNDApICAgICAgICAgIC8qKjwgQURDMTRNRU02IGludGVycnVwdCBmbGFnICovDQovKiBBREMxNF9JRkdSMFtJRkc3XSBCaXRzICovDQojZGVmaW5lIEFEQzE0X0lGR1IwX0lGRzdfT0ZTICAgICAgICAgICAgICAgICAgICAgKCA3KSAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKio8IEFEQzE0SUZHNyBCaXQgT2Zmc2V0ICovDQojZGVmaW5lIEFEQzE0X0lGR1IwX0lGRzcgICAgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwMDgwKSAgICAgICAgICAvKio8IEFEQzE0TUVNNyBpbnRlcnJ1cHQgZmxhZyAqLw0KLyogQURDMTRfSUZHUjBbSUZHOF0gQml0cyAqLw0KI2RlZmluZSBBREMxNF9JRkdSMF9JRkc4X09GUyAgICAgICAgICAgICAgICAgICAgICggOCkgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyoqPCBBREMxNElGRzggQml0IE9mZnNldCAqLw0KI2RlZmluZSBBREMxNF9JRkdSMF9JRkc4ICAgICAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMDEwMCkgICAgICAgICAgLyoqPCBBREMxNE1FTTggaW50ZXJydXB0IGZsYWcgKi8NCi8qIEFEQzE0X0lGR1IwW0lGRzldIEJpdHMgKi8NCiNkZWZpbmUgQURDMTRfSUZHUjBfSUZHOV9PRlMgICAgICAgICAgICAgICAgICAgICAoIDkpICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgQURDMTRJRkc5IEJpdCBPZmZzZXQgKi8NCiNkZWZpbmUgQURDMTRfSUZHUjBfSUZHOSAgICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDAyMDApICAgICAgICAgIC8qKjwgQURDMTRNRU05IGludGVycnVwdCBmbGFnICovDQovKiBBREMxNF9JRkdSMFtJRkcxMF0gQml0cyAqLw0KI2RlZmluZSBBREMxNF9JRkdSMF9JRkcxMF9PRlMgICAgICAgICAgICAgICAgICAgICgxMCkgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyoqPCBBREMxNElGRzEwIEJpdCBPZmZzZXQgKi8NCiNkZWZpbmUgQURDMTRfSUZHUjBfSUZHMTAgICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDA0MDApICAgICAgICAgIC8qKjwgQURDMTRNRU0xMCBpbnRlcnJ1cHQgZmxhZyAqLw0KLyogQURDMTRfSUZHUjBbSUZHMTFdIEJpdHMgKi8NCiNkZWZpbmUgQURDMTRfSUZHUjBfSUZHMTFfT0ZTICAgICAgICAgICAgICAgICAgICAoMTEpICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgQURDMTRJRkcxMSBCaXQgT2Zmc2V0ICovDQojZGVmaW5lIEFEQzE0X0lGR1IwX0lGRzExICAgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwODAwKSAgICAgICAgICAvKio8IEFEQzE0TUVNMTEgaW50ZXJydXB0IGZsYWcgKi8NCi8qIEFEQzE0X0lGR1IwW0lGRzEyXSBCaXRzICovDQojZGVmaW5lIEFEQzE0X0lGR1IwX0lGRzEyX09GUyAgICAgICAgICAgICAgICAgICAgKDEyKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKio8IEFEQzE0SUZHMTIgQml0IE9mZnNldCAqLw0KI2RlZmluZSBBREMxNF9JRkdSMF9JRkcxMiAgICAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMTAwMCkgICAgICAgICAgLyoqPCBBREMxNE1FTTEyIGludGVycnVwdCBmbGFnICovDQovKiBBREMxNF9JRkdSMFtJRkcxM10gQml0cyAqLw0KI2RlZmluZSBBREMxNF9JRkdSMF9JRkcxM19PRlMgICAgICAgICAgICAgICAgICAgICgxMykgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyoqPCBBREMxNElGRzEzIEJpdCBPZmZzZXQgKi8NCiNkZWZpbmUgQURDMTRfSUZHUjBfSUZHMTMgICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDIwMDApICAgICAgICAgIC8qKjwgQURDMTRNRU0xMyBpbnRlcnJ1cHQgZmxhZyAqLw0KLyogQURDMTRfSUZHUjBbSUZHMTRdIEJpdHMgKi8NCiNkZWZpbmUgQURDMTRfSUZHUjBfSUZHMTRfT0ZTICAgICAgICAgICAgICAgICAgICAoMTQpICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgQURDMTRJRkcxNCBCaXQgT2Zmc2V0ICovDQojZGVmaW5lIEFEQzE0X0lGR1IwX0lGRzE0ICAgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDA0MDAwKSAgICAgICAgICAvKio8IEFEQzE0TUVNMTQgaW50ZXJydXB0IGZsYWcgKi8NCi8qIEFEQzE0X0lGR1IwW0lGRzE1XSBCaXRzICovDQojZGVmaW5lIEFEQzE0X0lGR1IwX0lGRzE1X09GUyAgICAgICAgICAgICAgICAgICAgKDE1KSAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKio8IEFEQzE0SUZHMTUgQml0IE9mZnNldCAqLw0KI2RlZmluZSBBREMxNF9JRkdSMF9JRkcxNSAgICAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwODAwMCkgICAgICAgICAgLyoqPCBBREMxNE1FTTE1IGludGVycnVwdCBmbGFnICovDQovKiBBREMxNF9JRkdSMFtJRkcxNl0gQml0cyAqLw0KI2RlZmluZSBBREMxNF9JRkdSMF9JRkcxNl9PRlMgICAgICAgICAgICAgICAgICAgICgxNikgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyoqPCBBREMxNElGRzE2IEJpdCBPZmZzZXQgKi8NCiNkZWZpbmUgQURDMTRfSUZHUjBfSUZHMTYgICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMTAwMDApICAgICAgICAgIC8qKjwgQURDMTRNRU0xNiBpbnRlcnJ1cHQgZmxhZyAqLw0KLyogQURDMTRfSUZHUjBbSUZHMTddIEJpdHMgKi8NCiNkZWZpbmUgQURDMTRfSUZHUjBfSUZHMTdfT0ZTICAgICAgICAgICAgICAgICAgICAoMTcpICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgQURDMTRJRkcxNyBCaXQgT2Zmc2V0ICovDQojZGVmaW5lIEFEQzE0X0lGR1IwX0lGRzE3ICAgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDIwMDAwKSAgICAgICAgICAvKio8IEFEQzE0TUVNMTcgaW50ZXJydXB0IGZsYWcgKi8NCi8qIEFEQzE0X0lGR1IwW0lGRzE4XSBCaXRzICovDQojZGVmaW5lIEFEQzE0X0lGR1IwX0lGRzE4X09GUyAgICAgICAgICAgICAgICAgICAgKDE4KSAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKio8IEFEQzE0SUZHMTggQml0IE9mZnNldCAqLw0KI2RlZmluZSBBREMxNF9JRkdSMF9JRkcxOCAgICAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDA0MDAwMCkgICAgICAgICAgLyoqPCBBREMxNE1FTTE4IGludGVycnVwdCBmbGFnICovDQovKiBBREMxNF9JRkdSMFtJRkcxOV0gQml0cyAqLw0KI2RlZmluZSBBREMxNF9JRkdSMF9JRkcxOV9PRlMgICAgICAgICAgICAgICAgICAgICgxOSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyoqPCBBREMxNElGRzE5IEJpdCBPZmZzZXQgKi8NCiNkZWZpbmUgQURDMTRfSUZHUjBfSUZHMTkgICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwODAwMDApICAgICAgICAgIC8qKjwgQURDMTRNRU0xOSBpbnRlcnJ1cHQgZmxhZyAqLw0KLyogQURDMTRfSUZHUjBbSUZHMjBdIEJpdHMgKi8NCiNkZWZpbmUgQURDMTRfSUZHUjBfSUZHMjBfT0ZTICAgICAgICAgICAgICAgICAgICAoMjApICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgQURDMTRJRkcyMCBCaXQgT2Zmc2V0ICovDQojZGVmaW5lIEFEQzE0X0lGR1IwX0lGRzIwICAgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMTAwMDAwKSAgICAgICAgICAvKio8IEFEQzE0TUVNMjAgaW50ZXJydXB0IGZsYWcgKi8NCi8qIEFEQzE0X0lGR1IwW0lGRzIxXSBCaXRzICovDQojZGVmaW5lIEFEQzE0X0lGR1IwX0lGRzIxX09GUyAgICAgICAgICAgICAgICAgICAgKDIxKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKio8IEFEQzE0SUZHMjEgQml0IE9mZnNldCAqLw0KI2RlZmluZSBBREMxNF9JRkdSMF9JRkcyMSAgICAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDIwMDAwMCkgICAgICAgICAgLyoqPCBBREMxNE1FTTIxIGludGVycnVwdCBmbGFnICovDQovKiBBREMxNF9JRkdSMFtJRkcyMl0gQml0cyAqLw0KI2RlZmluZSBBREMxNF9JRkdSMF9JRkcyMl9PRlMgICAgICAgICAgICAgICAgICAgICgyMikgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyoqPCBBREMxNElGRzIyIEJpdCBPZmZzZXQgKi8NCiNkZWZpbmUgQURDMTRfSUZHUjBfSUZHMjIgICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDA0MDAwMDApICAgICAgICAgIC8qKjwgQURDMTRNRU0yMiBpbnRlcnJ1cHQgZmxhZyAqLw0KLyogQURDMTRfSUZHUjBbSUZHMjNdIEJpdHMgKi8NCiNkZWZpbmUgQURDMTRfSUZHUjBfSUZHMjNfT0ZTICAgICAgICAgICAgICAgICAgICAoMjMpICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgQURDMTRJRkcyMyBCaXQgT2Zmc2V0ICovDQojZGVmaW5lIEFEQzE0X0lGR1IwX0lGRzIzICAgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwODAwMDAwKSAgICAgICAgICAvKio8IEFEQzE0TUVNMjMgaW50ZXJydXB0IGZsYWcgKi8NCi8qIEFEQzE0X0lGR1IwW0lGRzI0XSBCaXRzICovDQojZGVmaW5lIEFEQzE0X0lGR1IwX0lGRzI0X09GUyAgICAgICAgICAgICAgICAgICAgKDI0KSAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKio8IEFEQzE0SUZHMjQgQml0IE9mZnNldCAqLw0KI2RlZmluZSBBREMxNF9JRkdSMF9JRkcyNCAgICAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMTAwMDAwMCkgICAgICAgICAgLyoqPCBBREMxNE1FTTI0IGludGVycnVwdCBmbGFnICovDQovKiBBREMxNF9JRkdSMFtJRkcyNV0gQml0cyAqLw0KI2RlZmluZSBBREMxNF9JRkdSMF9JRkcyNV9PRlMgICAgICAgICAgICAgICAgICAgICgyNSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyoqPCBBREMxNElGRzI1IEJpdCBPZmZzZXQgKi8NCiNkZWZpbmUgQURDMTRfSUZHUjBfSUZHMjUgICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDIwMDAwMDApICAgICAgICAgIC8qKjwgQURDMTRNRU0yNSBpbnRlcnJ1cHQgZmxhZyAqLw0KLyogQURDMTRfSUZHUjBbSUZHMjZdIEJpdHMgKi8NCiNkZWZpbmUgQURDMTRfSUZHUjBfSUZHMjZfT0ZTICAgICAgICAgICAgICAgICAgICAoMjYpICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgQURDMTRJRkcyNiBCaXQgT2Zmc2V0ICovDQojZGVmaW5lIEFEQzE0X0lGR1IwX0lGRzI2ICAgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDA0MDAwMDAwKSAgICAgICAgICAvKio8IEFEQzE0TUVNMjYgaW50ZXJydXB0IGZsYWcgKi8NCi8qIEFEQzE0X0lGR1IwW0lGRzI3XSBCaXRzICovDQojZGVmaW5lIEFEQzE0X0lGR1IwX0lGRzI3X09GUyAgICAgICAgICAgICAgICAgICAgKDI3KSAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKio8IEFEQzE0SUZHMjcgQml0IE9mZnNldCAqLw0KI2RlZmluZSBBREMxNF9JRkdSMF9JRkcyNyAgICAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwODAwMDAwMCkgICAgICAgICAgLyoqPCBBREMxNE1FTTI3IGludGVycnVwdCBmbGFnICovDQovKiBBREMxNF9JRkdSMFtJRkcyOF0gQml0cyAqLw0KI2RlZmluZSBBREMxNF9JRkdSMF9JRkcyOF9PRlMgICAgICAgICAgICAgICAgICAgICgyOCkgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyoqPCBBREMxNElGRzI4IEJpdCBPZmZzZXQgKi8NCiNkZWZpbmUgQURDMTRfSUZHUjBfSUZHMjggICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MTAwMDAwMDApICAgICAgICAgIC8qKjwgQURDMTRNRU0yOCBpbnRlcnJ1cHQgZmxhZyAqLw0KLyogQURDMTRfSUZHUjBbSUZHMjldIEJpdHMgKi8NCiNkZWZpbmUgQURDMTRfSUZHUjBfSUZHMjlfT0ZTICAgICAgICAgICAgICAgICAgICAoMjkpICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgQURDMTRJRkcyOSBCaXQgT2Zmc2V0ICovDQojZGVmaW5lIEFEQzE0X0lGR1IwX0lGRzI5ICAgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDIwMDAwMDAwKSAgICAgICAgICAvKio8IEFEQzE0TUVNMjkgaW50ZXJydXB0IGZsYWcgKi8NCi8qIEFEQzE0X0lGR1IwW0lGRzMwXSBCaXRzICovDQojZGVmaW5lIEFEQzE0X0lGR1IwX0lGRzMwX09GUyAgICAgICAgICAgICAgICAgICAgKDMwKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKio8IEFEQzE0SUZHMzAgQml0IE9mZnNldCAqLw0KI2RlZmluZSBBREMxNF9JRkdSMF9JRkczMCAgICAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHg0MDAwMDAwMCkgICAgICAgICAgLyoqPCBBREMxNE1FTTMwIGludGVycnVwdCBmbGFnICovDQovKiBBREMxNF9JRkdSMFtJRkczMV0gQml0cyAqLw0KI2RlZmluZSBBREMxNF9JRkdSMF9JRkczMV9PRlMgICAgICAgICAgICAgICAgICAgICgzMSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyoqPCBBREMxNElGRzMxIEJpdCBPZmZzZXQgKi8NCiNkZWZpbmUgQURDMTRfSUZHUjBfSUZHMzEgICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4ODAwMDAwMDApICAgICAgICAgIC8qKjwgQURDMTRNRU0zMSBpbnRlcnJ1cHQgZmxhZyAqLw0KLyogQURDMTRfSUZHUjFbSU5JRkddIEJpdHMgKi8NCiNkZWZpbmUgQURDMTRfSUZHUjFfSU5JRkdfT0ZTICAgICAgICAgICAgICAgICAgICAoIDEpICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgQURDMTRJTklGRyBCaXQgT2Zmc2V0ICovDQojZGVmaW5lIEFEQzE0X0lGR1IxX0lOSUZHICAgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwMDAyKSAgICAgICAgICAvKio8IEludGVycnVwdCBmbGFnIGZvciBBREMxNE1FTXggd2l0aGluIGNvbXBhcmF0b3Igd2luZG93ICovDQovKiBBREMxNF9JRkdSMVtMT0lGR10gQml0cyAqLw0KI2RlZmluZSBBREMxNF9JRkdSMV9MT0lGR19PRlMgICAgICAgICAgICAgICAgICAgICggMikgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyoqPCBBREMxNExPSUZHIEJpdCBPZmZzZXQgKi8NCiNkZWZpbmUgQURDMTRfSUZHUjFfTE9JRkcgICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDAwMDQpICAgICAgICAgIC8qKjwgSW50ZXJydXB0IGZsYWcgZm9yIEFEQzE0TUVNeCBiZWxvdyBjb21wYXJhdG9yIHdpbmRvdyAqLw0KLyogQURDMTRfSUZHUjFbSElJRkddIEJpdHMgKi8NCiNkZWZpbmUgQURDMTRfSUZHUjFfSElJRkdfT0ZTICAgICAgICAgICAgICAgICAgICAoIDMpICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgQURDMTRISUlGRyBCaXQgT2Zmc2V0ICovDQojZGVmaW5lIEFEQzE0X0lGR1IxX0hJSUZHICAgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwMDA4KSAgICAgICAgICAvKio8IEludGVycnVwdCBmbGFnIGZvciBBREMxNE1FTXggYWJvdmUgY29tcGFyYXRvciB3aW5kb3cgKi8NCi8qIEFEQzE0X0lGR1IxW09WSUZHXSBCaXRzICovDQojZGVmaW5lIEFEQzE0X0lGR1IxX09WSUZHX09GUyAgICAgICAgICAgICAgICAgICAgKCA0KSAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKio8IEFEQzE0T1ZJRkcgQml0IE9mZnNldCAqLw0KI2RlZmluZSBBREMxNF9JRkdSMV9PVklGRyAgICAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMDAxMCkgICAgICAgICAgLyoqPCBBREMxNE1FTXggb3ZlcmZsb3cgaW50ZXJydXB0IGZsYWcgKi8NCi8qIEFEQzE0X0lGR1IxW1RPVklGR10gQml0cyAqLw0KI2RlZmluZSBBREMxNF9JRkdSMV9UT1ZJRkdfT0ZTICAgICAgICAgICAgICAgICAgICggNSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyoqPCBBREMxNFRPVklGRyBCaXQgT2Zmc2V0ICovDQojZGVmaW5lIEFEQzE0X0lGR1IxX1RPVklGRyAgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwMDIwKSAgICAgICAgICAvKio8IEFEQzE0IGNvbnZlcnNpb24gdGltZSBvdmVyZmxvdyBpbnRlcnJ1cHQgZmxhZyAqLw0KLyogQURDMTRfSUZHUjFbUkRZSUZHXSBCaXRzICovDQojZGVmaW5lIEFEQzE0X0lGR1IxX1JEWUlGR19PRlMgICAgICAgICAgICAgICAgICAgKCA2KSAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKio8IEFEQzE0UkRZSUZHIEJpdCBPZmZzZXQgKi8NCiNkZWZpbmUgQURDMTRfSUZHUjFfUkRZSUZHICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDAwNDApICAgICAgICAgIC8qKjwgQURDMTQgbG9jYWwgYnVmZmVyZWQgcmVmZXJlbmNlIHJlYWR5IGludGVycnVwdCBmbGFnICovDQovKiBBREMxNF9DTFJJRkdSMFtDTFJJRkcwXSBCaXRzICovDQojZGVmaW5lIEFEQzE0X0NMUklGR1IwX0NMUklGRzBfT0ZTICAgICAgICAgICAgICAgKCAwKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKio8IENMUkFEQzE0SUZHMCBCaXQgT2Zmc2V0ICovDQojZGVmaW5lIEFEQzE0X0NMUklGR1IwX0NMUklGRzAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwMDAxKSAgICAgICAgICAvKio8IGNsZWFyIEFEQzE0SUZHMCAqLw0KLyogQURDMTRfQ0xSSUZHUjBbQ0xSSUZHMV0gQml0cyAqLw0KI2RlZmluZSBBREMxNF9DTFJJRkdSMF9DTFJJRkcxX09GUyAgICAgICAgICAgICAgICggMSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyoqPCBDTFJBREMxNElGRzEgQml0IE9mZnNldCAqLw0KI2RlZmluZSBBREMxNF9DTFJJRkdSMF9DTFJJRkcxICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMDAwMikgICAgICAgICAgLyoqPCBjbGVhciBBREMxNElGRzEgKi8NCi8qIEFEQzE0X0NMUklGR1IwW0NMUklGRzJdIEJpdHMgKi8NCiNkZWZpbmUgQURDMTRfQ0xSSUZHUjBfQ0xSSUZHMl9PRlMgICAgICAgICAgICAgICAoIDIpICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgQ0xSQURDMTRJRkcyIEJpdCBPZmZzZXQgKi8NCiNkZWZpbmUgQURDMTRfQ0xSSUZHUjBfQ0xSSUZHMiAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDAwMDQpICAgICAgICAgIC8qKjwgY2xlYXIgQURDMTRJRkcyICovDQovKiBBREMxNF9DTFJJRkdSMFtDTFJJRkczXSBCaXRzICovDQojZGVmaW5lIEFEQzE0X0NMUklGR1IwX0NMUklGRzNfT0ZTICAgICAgICAgICAgICAgKCAzKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKio8IENMUkFEQzE0SUZHMyBCaXQgT2Zmc2V0ICovDQojZGVmaW5lIEFEQzE0X0NMUklGR1IwX0NMUklGRzMgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwMDA4KSAgICAgICAgICAvKio8IGNsZWFyIEFEQzE0SUZHMyAqLw0KLyogQURDMTRfQ0xSSUZHUjBbQ0xSSUZHNF0gQml0cyAqLw0KI2RlZmluZSBBREMxNF9DTFJJRkdSMF9DTFJJRkc0X09GUyAgICAgICAgICAgICAgICggNCkgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyoqPCBDTFJBREMxNElGRzQgQml0IE9mZnNldCAqLw0KI2RlZmluZSBBREMxNF9DTFJJRkdSMF9DTFJJRkc0ICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMDAxMCkgICAgICAgICAgLyoqPCBjbGVhciBBREMxNElGRzQgKi8NCi8qIEFEQzE0X0NMUklGR1IwW0NMUklGRzVdIEJpdHMgKi8NCiNkZWZpbmUgQURDMTRfQ0xSSUZHUjBfQ0xSSUZHNV9PRlMgICAgICAgICAgICAgICAoIDUpICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgQ0xSQURDMTRJRkc1IEJpdCBPZmZzZXQgKi8NCiNkZWZpbmUgQURDMTRfQ0xSSUZHUjBfQ0xSSUZHNSAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDAwMjApICAgICAgICAgIC8qKjwgY2xlYXIgQURDMTRJRkc1ICovDQovKiBBREMxNF9DTFJJRkdSMFtDTFJJRkc2XSBCaXRzICovDQojZGVmaW5lIEFEQzE0X0NMUklGR1IwX0NMUklGRzZfT0ZTICAgICAgICAgICAgICAgKCA2KSAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKio8IENMUkFEQzE0SUZHNiBCaXQgT2Zmc2V0ICovDQojZGVmaW5lIEFEQzE0X0NMUklGR1IwX0NMUklGRzYgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwMDQwKSAgICAgICAgICAvKio8IGNsZWFyIEFEQzE0SUZHNiAqLw0KLyogQURDMTRfQ0xSSUZHUjBbQ0xSSUZHN10gQml0cyAqLw0KI2RlZmluZSBBREMxNF9DTFJJRkdSMF9DTFJJRkc3X09GUyAgICAgICAgICAgICAgICggNykgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyoqPCBDTFJBREMxNElGRzcgQml0IE9mZnNldCAqLw0KI2RlZmluZSBBREMxNF9DTFJJRkdSMF9DTFJJRkc3ICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMDA4MCkgICAgICAgICAgLyoqPCBjbGVhciBBREMxNElGRzcgKi8NCi8qIEFEQzE0X0NMUklGR1IwW0NMUklGRzhdIEJpdHMgKi8NCiNkZWZpbmUgQURDMTRfQ0xSSUZHUjBfQ0xSSUZHOF9PRlMgICAgICAgICAgICAgICAoIDgpICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgQ0xSQURDMTRJRkc4IEJpdCBPZmZzZXQgKi8NCiNkZWZpbmUgQURDMTRfQ0xSSUZHUjBfQ0xSSUZHOCAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDAxMDApICAgICAgICAgIC8qKjwgY2xlYXIgQURDMTRJRkc4ICovDQovKiBBREMxNF9DTFJJRkdSMFtDTFJJRkc5XSBCaXRzICovDQojZGVmaW5lIEFEQzE0X0NMUklGR1IwX0NMUklGRzlfT0ZTICAgICAgICAgICAgICAgKCA5KSAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKio8IENMUkFEQzE0SUZHOSBCaXQgT2Zmc2V0ICovDQojZGVmaW5lIEFEQzE0X0NMUklGR1IwX0NMUklGRzkgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwMjAwKSAgICAgICAgICAvKio8IGNsZWFyIEFEQzE0SUZHOSAqLw0KLyogQURDMTRfQ0xSSUZHUjBbQ0xSSUZHMTBdIEJpdHMgKi8NCiNkZWZpbmUgQURDMTRfQ0xSSUZHUjBfQ0xSSUZHMTBfT0ZTICAgICAgICAgICAgICAoMTApICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgQ0xSQURDMTRJRkcxMCBCaXQgT2Zmc2V0ICovDQojZGVmaW5lIEFEQzE0X0NMUklGR1IwX0NMUklGRzEwICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwNDAwKSAgICAgICAgICAvKio8IGNsZWFyIEFEQzE0SUZHMTAgKi8NCi8qIEFEQzE0X0NMUklGR1IwW0NMUklGRzExXSBCaXRzICovDQojZGVmaW5lIEFEQzE0X0NMUklGR1IwX0NMUklGRzExX09GUyAgICAgICAgICAgICAgKDExKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKio8IENMUkFEQzE0SUZHMTEgQml0IE9mZnNldCAqLw0KI2RlZmluZSBBREMxNF9DTFJJRkdSMF9DTFJJRkcxMSAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMDgwMCkgICAgICAgICAgLyoqPCBjbGVhciBBREMxNElGRzExICovDQovKiBBREMxNF9DTFJJRkdSMFtDTFJJRkcxMl0gQml0cyAqLw0KI2RlZmluZSBBREMxNF9DTFJJRkdSMF9DTFJJRkcxMl9PRlMgICAgICAgICAgICAgICgxMikgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyoqPCBDTFJBREMxNElGRzEyIEJpdCBPZmZzZXQgKi8NCiNkZWZpbmUgQURDMTRfQ0xSSUZHUjBfQ0xSSUZHMTIgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDEwMDApICAgICAgICAgIC8qKjwgY2xlYXIgQURDMTRJRkcxMiAqLw0KLyogQURDMTRfQ0xSSUZHUjBbQ0xSSUZHMTNdIEJpdHMgKi8NCiNkZWZpbmUgQURDMTRfQ0xSSUZHUjBfQ0xSSUZHMTNfT0ZTICAgICAgICAgICAgICAoMTMpICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgQ0xSQURDMTRJRkcxMyBCaXQgT2Zmc2V0ICovDQojZGVmaW5lIEFEQzE0X0NMUklGR1IwX0NMUklGRzEzICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAyMDAwKSAgICAgICAgICAvKio8IGNsZWFyIEFEQzE0SUZHMTMgKi8NCi8qIEFEQzE0X0NMUklGR1IwW0NMUklGRzE0XSBCaXRzICovDQojZGVmaW5lIEFEQzE0X0NMUklGR1IwX0NMUklGRzE0X09GUyAgICAgICAgICAgICAgKDE0KSAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKio8IENMUkFEQzE0SUZHMTQgQml0IE9mZnNldCAqLw0KI2RlZmluZSBBREMxNF9DTFJJRkdSMF9DTFJJRkcxNCAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwNDAwMCkgICAgICAgICAgLyoqPCBjbGVhciBBREMxNElGRzE0ICovDQovKiBBREMxNF9DTFJJRkdSMFtDTFJJRkcxNV0gQml0cyAqLw0KI2RlZmluZSBBREMxNF9DTFJJRkdSMF9DTFJJRkcxNV9PRlMgICAgICAgICAgICAgICgxNSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyoqPCBDTFJBREMxNElGRzE1IEJpdCBPZmZzZXQgKi8NCiNkZWZpbmUgQURDMTRfQ0xSSUZHUjBfQ0xSSUZHMTUgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDgwMDApICAgICAgICAgIC8qKjwgY2xlYXIgQURDMTRJRkcxNSAqLw0KLyogQURDMTRfQ0xSSUZHUjBbQ0xSSUZHMTZdIEJpdHMgKi8NCiNkZWZpbmUgQURDMTRfQ0xSSUZHUjBfQ0xSSUZHMTZfT0ZTICAgICAgICAgICAgICAoMTYpICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgQ0xSQURDMTRJRkcxNiBCaXQgT2Zmc2V0ICovDQojZGVmaW5lIEFEQzE0X0NMUklGR1IwX0NMUklGRzE2ICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDEwMDAwKSAgICAgICAgICAvKio8IGNsZWFyIEFEQzE0SUZHMTYgKi8NCi8qIEFEQzE0X0NMUklGR1IwW0NMUklGRzE3XSBCaXRzICovDQojZGVmaW5lIEFEQzE0X0NMUklGR1IwX0NMUklGRzE3X09GUyAgICAgICAgICAgICAgKDE3KSAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKio8IENMUkFEQzE0SUZHMTcgQml0IE9mZnNldCAqLw0KI2RlZmluZSBBREMxNF9DTFJJRkdSMF9DTFJJRkcxNyAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAyMDAwMCkgICAgICAgICAgLyoqPCBjbGVhciBBREMxNElGRzE3ICovDQovKiBBREMxNF9DTFJJRkdSMFtDTFJJRkcxOF0gQml0cyAqLw0KI2RlZmluZSBBREMxNF9DTFJJRkdSMF9DTFJJRkcxOF9PRlMgICAgICAgICAgICAgICgxOCkgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyoqPCBDTFJBREMxNElGRzE4IEJpdCBPZmZzZXQgKi8NCiNkZWZpbmUgQURDMTRfQ0xSSUZHUjBfQ0xSSUZHMTggICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwNDAwMDApICAgICAgICAgIC8qKjwgY2xlYXIgQURDMTRJRkcxOCAqLw0KLyogQURDMTRfQ0xSSUZHUjBbQ0xSSUZHMTldIEJpdHMgKi8NCiNkZWZpbmUgQURDMTRfQ0xSSUZHUjBfQ0xSSUZHMTlfT0ZTICAgICAgICAgICAgICAoMTkpICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgQ0xSQURDMTRJRkcxOSBCaXQgT2Zmc2V0ICovDQojZGVmaW5lIEFEQzE0X0NMUklGR1IwX0NMUklGRzE5ICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDgwMDAwKSAgICAgICAgICAvKio8IGNsZWFyIEFEQzE0SUZHMTkgKi8NCi8qIEFEQzE0X0NMUklGR1IwW0NMUklGRzIwXSBCaXRzICovDQojZGVmaW5lIEFEQzE0X0NMUklGR1IwX0NMUklGRzIwX09GUyAgICAgICAgICAgICAgKDIwKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKio8IENMUkFEQzE0SUZHMjAgQml0IE9mZnNldCAqLw0KI2RlZmluZSBBREMxNF9DTFJJRkdSMF9DTFJJRkcyMCAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDEwMDAwMCkgICAgICAgICAgLyoqPCBjbGVhciBBREMxNElGRzIwICovDQovKiBBREMxNF9DTFJJRkdSMFtDTFJJRkcyMV0gQml0cyAqLw0KI2RlZmluZSBBREMxNF9DTFJJRkdSMF9DTFJJRkcyMV9PRlMgICAgICAgICAgICAgICgyMSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyoqPCBDTFJBREMxNElGRzIxIEJpdCBPZmZzZXQgKi8NCiNkZWZpbmUgQURDMTRfQ0xSSUZHUjBfQ0xSSUZHMjEgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAyMDAwMDApICAgICAgICAgIC8qKjwgY2xlYXIgQURDMTRJRkcyMSAqLw0KLyogQURDMTRfQ0xSSUZHUjBbQ0xSSUZHMjJdIEJpdHMgKi8NCiNkZWZpbmUgQURDMTRfQ0xSSUZHUjBfQ0xSSUZHMjJfT0ZTICAgICAgICAgICAgICAoMjIpICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgQ0xSQURDMTRJRkcyMiBCaXQgT2Zmc2V0ICovDQojZGVmaW5lIEFEQzE0X0NMUklGR1IwX0NMUklGRzIyICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwNDAwMDAwKSAgICAgICAgICAvKio8IGNsZWFyIEFEQzE0SUZHMjIgKi8NCi8qIEFEQzE0X0NMUklGR1IwW0NMUklGRzIzXSBCaXRzICovDQojZGVmaW5lIEFEQzE0X0NMUklGR1IwX0NMUklGRzIzX09GUyAgICAgICAgICAgICAgKDIzKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKio8IENMUkFEQzE0SUZHMjMgQml0IE9mZnNldCAqLw0KI2RlZmluZSBBREMxNF9DTFJJRkdSMF9DTFJJRkcyMyAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDgwMDAwMCkgICAgICAgICAgLyoqPCBjbGVhciBBREMxNElGRzIzICovDQovKiBBREMxNF9DTFJJRkdSMFtDTFJJRkcyNF0gQml0cyAqLw0KI2RlZmluZSBBREMxNF9DTFJJRkdSMF9DTFJJRkcyNF9PRlMgICAgICAgICAgICAgICgyNCkgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyoqPCBDTFJBREMxNElGRzI0IEJpdCBPZmZzZXQgKi8NCiNkZWZpbmUgQURDMTRfQ0xSSUZHUjBfQ0xSSUZHMjQgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDEwMDAwMDApICAgICAgICAgIC8qKjwgY2xlYXIgQURDMTRJRkcyNCAqLw0KLyogQURDMTRfQ0xSSUZHUjBbQ0xSSUZHMjVdIEJpdHMgKi8NCiNkZWZpbmUgQURDMTRfQ0xSSUZHUjBfQ0xSSUZHMjVfT0ZTICAgICAgICAgICAgICAoMjUpICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgQ0xSQURDMTRJRkcyNSBCaXQgT2Zmc2V0ICovDQojZGVmaW5lIEFEQzE0X0NMUklGR1IwX0NMUklGRzI1ICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAyMDAwMDAwKSAgICAgICAgICAvKio8IGNsZWFyIEFEQzE0SUZHMjUgKi8NCi8qIEFEQzE0X0NMUklGR1IwW0NMUklGRzI2XSBCaXRzICovDQojZGVmaW5lIEFEQzE0X0NMUklGR1IwX0NMUklGRzI2X09GUyAgICAgICAgICAgICAgKDI2KSAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKio8IENMUkFEQzE0SUZHMjYgQml0IE9mZnNldCAqLw0KI2RlZmluZSBBREMxNF9DTFJJRkdSMF9DTFJJRkcyNiAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwNDAwMDAwMCkgICAgICAgICAgLyoqPCBjbGVhciBBREMxNElGRzI2ICovDQovKiBBREMxNF9DTFJJRkdSMFtDTFJJRkcyN10gQml0cyAqLw0KI2RlZmluZSBBREMxNF9DTFJJRkdSMF9DTFJJRkcyN19PRlMgICAgICAgICAgICAgICgyNykgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyoqPCBDTFJBREMxNElGRzI3IEJpdCBPZmZzZXQgKi8NCiNkZWZpbmUgQURDMTRfQ0xSSUZHUjBfQ0xSSUZHMjcgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDgwMDAwMDApICAgICAgICAgIC8qKjwgY2xlYXIgQURDMTRJRkcyNyAqLw0KLyogQURDMTRfQ0xSSUZHUjBbQ0xSSUZHMjhdIEJpdHMgKi8NCiNkZWZpbmUgQURDMTRfQ0xSSUZHUjBfQ0xSSUZHMjhfT0ZTICAgICAgICAgICAgICAoMjgpICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgQ0xSQURDMTRJRkcyOCBCaXQgT2Zmc2V0ICovDQojZGVmaW5lIEFEQzE0X0NMUklGR1IwX0NMUklGRzI4ICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDEwMDAwMDAwKSAgICAgICAgICAvKio8IGNsZWFyIEFEQzE0SUZHMjggKi8NCi8qIEFEQzE0X0NMUklGR1IwW0NMUklGRzI5XSBCaXRzICovDQojZGVmaW5lIEFEQzE0X0NMUklGR1IwX0NMUklGRzI5X09GUyAgICAgICAgICAgICAgKDI5KSAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKio8IENMUkFEQzE0SUZHMjkgQml0IE9mZnNldCAqLw0KI2RlZmluZSBBREMxNF9DTFJJRkdSMF9DTFJJRkcyOSAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgyMDAwMDAwMCkgICAgICAgICAgLyoqPCBjbGVhciBBREMxNElGRzI5ICovDQovKiBBREMxNF9DTFJJRkdSMFtDTFJJRkczMF0gQml0cyAqLw0KI2RlZmluZSBBREMxNF9DTFJJRkdSMF9DTFJJRkczMF9PRlMgICAgICAgICAgICAgICgzMCkgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyoqPCBDTFJBREMxNElGRzMwIEJpdCBPZmZzZXQgKi8NCiNkZWZpbmUgQURDMTRfQ0xSSUZHUjBfQ0xSSUZHMzAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4NDAwMDAwMDApICAgICAgICAgIC8qKjwgY2xlYXIgQURDMTRJRkczMCAqLw0KLyogQURDMTRfQ0xSSUZHUjBbQ0xSSUZHMzFdIEJpdHMgKi8NCiNkZWZpbmUgQURDMTRfQ0xSSUZHUjBfQ0xSSUZHMzFfT0ZTICAgICAgICAgICAgICAoMzEpICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgQ0xSQURDMTRJRkczMSBCaXQgT2Zmc2V0ICovDQojZGVmaW5lIEFEQzE0X0NMUklGR1IwX0NMUklGRzMxICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDgwMDAwMDAwKSAgICAgICAgICAvKio8IGNsZWFyIEFEQzE0SUZHMzEgKi8NCi8qIEFEQzE0X0NMUklGR1IxW0NMUklOSUZHXSBCaXRzICovDQojZGVmaW5lIEFEQzE0X0NMUklGR1IxX0NMUklOSUZHX09GUyAgICAgICAgICAgICAgKCAxKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKio8IENMUkFEQzE0SU5JRkcgQml0IE9mZnNldCAqLw0KI2RlZmluZSBBREMxNF9DTFJJRkdSMV9DTFJJTklGRyAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMDAwMikgICAgICAgICAgLyoqPCBjbGVhciBBREMxNElOSUZHICovDQovKiBBREMxNF9DTFJJRkdSMVtDTFJMT0lGR10gQml0cyAqLw0KI2RlZmluZSBBREMxNF9DTFJJRkdSMV9DTFJMT0lGR19PRlMgICAgICAgICAgICAgICggMikgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyoqPCBDTFJBREMxNExPSUZHIEJpdCBPZmZzZXQgKi8NCiNkZWZpbmUgQURDMTRfQ0xSSUZHUjFfQ0xSTE9JRkcgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDAwMDQpICAgICAgICAgIC8qKjwgY2xlYXIgQURDMTRMT0lGRyAqLw0KLyogQURDMTRfQ0xSSUZHUjFbQ0xSSElJRkddIEJpdHMgKi8NCiNkZWZpbmUgQURDMTRfQ0xSSUZHUjFfQ0xSSElJRkdfT0ZTICAgICAgICAgICAgICAoIDMpICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgQ0xSQURDMTRISUlGRyBCaXQgT2Zmc2V0ICovDQojZGVmaW5lIEFEQzE0X0NMUklGR1IxX0NMUkhJSUZHICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwMDA4KSAgICAgICAgICAvKio8IGNsZWFyIEFEQzE0SElJRkcgKi8NCi8qIEFEQzE0X0NMUklGR1IxW0NMUk9WSUZHXSBCaXRzICovDQojZGVmaW5lIEFEQzE0X0NMUklGR1IxX0NMUk9WSUZHX09GUyAgICAgICAgICAgICAgKCA0KSAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKio8IENMUkFEQzE0T1ZJRkcgQml0IE9mZnNldCAqLw0KI2RlZmluZSBBREMxNF9DTFJJRkdSMV9DTFJPVklGRyAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMDAxMCkgICAgICAgICAgLyoqPCBjbGVhciBBREMxNE9WSUZHICovDQovKiBBREMxNF9DTFJJRkdSMVtDTFJUT1ZJRkddIEJpdHMgKi8NCiNkZWZpbmUgQURDMTRfQ0xSSUZHUjFfQ0xSVE9WSUZHX09GUyAgICAgICAgICAgICAoIDUpICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgQ0xSQURDMTRUT1ZJRkcgQml0IE9mZnNldCAqLw0KI2RlZmluZSBBREMxNF9DTFJJRkdSMV9DTFJUT1ZJRkcgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMDAyMCkgICAgICAgICAgLyoqPCBjbGVhciBBREMxNFRPVklGRyAqLw0KLyogQURDMTRfQ0xSSUZHUjFbQ0xSUkRZSUZHXSBCaXRzICovDQojZGVmaW5lIEFEQzE0X0NMUklGR1IxX0NMUlJEWUlGR19PRlMgICAgICAgICAgICAgKCA2KSAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKio8IENMUkFEQzE0UkRZSUZHIEJpdCBPZmZzZXQgKi8NCiNkZWZpbmUgQURDMTRfQ0xSSUZHUjFfQ0xSUkRZSUZHICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDAwNDApICAgICAgICAgIC8qKjwgY2xlYXIgQURDMTRSRFlJRkcgKi8NCg0KDQovKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqDQoqIEFFUzI1NiBCaXRzDQoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovDQovKiBBRVMyNTZfQ1RMMFtPUF0gQml0cyAqLw0KI2RlZmluZSBBRVMyNTZfQ1RMMF9PUF9PRlMgICAgICAgICAgICAgICAgICAgICAgICggMCkgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyoqPCBBRVNPUHggQml0IE9mZnNldCAqLw0KI2RlZmluZSBBRVMyNTZfQ1RMMF9PUF9NQVNLICAgICAgICAgICAgICAgICAgICAgICgodWludDE2X3QpMHgwMDAzKSAgICAgICAgICAgICAgLyoqPCBBRVNPUHggQml0IE1hc2sgKi8NCiNkZWZpbmUgQUVTMjU2X0NUTDBfT1AwICAgICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQxNl90KTB4MDAwMSkgICAgICAgICAgICAgIC8qKjwgT1AgQml0IDAgKi8NCiNkZWZpbmUgQUVTMjU2X0NUTDBfT1AxICAgICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQxNl90KTB4MDAwMikgICAgICAgICAgICAgIC8qKjwgT1AgQml0IDEgKi8NCiNkZWZpbmUgQUVTMjU2X0NUTDBfT1BfMCAgICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQxNl90KTB4MDAwMCkgICAgICAgICAgICAgIC8qKjwgRW5jcnlwdGlvbiAqLw0KI2RlZmluZSBBRVMyNTZfQ1RMMF9PUF8xICAgICAgICAgICAgICAgICAgICAgICAgICgodWludDE2X3QpMHgwMDAxKSAgICAgICAgICAgICAgLyoqPCBEZWNyeXB0aW9uLiBUaGUgcHJvdmlkZWQga2V5IGlzIHRoZSBzYW1lIGtleSB1c2VkIGZvciBlbmNyeXB0aW9uICovDQojZGVmaW5lIEFFUzI1Nl9DVEwwX09QXzIgICAgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MTZfdCkweDAwMDIpICAgICAgICAgICAgICAvKio8IEdlbmVyYXRlIGZpcnN0IHJvdW5kIGtleSByZXF1aXJlZCBmb3IgZGVjcnlwdGlvbiAqLw0KI2RlZmluZSBBRVMyNTZfQ1RMMF9PUF8zICAgICAgICAgICAgICAgICAgICAgICAgICgodWludDE2X3QpMHgwMDAzKSAgICAgICAgICAgICAgLyoqPCBEZWNyeXB0aW9uLiBUaGUgcHJvdmlkZWQga2V5IGlzIHRoZSBmaXJzdCByb3VuZCBrZXkgcmVxdWlyZWQgZm9yIGRlY3J5cHRpb24gKi8NCi8qIEFFUzI1Nl9DVEwwW0tMXSBCaXRzICovDQojZGVmaW5lIEFFUzI1Nl9DVEwwX0tMX09GUyAgICAgICAgICAgICAgICAgICAgICAgKCAyKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKio8IEFFU0tMeCBCaXQgT2Zmc2V0ICovDQojZGVmaW5lIEFFUzI1Nl9DVEwwX0tMX01BU0sgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MTZfdCkweDAwMEMpICAgICAgICAgICAgICAvKio8IEFFU0tMeCBCaXQgTWFzayAqLw0KI2RlZmluZSBBRVMyNTZfQ1RMMF9LTDAgICAgICAgICAgICAgICAgICAgICAgICAgICgodWludDE2X3QpMHgwMDA0KSAgICAgICAgICAgICAgLyoqPCBLTCBCaXQgMCAqLw0KI2RlZmluZSBBRVMyNTZfQ1RMMF9LTDEgICAgICAgICAgICAgICAgICAgICAgICAgICgodWludDE2X3QpMHgwMDA4KSAgICAgICAgICAgICAgLyoqPCBLTCBCaXQgMSAqLw0KI2RlZmluZSBBRVMyNTZfQ1RMMF9LTF8wICAgICAgICAgICAgICAgICAgICAgICAgICgodWludDE2X3QpMHgwMDAwKSAgICAgICAgICAgICAgLyoqPCBBRVMxMjguIFRoZSBrZXkgc2l6ZSBpcyAxMjggYml0ICovDQojZGVmaW5lIEFFUzI1Nl9DVEwwX0tMXzEgICAgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MTZfdCkweDAwMDQpICAgICAgICAgICAgICAvKio8IEFFUzE5Mi4gVGhlIGtleSBzaXplIGlzIDE5MiBiaXQuICovDQojZGVmaW5lIEFFUzI1Nl9DVEwwX0tMXzIgICAgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MTZfdCkweDAwMDgpICAgICAgICAgICAgICAvKio8IEFFUzI1Ni4gVGhlIGtleSBzaXplIGlzIDI1NiBiaXQgKi8NCiNkZWZpbmUgQUVTMjU2X0NUTDBfS0xfXzEyOEJJVCAgICAgICAgICAgICAgICAgICAoKHVpbnQxNl90KTB4MDAwMCkgICAgICAgICAgICAgIC8qKjwgQUVTMTI4LiBUaGUga2V5IHNpemUgaXMgMTI4IGJpdCAqLw0KI2RlZmluZSBBRVMyNTZfQ1RMMF9LTF9fMTkyQklUICAgICAgICAgICAgICAgICAgICgodWludDE2X3QpMHgwMDA0KSAgICAgICAgICAgICAgLyoqPCBBRVMxOTIuIFRoZSBrZXkgc2l6ZSBpcyAxOTIgYml0LiAqLw0KI2RlZmluZSBBRVMyNTZfQ1RMMF9LTF9fMjU2QklUICAgICAgICAgICAgICAgICAgICgodWludDE2X3QpMHgwMDA4KSAgICAgICAgICAgICAgLyoqPCBBRVMyNTYuIFRoZSBrZXkgc2l6ZSBpcyAyNTYgYml0ICovDQovKiBBRVMyNTZfQ1RMMFtDTV0gQml0cyAqLw0KI2RlZmluZSBBRVMyNTZfQ1RMMF9DTV9PRlMgICAgICAgICAgICAgICAgICAgICAgICggNSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyoqPCBBRVNDTXggQml0IE9mZnNldCAqLw0KI2RlZmluZSBBRVMyNTZfQ1RMMF9DTV9NQVNLICAgICAgICAgICAgICAgICAgICAgICgodWludDE2X3QpMHgwMDYwKSAgICAgICAgICAgICAgLyoqPCBBRVNDTXggQml0IE1hc2sgKi8NCiNkZWZpbmUgQUVTMjU2X0NUTDBfQ00wICAgICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQxNl90KTB4MDAyMCkgICAgICAgICAgICAgIC8qKjwgQ00gQml0IDAgKi8NCiNkZWZpbmUgQUVTMjU2X0NUTDBfQ00xICAgICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQxNl90KTB4MDA0MCkgICAgICAgICAgICAgIC8qKjwgQ00gQml0IDEgKi8NCiNkZWZpbmUgQUVTMjU2X0NUTDBfQ01fMCAgICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQxNl90KTB4MDAwMCkgICAgICAgICAgICAgIC8qKjwgRUNCICovDQojZGVmaW5lIEFFUzI1Nl9DVEwwX0NNXzEgICAgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MTZfdCkweDAwMjApICAgICAgICAgICAgICAvKio8IENCQyAqLw0KI2RlZmluZSBBRVMyNTZfQ1RMMF9DTV8yICAgICAgICAgICAgICAgICAgICAgICAgICgodWludDE2X3QpMHgwMDQwKSAgICAgICAgICAgICAgLyoqPCBPRkIgKi8NCiNkZWZpbmUgQUVTMjU2X0NUTDBfQ01fMyAgICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQxNl90KTB4MDA2MCkgICAgICAgICAgICAgIC8qKjwgQ0ZCICovDQojZGVmaW5lIEFFUzI1Nl9DVEwwX0NNX19FQ0IgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MTZfdCkweDAwMDApICAgICAgICAgICAgICAvKio8IEVDQiAqLw0KI2RlZmluZSBBRVMyNTZfQ1RMMF9DTV9fQ0JDICAgICAgICAgICAgICAgICAgICAgICgodWludDE2X3QpMHgwMDIwKSAgICAgICAgICAgICAgLyoqPCBDQkMgKi8NCiNkZWZpbmUgQUVTMjU2X0NUTDBfQ01fX09GQiAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQxNl90KTB4MDA0MCkgICAgICAgICAgICAgIC8qKjwgT0ZCICovDQojZGVmaW5lIEFFUzI1Nl9DVEwwX0NNX19DRkIgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MTZfdCkweDAwNjApICAgICAgICAgICAgICAvKio8IENGQiAqLw0KLyogQUVTMjU2X0NUTDBbU1dSU1RdIEJpdHMgKi8NCiNkZWZpbmUgQUVTMjU2X0NUTDBfU1dSU1RfT0ZTICAgICAgICAgICAgICAgICAgICAoIDcpICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgQUVTU1dSU1QgQml0IE9mZnNldCAqLw0KI2RlZmluZSBBRVMyNTZfQ1RMMF9TV1JTVCAgICAgICAgICAgICAgICAgICAgICAgICgodWludDE2X3QpMHgwMDgwKSAgICAgICAgICAgICAgLyoqPCBBRVMgc29mdHdhcmUgcmVzZXQgKi8NCi8qIEFFUzI1Nl9DVEwwW1JEWUlGR10gQml0cyAqLw0KI2RlZmluZSBBRVMyNTZfQ1RMMF9SRFlJRkdfT0ZTICAgICAgICAgICAgICAgICAgICggOCkgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyoqPCBBRVNSRFlJRkcgQml0IE9mZnNldCAqLw0KI2RlZmluZSBBRVMyNTZfQ1RMMF9SRFlJRkcgICAgICAgICAgICAgICAgICAgICAgICgodWludDE2X3QpMHgwMTAwKSAgICAgICAgICAgICAgLyoqPCBBRVMgcmVhZHkgaW50ZXJydXB0IGZsYWcgKi8NCi8qIEFFUzI1Nl9DVEwwW0VSUkZHXSBCaXRzICovDQojZGVmaW5lIEFFUzI1Nl9DVEwwX0VSUkZHX09GUyAgICAgICAgICAgICAgICAgICAgKDExKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKio8IEFFU0VSUkZHIEJpdCBPZmZzZXQgKi8NCiNkZWZpbmUgQUVTMjU2X0NUTDBfRVJSRkcgICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQxNl90KTB4MDgwMCkgICAgICAgICAgICAgIC8qKjwgQUVTIGVycm9yIGZsYWcgKi8NCi8qIEFFUzI1Nl9DVEwwW1JEWUlFXSBCaXRzICovDQojZGVmaW5lIEFFUzI1Nl9DVEwwX1JEWUlFX09GUyAgICAgICAgICAgICAgICAgICAgKDEyKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKio8IEFFU1JEWUlFIEJpdCBPZmZzZXQgKi8NCiNkZWZpbmUgQUVTMjU2X0NUTDBfUkRZSUUgICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQxNl90KTB4MTAwMCkgICAgICAgICAgICAgIC8qKjwgQUVTIHJlYWR5IGludGVycnVwdCBlbmFibGUgKi8NCi8qIEFFUzI1Nl9DVEwwW0NNRU5dIEJpdHMgKi8NCiNkZWZpbmUgQUVTMjU2X0NUTDBfQ01FTl9PRlMgICAgICAgICAgICAgICAgICAgICAoMTUpICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgQUVTQ01FTiBCaXQgT2Zmc2V0ICovDQojZGVmaW5lIEFFUzI1Nl9DVEwwX0NNRU4gICAgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MTZfdCkweDgwMDApICAgICAgICAgICAgICAvKio8IEFFUyBjaXBoZXIgbW9kZSBlbmFibGUgKi8NCi8qIEFFUzI1Nl9DVEwxW0JMS0NOVF0gQml0cyAqLw0KI2RlZmluZSBBRVMyNTZfQ1RMMV9CTEtDTlRfT0ZTICAgICAgICAgICAgICAgICAgICggMCkgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyoqPCBBRVNCTEtDTlR4IEJpdCBPZmZzZXQgKi8NCiNkZWZpbmUgQUVTMjU2X0NUTDFfQkxLQ05UX01BU0sgICAgICAgICAgICAgICAgICAoKHVpbnQxNl90KTB4MDBGRikgICAgICAgICAgICAgIC8qKjwgQUVTQkxLQ05UeCBCaXQgTWFzayAqLw0KI2RlZmluZSBBRVMyNTZfQ1RMMV9CTEtDTlQwICAgICAgICAgICAgICAgICAgICAgICgodWludDE2X3QpMHgwMDAxKSAgICAgICAgICAgICAgLyoqPCBCTEtDTlQgQml0IDAgKi8NCiNkZWZpbmUgQUVTMjU2X0NUTDFfQkxLQ05UMSAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQxNl90KTB4MDAwMikgICAgICAgICAgICAgIC8qKjwgQkxLQ05UIEJpdCAxICovDQojZGVmaW5lIEFFUzI1Nl9DVEwxX0JMS0NOVDIgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MTZfdCkweDAwMDQpICAgICAgICAgICAgICAvKio8IEJMS0NOVCBCaXQgMiAqLw0KI2RlZmluZSBBRVMyNTZfQ1RMMV9CTEtDTlQzICAgICAgICAgICAgICAgICAgICAgICgodWludDE2X3QpMHgwMDA4KSAgICAgICAgICAgICAgLyoqPCBCTEtDTlQgQml0IDMgKi8NCiNkZWZpbmUgQUVTMjU2X0NUTDFfQkxLQ05UNCAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQxNl90KTB4MDAxMCkgICAgICAgICAgICAgIC8qKjwgQkxLQ05UIEJpdCA0ICovDQojZGVmaW5lIEFFUzI1Nl9DVEwxX0JMS0NOVDUgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MTZfdCkweDAwMjApICAgICAgICAgICAgICAvKio8IEJMS0NOVCBCaXQgNSAqLw0KI2RlZmluZSBBRVMyNTZfQ1RMMV9CTEtDTlQ2ICAgICAgICAgICAgICAgICAgICAgICgodWludDE2X3QpMHgwMDQwKSAgICAgICAgICAgICAgLyoqPCBCTEtDTlQgQml0IDYgKi8NCiNkZWZpbmUgQUVTMjU2X0NUTDFfQkxLQ05UNyAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQxNl90KTB4MDA4MCkgICAgICAgICAgICAgIC8qKjwgQkxLQ05UIEJpdCA3ICovDQovKiBBRVMyNTZfU1RBVFtCVVNZXSBCaXRzICovDQojZGVmaW5lIEFFUzI1Nl9TVEFUX0JVU1lfT0ZTICAgICAgICAgICAgICAgICAgICAgKCAwKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKio8IEFFU0JVU1kgQml0IE9mZnNldCAqLw0KI2RlZmluZSBBRVMyNTZfU1RBVF9CVVNZICAgICAgICAgICAgICAgICAgICAgICAgICgodWludDE2X3QpMHgwMDAxKSAgICAgICAgICAgICAgLyoqPCBBRVMgYWNjZWxlcmF0b3IgbW9kdWxlIGJ1c3kgKi8NCi8qIEFFUzI1Nl9TVEFUW0tFWVdSXSBCaXRzICovDQojZGVmaW5lIEFFUzI1Nl9TVEFUX0tFWVdSX09GUyAgICAgICAgICAgICAgICAgICAgKCAxKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKio8IEFFU0tFWVdSIEJpdCBPZmZzZXQgKi8NCiNkZWZpbmUgQUVTMjU2X1NUQVRfS0VZV1IgICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQxNl90KTB4MDAwMikgICAgICAgICAgICAgIC8qKjwgQWxsIDE2IGJ5dGVzIHdyaXR0ZW4gdG8gQUVTQUtFWSAqLw0KLyogQUVTMjU2X1NUQVRbRElOV1JdIEJpdHMgKi8NCiNkZWZpbmUgQUVTMjU2X1NUQVRfRElOV1JfT0ZTICAgICAgICAgICAgICAgICAgICAoIDIpICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgQUVTRElOV1IgQml0IE9mZnNldCAqLw0KI2RlZmluZSBBRVMyNTZfU1RBVF9ESU5XUiAgICAgICAgICAgICAgICAgICAgICAgICgodWludDE2X3QpMHgwMDA0KSAgICAgICAgICAgICAgLyoqPCBBbGwgMTYgYnl0ZXMgd3JpdHRlbiB0byBBRVNBRElOLCBBRVNBWERJTiBvciBBRVNBWElOICovDQovKiBBRVMyNTZfU1RBVFtET1VUUkRdIEJpdHMgKi8NCiNkZWZpbmUgQUVTMjU2X1NUQVRfRE9VVFJEX09GUyAgICAgICAgICAgICAgICAgICAoIDMpICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgQUVTRE9VVFJEIEJpdCBPZmZzZXQgKi8NCiNkZWZpbmUgQUVTMjU2X1NUQVRfRE9VVFJEICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQxNl90KTB4MDAwOCkgICAgICAgICAgICAgIC8qKjwgQWxsIDE2IGJ5dGVzIHJlYWQgZnJvbSBBRVNBRE9VVCAqLw0KLyogQUVTMjU2X1NUQVRbS0VZQ05UXSBCaXRzICovDQojZGVmaW5lIEFFUzI1Nl9TVEFUX0tFWUNOVF9PRlMgICAgICAgICAgICAgICAgICAgKCA0KSAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKio8IEFFU0tFWUNOVHggQml0IE9mZnNldCAqLw0KI2RlZmluZSBBRVMyNTZfU1RBVF9LRVlDTlRfTUFTSyAgICAgICAgICAgICAgICAgICgodWludDE2X3QpMHgwMEYwKSAgICAgICAgICAgICAgLyoqPCBBRVNLRVlDTlR4IEJpdCBNYXNrICovDQojZGVmaW5lIEFFUzI1Nl9TVEFUX0tFWUNOVDAgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MTZfdCkweDAwMTApICAgICAgICAgICAgICAvKio8IEtFWUNOVCBCaXQgMCAqLw0KI2RlZmluZSBBRVMyNTZfU1RBVF9LRVlDTlQxICAgICAgICAgICAgICAgICAgICAgICgodWludDE2X3QpMHgwMDIwKSAgICAgICAgICAgICAgLyoqPCBLRVlDTlQgQml0IDEgKi8NCiNkZWZpbmUgQUVTMjU2X1NUQVRfS0VZQ05UMiAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQxNl90KTB4MDA0MCkgICAgICAgICAgICAgIC8qKjwgS0VZQ05UIEJpdCAyICovDQojZGVmaW5lIEFFUzI1Nl9TVEFUX0tFWUNOVDMgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MTZfdCkweDAwODApICAgICAgICAgICAgICAvKio8IEtFWUNOVCBCaXQgMyAqLw0KLyogQUVTMjU2X1NUQVRbRElOQ05UXSBCaXRzICovDQojZGVmaW5lIEFFUzI1Nl9TVEFUX0RJTkNOVF9PRlMgICAgICAgICAgICAgICAgICAgKCA4KSAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKio8IEFFU0RJTkNOVHggQml0IE9mZnNldCAqLw0KI2RlZmluZSBBRVMyNTZfU1RBVF9ESU5DTlRfTUFTSyAgICAgICAgICAgICAgICAgICgodWludDE2X3QpMHgwRjAwKSAgICAgICAgICAgICAgLyoqPCBBRVNESU5DTlR4IEJpdCBNYXNrICovDQojZGVmaW5lIEFFUzI1Nl9TVEFUX0RJTkNOVDAgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MTZfdCkweDAxMDApICAgICAgICAgICAgICAvKio8IERJTkNOVCBCaXQgMCAqLw0KI2RlZmluZSBBRVMyNTZfU1RBVF9ESU5DTlQxICAgICAgICAgICAgICAgICAgICAgICgodWludDE2X3QpMHgwMjAwKSAgICAgICAgICAgICAgLyoqPCBESU5DTlQgQml0IDEgKi8NCiNkZWZpbmUgQUVTMjU2X1NUQVRfRElOQ05UMiAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQxNl90KTB4MDQwMCkgICAgICAgICAgICAgIC8qKjwgRElOQ05UIEJpdCAyICovDQojZGVmaW5lIEFFUzI1Nl9TVEFUX0RJTkNOVDMgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MTZfdCkweDA4MDApICAgICAgICAgICAgICAvKio8IERJTkNOVCBCaXQgMyAqLw0KLyogQUVTMjU2X1NUQVRbRE9VVENOVF0gQml0cyAqLw0KI2RlZmluZSBBRVMyNTZfU1RBVF9ET1VUQ05UX09GUyAgICAgICAgICAgICAgICAgICgxMikgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyoqPCBBRVNET1VUQ05UeCBCaXQgT2Zmc2V0ICovDQojZGVmaW5lIEFFUzI1Nl9TVEFUX0RPVVRDTlRfTUFTSyAgICAgICAgICAgICAgICAgKCh1aW50MTZfdCkweEYwMDApICAgICAgICAgICAgICAvKio8IEFFU0RPVVRDTlR4IEJpdCBNYXNrICovDQojZGVmaW5lIEFFUzI1Nl9TVEFUX0RPVVRDTlQwICAgICAgICAgICAgICAgICAgICAgKCh1aW50MTZfdCkweDEwMDApICAgICAgICAgICAgICAvKio8IERPVVRDTlQgQml0IDAgKi8NCiNkZWZpbmUgQUVTMjU2X1NUQVRfRE9VVENOVDEgICAgICAgICAgICAgICAgICAgICAoKHVpbnQxNl90KTB4MjAwMCkgICAgICAgICAgICAgIC8qKjwgRE9VVENOVCBCaXQgMSAqLw0KI2RlZmluZSBBRVMyNTZfU1RBVF9ET1VUQ05UMiAgICAgICAgICAgICAgICAgICAgICgodWludDE2X3QpMHg0MDAwKSAgICAgICAgICAgICAgLyoqPCBET1VUQ05UIEJpdCAyICovDQojZGVmaW5lIEFFUzI1Nl9TVEFUX0RPVVRDTlQzICAgICAgICAgICAgICAgICAgICAgKCh1aW50MTZfdCkweDgwMDApICAgICAgICAgICAgICAvKio8IERPVVRDTlQgQml0IDMgKi8NCi8qIEFFUzI1Nl9LRVlbS0VZMF0gQml0cyAqLw0KI2RlZmluZSBBRVMyNTZfS0VZX0tFWTBfT0ZTICAgICAgICAgICAgICAgICAgICAgICggMCkgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyoqPCBBRVNLRVkweCBCaXQgT2Zmc2V0ICovDQojZGVmaW5lIEFFUzI1Nl9LRVlfS0VZMF9NQVNLICAgICAgICAgICAgICAgICAgICAgKCh1aW50MTZfdCkweDAwRkYpICAgICAgICAgICAgICAvKio8IEFFU0tFWTB4IEJpdCBNYXNrICovDQojZGVmaW5lIEFFUzI1Nl9LRVlfS0VZMDAgICAgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MTZfdCkweDAwMDEpICAgICAgICAgICAgICAvKio8IEtFWTAgQml0IDAgKi8NCiNkZWZpbmUgQUVTMjU2X0tFWV9LRVkwMSAgICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQxNl90KTB4MDAwMikgICAgICAgICAgICAgIC8qKjwgS0VZMCBCaXQgMSAqLw0KI2RlZmluZSBBRVMyNTZfS0VZX0tFWTAyICAgICAgICAgICAgICAgICAgICAgICAgICgodWludDE2X3QpMHgwMDA0KSAgICAgICAgICAgICAgLyoqPCBLRVkwIEJpdCAyICovDQojZGVmaW5lIEFFUzI1Nl9LRVlfS0VZMDMgICAgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MTZfdCkweDAwMDgpICAgICAgICAgICAgICAvKio8IEtFWTAgQml0IDMgKi8NCiNkZWZpbmUgQUVTMjU2X0tFWV9LRVkwNCAgICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQxNl90KTB4MDAxMCkgICAgICAgICAgICAgIC8qKjwgS0VZMCBCaXQgNCAqLw0KI2RlZmluZSBBRVMyNTZfS0VZX0tFWTA1ICAgICAgICAgICAgICAgICAgICAgICAgICgodWludDE2X3QpMHgwMDIwKSAgICAgICAgICAgICAgLyoqPCBLRVkwIEJpdCA1ICovDQojZGVmaW5lIEFFUzI1Nl9LRVlfS0VZMDYgICAgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MTZfdCkweDAwNDApICAgICAgICAgICAgICAvKio8IEtFWTAgQml0IDYgKi8NCiNkZWZpbmUgQUVTMjU2X0tFWV9LRVkwNyAgICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQxNl90KTB4MDA4MCkgICAgICAgICAgICAgIC8qKjwgS0VZMCBCaXQgNyAqLw0KLyogQUVTMjU2X0tFWVtLRVkxXSBCaXRzICovDQojZGVmaW5lIEFFUzI1Nl9LRVlfS0VZMV9PRlMgICAgICAgICAgICAgICAgICAgICAgKCA4KSAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKio8IEFFU0tFWTF4IEJpdCBPZmZzZXQgKi8NCiNkZWZpbmUgQUVTMjU2X0tFWV9LRVkxX01BU0sgICAgICAgICAgICAgICAgICAgICAoKHVpbnQxNl90KTB4RkYwMCkgICAgICAgICAgICAgIC8qKjwgQUVTS0VZMXggQml0IE1hc2sgKi8NCiNkZWZpbmUgQUVTMjU2X0tFWV9LRVkxMCAgICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQxNl90KTB4MDEwMCkgICAgICAgICAgICAgIC8qKjwgS0VZMSBCaXQgMCAqLw0KI2RlZmluZSBBRVMyNTZfS0VZX0tFWTExICAgICAgICAgICAgICAgICAgICAgICAgICgodWludDE2X3QpMHgwMjAwKSAgICAgICAgICAgICAgLyoqPCBLRVkxIEJpdCAxICovDQojZGVmaW5lIEFFUzI1Nl9LRVlfS0VZMTIgICAgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MTZfdCkweDA0MDApICAgICAgICAgICAgICAvKio8IEtFWTEgQml0IDIgKi8NCiNkZWZpbmUgQUVTMjU2X0tFWV9LRVkxMyAgICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQxNl90KTB4MDgwMCkgICAgICAgICAgICAgIC8qKjwgS0VZMSBCaXQgMyAqLw0KI2RlZmluZSBBRVMyNTZfS0VZX0tFWTE0ICAgICAgICAgICAgICAgICAgICAgICAgICgodWludDE2X3QpMHgxMDAwKSAgICAgICAgICAgICAgLyoqPCBLRVkxIEJpdCA0ICovDQojZGVmaW5lIEFFUzI1Nl9LRVlfS0VZMTUgICAgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MTZfdCkweDIwMDApICAgICAgICAgICAgICAvKio8IEtFWTEgQml0IDUgKi8NCiNkZWZpbmUgQUVTMjU2X0tFWV9LRVkxNiAgICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQxNl90KTB4NDAwMCkgICAgICAgICAgICAgIC8qKjwgS0VZMSBCaXQgNiAqLw0KI2RlZmluZSBBRVMyNTZfS0VZX0tFWTE3ICAgICAgICAgICAgICAgICAgICAgICAgICgodWludDE2X3QpMHg4MDAwKSAgICAgICAgICAgICAgLyoqPCBLRVkxIEJpdCA3ICovDQovKiBBRVMyNTZfRElOW0RJTjBdIEJpdHMgKi8NCiNkZWZpbmUgQUVTMjU2X0RJTl9ESU4wX09GUyAgICAgICAgICAgICAgICAgICAgICAoIDApICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgQUVTRElOMHggQml0IE9mZnNldCAqLw0KI2RlZmluZSBBRVMyNTZfRElOX0RJTjBfTUFTSyAgICAgICAgICAgICAgICAgICAgICgodWludDE2X3QpMHgwMEZGKSAgICAgICAgICAgICAgLyoqPCBBRVNESU4weCBCaXQgTWFzayAqLw0KI2RlZmluZSBBRVMyNTZfRElOX0RJTjAwICAgICAgICAgICAgICAgICAgICAgICAgICgodWludDE2X3QpMHgwMDAxKSAgICAgICAgICAgICAgLyoqPCBESU4wIEJpdCAwICovDQojZGVmaW5lIEFFUzI1Nl9ESU5fRElOMDEgICAgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MTZfdCkweDAwMDIpICAgICAgICAgICAgICAvKio8IERJTjAgQml0IDEgKi8NCiNkZWZpbmUgQUVTMjU2X0RJTl9ESU4wMiAgICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQxNl90KTB4MDAwNCkgICAgICAgICAgICAgIC8qKjwgRElOMCBCaXQgMiAqLw0KI2RlZmluZSBBRVMyNTZfRElOX0RJTjAzICAgICAgICAgICAgICAgICAgICAgICAgICgodWludDE2X3QpMHgwMDA4KSAgICAgICAgICAgICAgLyoqPCBESU4wIEJpdCAzICovDQojZGVmaW5lIEFFUzI1Nl9ESU5fRElOMDQgICAgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MTZfdCkweDAwMTApICAgICAgICAgICAgICAvKio8IERJTjAgQml0IDQgKi8NCiNkZWZpbmUgQUVTMjU2X0RJTl9ESU4wNSAgICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQxNl90KTB4MDAyMCkgICAgICAgICAgICAgIC8qKjwgRElOMCBCaXQgNSAqLw0KI2RlZmluZSBBRVMyNTZfRElOX0RJTjA2ICAgICAgICAgICAgICAgICAgICAgICAgICgodWludDE2X3QpMHgwMDQwKSAgICAgICAgICAgICAgLyoqPCBESU4wIEJpdCA2ICovDQojZGVmaW5lIEFFUzI1Nl9ESU5fRElOMDcgICAgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MTZfdCkweDAwODApICAgICAgICAgICAgICAvKio8IERJTjAgQml0IDcgKi8NCi8qIEFFUzI1Nl9ESU5bRElOMV0gQml0cyAqLw0KI2RlZmluZSBBRVMyNTZfRElOX0RJTjFfT0ZTICAgICAgICAgICAgICAgICAgICAgICggOCkgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyoqPCBBRVNESU4xeCBCaXQgT2Zmc2V0ICovDQojZGVmaW5lIEFFUzI1Nl9ESU5fRElOMV9NQVNLICAgICAgICAgICAgICAgICAgICAgKCh1aW50MTZfdCkweEZGMDApICAgICAgICAgICAgICAvKio8IEFFU0RJTjF4IEJpdCBNYXNrICovDQojZGVmaW5lIEFFUzI1Nl9ESU5fRElOMTAgICAgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MTZfdCkweDAxMDApICAgICAgICAgICAgICAvKio8IERJTjEgQml0IDAgKi8NCiNkZWZpbmUgQUVTMjU2X0RJTl9ESU4xMSAgICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQxNl90KTB4MDIwMCkgICAgICAgICAgICAgIC8qKjwgRElOMSBCaXQgMSAqLw0KI2RlZmluZSBBRVMyNTZfRElOX0RJTjEyICAgICAgICAgICAgICAgICAgICAgICAgICgodWludDE2X3QpMHgwNDAwKSAgICAgICAgICAgICAgLyoqPCBESU4xIEJpdCAyICovDQojZGVmaW5lIEFFUzI1Nl9ESU5fRElOMTMgICAgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MTZfdCkweDA4MDApICAgICAgICAgICAgICAvKio8IERJTjEgQml0IDMgKi8NCiNkZWZpbmUgQUVTMjU2X0RJTl9ESU4xNCAgICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQxNl90KTB4MTAwMCkgICAgICAgICAgICAgIC8qKjwgRElOMSBCaXQgNCAqLw0KI2RlZmluZSBBRVMyNTZfRElOX0RJTjE1ICAgICAgICAgICAgICAgICAgICAgICAgICgodWludDE2X3QpMHgyMDAwKSAgICAgICAgICAgICAgLyoqPCBESU4xIEJpdCA1ICovDQojZGVmaW5lIEFFUzI1Nl9ESU5fRElOMTYgICAgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MTZfdCkweDQwMDApICAgICAgICAgICAgICAvKio8IERJTjEgQml0IDYgKi8NCiNkZWZpbmUgQUVTMjU2X0RJTl9ESU4xNyAgICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQxNl90KTB4ODAwMCkgICAgICAgICAgICAgIC8qKjwgRElOMSBCaXQgNyAqLw0KLyogQUVTMjU2X0RPVVRbRE9VVDBdIEJpdHMgKi8NCiNkZWZpbmUgQUVTMjU2X0RPVVRfRE9VVDBfT0ZTICAgICAgICAgICAgICAgICAgICAoIDApICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgQUVTRE9VVDB4IEJpdCBPZmZzZXQgKi8NCiNkZWZpbmUgQUVTMjU2X0RPVVRfRE9VVDBfTUFTSyAgICAgICAgICAgICAgICAgICAoKHVpbnQxNl90KTB4MDBGRikgICAgICAgICAgICAgIC8qKjwgQUVTRE9VVDB4IEJpdCBNYXNrICovDQojZGVmaW5lIEFFUzI1Nl9ET1VUX0RPVVQwMCAgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MTZfdCkweDAwMDEpICAgICAgICAgICAgICAvKio8IERPVVQwIEJpdCAwICovDQojZGVmaW5lIEFFUzI1Nl9ET1VUX0RPVVQwMSAgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MTZfdCkweDAwMDIpICAgICAgICAgICAgICAvKio8IERPVVQwIEJpdCAxICovDQojZGVmaW5lIEFFUzI1Nl9ET1VUX0RPVVQwMiAgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MTZfdCkweDAwMDQpICAgICAgICAgICAgICAvKio8IERPVVQwIEJpdCAyICovDQojZGVmaW5lIEFFUzI1Nl9ET1VUX0RPVVQwMyAgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MTZfdCkweDAwMDgpICAgICAgICAgICAgICAvKio8IERPVVQwIEJpdCAzICovDQojZGVmaW5lIEFFUzI1Nl9ET1VUX0RPVVQwNCAgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MTZfdCkweDAwMTApICAgICAgICAgICAgICAvKio8IERPVVQwIEJpdCA0ICovDQojZGVmaW5lIEFFUzI1Nl9ET1VUX0RPVVQwNSAgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MTZfdCkweDAwMjApICAgICAgICAgICAgICAvKio8IERPVVQwIEJpdCA1ICovDQojZGVmaW5lIEFFUzI1Nl9ET1VUX0RPVVQwNiAgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MTZfdCkweDAwNDApICAgICAgICAgICAgICAvKio8IERPVVQwIEJpdCA2ICovDQojZGVmaW5lIEFFUzI1Nl9ET1VUX0RPVVQwNyAgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MTZfdCkweDAwODApICAgICAgICAgICAgICAvKio8IERPVVQwIEJpdCA3ICovDQovKiBBRVMyNTZfRE9VVFtET1VUMV0gQml0cyAqLw0KI2RlZmluZSBBRVMyNTZfRE9VVF9ET1VUMV9PRlMgICAgICAgICAgICAgICAgICAgICggOCkgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyoqPCBBRVNET1VUMXggQml0IE9mZnNldCAqLw0KI2RlZmluZSBBRVMyNTZfRE9VVF9ET1VUMV9NQVNLICAgICAgICAgICAgICAgICAgICgodWludDE2X3QpMHhGRjAwKSAgICAgICAgICAgICAgLyoqPCBBRVNET1VUMXggQml0IE1hc2sgKi8NCiNkZWZpbmUgQUVTMjU2X0RPVVRfRE9VVDEwICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQxNl90KTB4MDEwMCkgICAgICAgICAgICAgIC8qKjwgRE9VVDEgQml0IDAgKi8NCiNkZWZpbmUgQUVTMjU2X0RPVVRfRE9VVDExICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQxNl90KTB4MDIwMCkgICAgICAgICAgICAgIC8qKjwgRE9VVDEgQml0IDEgKi8NCiNkZWZpbmUgQUVTMjU2X0RPVVRfRE9VVDEyICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQxNl90KTB4MDQwMCkgICAgICAgICAgICAgIC8qKjwgRE9VVDEgQml0IDIgKi8NCiNkZWZpbmUgQUVTMjU2X0RPVVRfRE9VVDEzICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQxNl90KTB4MDgwMCkgICAgICAgICAgICAgIC8qKjwgRE9VVDEgQml0IDMgKi8NCiNkZWZpbmUgQUVTMjU2X0RPVVRfRE9VVDE0ICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQxNl90KTB4MTAwMCkgICAgICAgICAgICAgIC8qKjwgRE9VVDEgQml0IDQgKi8NCiNkZWZpbmUgQUVTMjU2X0RPVVRfRE9VVDE1ICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQxNl90KTB4MjAwMCkgICAgICAgICAgICAgIC8qKjwgRE9VVDEgQml0IDUgKi8NCiNkZWZpbmUgQUVTMjU2X0RPVVRfRE9VVDE2ICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQxNl90KTB4NDAwMCkgICAgICAgICAgICAgIC8qKjwgRE9VVDEgQml0IDYgKi8NCiNkZWZpbmUgQUVTMjU2X0RPVVRfRE9VVDE3ICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQxNl90KTB4ODAwMCkgICAgICAgICAgICAgIC8qKjwgRE9VVDEgQml0IDcgKi8NCi8qIEFFUzI1Nl9YRElOW1hESU4wXSBCaXRzICovDQojZGVmaW5lIEFFUzI1Nl9YRElOX1hESU4wX09GUyAgICAgICAgICAgICAgICAgICAgKCAwKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKio8IEFFU1hESU4weCBCaXQgT2Zmc2V0ICovDQojZGVmaW5lIEFFUzI1Nl9YRElOX1hESU4wX01BU0sgICAgICAgICAgICAgICAgICAgKCh1aW50MTZfdCkweDAwRkYpICAgICAgICAgICAgICAvKio8IEFFU1hESU4weCBCaXQgTWFzayAqLw0KI2RlZmluZSBBRVMyNTZfWERJTl9YRElOMDAgICAgICAgICAgICAgICAgICAgICAgICgodWludDE2X3QpMHgwMDAxKSAgICAgICAgICAgICAgLyoqPCBYRElOMCBCaXQgMCAqLw0KI2RlZmluZSBBRVMyNTZfWERJTl9YRElOMDEgICAgICAgICAgICAgICAgICAgICAgICgodWludDE2X3QpMHgwMDAyKSAgICAgICAgICAgICAgLyoqPCBYRElOMCBCaXQgMSAqLw0KI2RlZmluZSBBRVMyNTZfWERJTl9YRElOMDIgICAgICAgICAgICAgICAgICAgICAgICgodWludDE2X3QpMHgwMDA0KSAgICAgICAgICAgICAgLyoqPCBYRElOMCBCaXQgMiAqLw0KI2RlZmluZSBBRVMyNTZfWERJTl9YRElOMDMgICAgICAgICAgICAgICAgICAgICAgICgodWludDE2X3QpMHgwMDA4KSAgICAgICAgICAgICAgLyoqPCBYRElOMCBCaXQgMyAqLw0KI2RlZmluZSBBRVMyNTZfWERJTl9YRElOMDQgICAgICAgICAgICAgICAgICAgICAgICgodWludDE2X3QpMHgwMDEwKSAgICAgICAgICAgICAgLyoqPCBYRElOMCBCaXQgNCAqLw0KI2RlZmluZSBBRVMyNTZfWERJTl9YRElOMDUgICAgICAgICAgICAgICAgICAgICAgICgodWludDE2X3QpMHgwMDIwKSAgICAgICAgICAgICAgLyoqPCBYRElOMCBCaXQgNSAqLw0KI2RlZmluZSBBRVMyNTZfWERJTl9YRElOMDYgICAgICAgICAgICAgICAgICAgICAgICgodWludDE2X3QpMHgwMDQwKSAgICAgICAgICAgICAgLyoqPCBYRElOMCBCaXQgNiAqLw0KI2RlZmluZSBBRVMyNTZfWERJTl9YRElOMDcgICAgICAgICAgICAgICAgICAgICAgICgodWludDE2X3QpMHgwMDgwKSAgICAgICAgICAgICAgLyoqPCBYRElOMCBCaXQgNyAqLw0KLyogQUVTMjU2X1hESU5bWERJTjFdIEJpdHMgKi8NCiNkZWZpbmUgQUVTMjU2X1hESU5fWERJTjFfT0ZTICAgICAgICAgICAgICAgICAgICAoIDgpICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgQUVTWERJTjF4IEJpdCBPZmZzZXQgKi8NCiNkZWZpbmUgQUVTMjU2X1hESU5fWERJTjFfTUFTSyAgICAgICAgICAgICAgICAgICAoKHVpbnQxNl90KTB4RkYwMCkgICAgICAgICAgICAgIC8qKjwgQUVTWERJTjF4IEJpdCBNYXNrICovDQojZGVmaW5lIEFFUzI1Nl9YRElOX1hESU4xMCAgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MTZfdCkweDAxMDApICAgICAgICAgICAgICAvKio8IFhESU4xIEJpdCAwICovDQojZGVmaW5lIEFFUzI1Nl9YRElOX1hESU4xMSAgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MTZfdCkweDAyMDApICAgICAgICAgICAgICAvKio8IFhESU4xIEJpdCAxICovDQojZGVmaW5lIEFFUzI1Nl9YRElOX1hESU4xMiAgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MTZfdCkweDA0MDApICAgICAgICAgICAgICAvKio8IFhESU4xIEJpdCAyICovDQojZGVmaW5lIEFFUzI1Nl9YRElOX1hESU4xMyAgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MTZfdCkweDA4MDApICAgICAgICAgICAgICAvKio8IFhESU4xIEJpdCAzICovDQojZGVmaW5lIEFFUzI1Nl9YRElOX1hESU4xNCAgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MTZfdCkweDEwMDApICAgICAgICAgICAgICAvKio8IFhESU4xIEJpdCA0ICovDQojZGVmaW5lIEFFUzI1Nl9YRElOX1hESU4xNSAgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MTZfdCkweDIwMDApICAgICAgICAgICAgICAvKio8IFhESU4xIEJpdCA1ICovDQojZGVmaW5lIEFFUzI1Nl9YRElOX1hESU4xNiAgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MTZfdCkweDQwMDApICAgICAgICAgICAgICAvKio8IFhESU4xIEJpdCA2ICovDQojZGVmaW5lIEFFUzI1Nl9YRElOX1hESU4xNyAgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MTZfdCkweDgwMDApICAgICAgICAgICAgICAvKio8IFhESU4xIEJpdCA3ICovDQovKiBBRVMyNTZfWElOW1hJTjBdIEJpdHMgKi8NCiNkZWZpbmUgQUVTMjU2X1hJTl9YSU4wX09GUyAgICAgICAgICAgICAgICAgICAgICAoIDApICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgQUVTWElOMHggQml0IE9mZnNldCAqLw0KI2RlZmluZSBBRVMyNTZfWElOX1hJTjBfTUFTSyAgICAgICAgICAgICAgICAgICAgICgodWludDE2X3QpMHgwMEZGKSAgICAgICAgICAgICAgLyoqPCBBRVNYSU4weCBCaXQgTWFzayAqLw0KI2RlZmluZSBBRVMyNTZfWElOX1hJTjAwICAgICAgICAgICAgICAgICAgICAgICAgICgodWludDE2X3QpMHgwMDAxKSAgICAgICAgICAgICAgLyoqPCBYSU4wIEJpdCAwICovDQojZGVmaW5lIEFFUzI1Nl9YSU5fWElOMDEgICAgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MTZfdCkweDAwMDIpICAgICAgICAgICAgICAvKio8IFhJTjAgQml0IDEgKi8NCiNkZWZpbmUgQUVTMjU2X1hJTl9YSU4wMiAgICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQxNl90KTB4MDAwNCkgICAgICAgICAgICAgIC8qKjwgWElOMCBCaXQgMiAqLw0KI2RlZmluZSBBRVMyNTZfWElOX1hJTjAzICAgICAgICAgICAgICAgICAgICAgICAgICgodWludDE2X3QpMHgwMDA4KSAgICAgICAgICAgICAgLyoqPCBYSU4wIEJpdCAzICovDQojZGVmaW5lIEFFUzI1Nl9YSU5fWElOMDQgICAgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MTZfdCkweDAwMTApICAgICAgICAgICAgICAvKio8IFhJTjAgQml0IDQgKi8NCiNkZWZpbmUgQUVTMjU2X1hJTl9YSU4wNSAgICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQxNl90KTB4MDAyMCkgICAgICAgICAgICAgIC8qKjwgWElOMCBCaXQgNSAqLw0KI2RlZmluZSBBRVMyNTZfWElOX1hJTjA2ICAgICAgICAgICAgICAgICAgICAgICAgICgodWludDE2X3QpMHgwMDQwKSAgICAgICAgICAgICAgLyoqPCBYSU4wIEJpdCA2ICovDQojZGVmaW5lIEFFUzI1Nl9YSU5fWElOMDcgICAgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MTZfdCkweDAwODApICAgICAgICAgICAgICAvKio8IFhJTjAgQml0IDcgKi8NCi8qIEFFUzI1Nl9YSU5bWElOMV0gQml0cyAqLw0KI2RlZmluZSBBRVMyNTZfWElOX1hJTjFfT0ZTICAgICAgICAgICAgICAgICAgICAgICggOCkgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyoqPCBBRVNYSU4xeCBCaXQgT2Zmc2V0ICovDQojZGVmaW5lIEFFUzI1Nl9YSU5fWElOMV9NQVNLICAgICAgICAgICAgICAgICAgICAgKCh1aW50MTZfdCkweEZGMDApICAgICAgICAgICAgICAvKio8IEFFU1hJTjF4IEJpdCBNYXNrICovDQojZGVmaW5lIEFFUzI1Nl9YSU5fWElOMTAgICAgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MTZfdCkweDAxMDApICAgICAgICAgICAgICAvKio8IFhJTjEgQml0IDAgKi8NCiNkZWZpbmUgQUVTMjU2X1hJTl9YSU4xMSAgICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQxNl90KTB4MDIwMCkgICAgICAgICAgICAgIC8qKjwgWElOMSBCaXQgMSAqLw0KI2RlZmluZSBBRVMyNTZfWElOX1hJTjEyICAgICAgICAgICAgICAgICAgICAgICAgICgodWludDE2X3QpMHgwNDAwKSAgICAgICAgICAgICAgLyoqPCBYSU4xIEJpdCAyICovDQojZGVmaW5lIEFFUzI1Nl9YSU5fWElOMTMgICAgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MTZfdCkweDA4MDApICAgICAgICAgICAgICAvKio8IFhJTjEgQml0IDMgKi8NCiNkZWZpbmUgQUVTMjU2X1hJTl9YSU4xNCAgICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQxNl90KTB4MTAwMCkgICAgICAgICAgICAgIC8qKjwgWElOMSBCaXQgNCAqLw0KI2RlZmluZSBBRVMyNTZfWElOX1hJTjE1ICAgICAgICAgICAgICAgICAgICAgICAgICgodWludDE2X3QpMHgyMDAwKSAgICAgICAgICAgICAgLyoqPCBYSU4xIEJpdCA1ICovDQojZGVmaW5lIEFFUzI1Nl9YSU5fWElOMTYgICAgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MTZfdCkweDQwMDApICAgICAgICAgICAgICAvKio8IFhJTjEgQml0IDYgKi8NCiNkZWZpbmUgQUVTMjU2X1hJTl9YSU4xNyAgICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQxNl90KTB4ODAwMCkgICAgICAgICAgICAgIC8qKjwgWElOMSBCaXQgNyAqLw0KDQoNCi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioNCiogQ0FQVElPIEJpdHMNCioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8NCi8qIENBUFRJT19DVExbUElTRUxdIEJpdHMgKi8NCiNkZWZpbmUgQ0FQVElPX0NUTF9QSVNFTF9PRlMgICAgICAgICAgICAgICAgICAgICAoIDEpICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgQ0FQVElPUElTRUx4IEJpdCBPZmZzZXQgKi8NCiNkZWZpbmUgQ0FQVElPX0NUTF9QSVNFTF9NQVNLICAgICAgICAgICAgICAgICAgICAoKHVpbnQxNl90KTB4MDAwRSkgICAgICAgICAgICAgIC8qKjwgQ0FQVElPUElTRUx4IEJpdCBNYXNrICovDQojZGVmaW5lIENBUFRJT19DVExfUElTRUwwICAgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MTZfdCkweDAwMDIpICAgICAgICAgICAgICAvKio8IFBJU0VMIEJpdCAwICovDQojZGVmaW5lIENBUFRJT19DVExfUElTRUwxICAgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MTZfdCkweDAwMDQpICAgICAgICAgICAgICAvKio8IFBJU0VMIEJpdCAxICovDQojZGVmaW5lIENBUFRJT19DVExfUElTRUwyICAgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MTZfdCkweDAwMDgpICAgICAgICAgICAgICAvKio8IFBJU0VMIEJpdCAyICovDQojZGVmaW5lIENBUFRJT19DVExfUElTRUxfMCAgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MTZfdCkweDAwMDApICAgICAgICAgICAgICAvKio8IFB4LjAgKi8NCiNkZWZpbmUgQ0FQVElPX0NUTF9QSVNFTF8xICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQxNl90KTB4MDAwMikgICAgICAgICAgICAgIC8qKjwgUHguMSAqLw0KI2RlZmluZSBDQVBUSU9fQ1RMX1BJU0VMXzIgICAgICAgICAgICAgICAgICAgICAgICgodWludDE2X3QpMHgwMDA0KSAgICAgICAgICAgICAgLyoqPCBQeC4yICovDQojZGVmaW5lIENBUFRJT19DVExfUElTRUxfMyAgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MTZfdCkweDAwMDYpICAgICAgICAgICAgICAvKio8IFB4LjMgKi8NCiNkZWZpbmUgQ0FQVElPX0NUTF9QSVNFTF80ICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQxNl90KTB4MDAwOCkgICAgICAgICAgICAgIC8qKjwgUHguNCAqLw0KI2RlZmluZSBDQVBUSU9fQ1RMX1BJU0VMXzUgICAgICAgICAgICAgICAgICAgICAgICgodWludDE2X3QpMHgwMDBBKSAgICAgICAgICAgICAgLyoqPCBQeC41ICovDQojZGVmaW5lIENBUFRJT19DVExfUElTRUxfNiAgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MTZfdCkweDAwMEMpICAgICAgICAgICAgICAvKio8IFB4LjYgKi8NCiNkZWZpbmUgQ0FQVElPX0NUTF9QSVNFTF83ICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQxNl90KTB4MDAwRSkgICAgICAgICAgICAgIC8qKjwgUHguNyAqLw0KLyogQ0FQVElPX0NUTFtQT1NFTF0gQml0cyAqLw0KI2RlZmluZSBDQVBUSU9fQ1RMX1BPU0VMX09GUyAgICAgICAgICAgICAgICAgICAgICggNCkgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyoqPCBDQVBUSU9QT1NFTHggQml0IE9mZnNldCAqLw0KI2RlZmluZSBDQVBUSU9fQ1RMX1BPU0VMX01BU0sgICAgICAgICAgICAgICAgICAgICgodWludDE2X3QpMHgwMEYwKSAgICAgICAgICAgICAgLyoqPCBDQVBUSU9QT1NFTHggQml0IE1hc2sgKi8NCiNkZWZpbmUgQ0FQVElPX0NUTF9QT1NFTDAgICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQxNl90KTB4MDAxMCkgICAgICAgICAgICAgIC8qKjwgUE9TRUwgQml0IDAgKi8NCiNkZWZpbmUgQ0FQVElPX0NUTF9QT1NFTDEgICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQxNl90KTB4MDAyMCkgICAgICAgICAgICAgIC8qKjwgUE9TRUwgQml0IDEgKi8NCiNkZWZpbmUgQ0FQVElPX0NUTF9QT1NFTDIgICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQxNl90KTB4MDA0MCkgICAgICAgICAgICAgIC8qKjwgUE9TRUwgQml0IDIgKi8NCiNkZWZpbmUgQ0FQVElPX0NUTF9QT1NFTDMgICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQxNl90KTB4MDA4MCkgICAgICAgICAgICAgIC8qKjwgUE9TRUwgQml0IDMgKi8NCiNkZWZpbmUgQ0FQVElPX0NUTF9QT1NFTF8wICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQxNl90KTB4MDAwMCkgICAgICAgICAgICAgIC8qKjwgUHggPSBQSiAqLw0KI2RlZmluZSBDQVBUSU9fQ1RMX1BPU0VMXzEgICAgICAgICAgICAgICAgICAgICAgICgodWludDE2X3QpMHgwMDEwKSAgICAgICAgICAgICAgLyoqPCBQeCA9IFAxICovDQojZGVmaW5lIENBUFRJT19DVExfUE9TRUxfMiAgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MTZfdCkweDAwMjApICAgICAgICAgICAgICAvKio8IFB4ID0gUDIgKi8NCiNkZWZpbmUgQ0FQVElPX0NUTF9QT1NFTF8zICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQxNl90KTB4MDAzMCkgICAgICAgICAgICAgIC8qKjwgUHggPSBQMyAqLw0KI2RlZmluZSBDQVBUSU9fQ1RMX1BPU0VMXzQgICAgICAgICAgICAgICAgICAgICAgICgodWludDE2X3QpMHgwMDQwKSAgICAgICAgICAgICAgLyoqPCBQeCA9IFA0ICovDQojZGVmaW5lIENBUFRJT19DVExfUE9TRUxfNSAgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MTZfdCkweDAwNTApICAgICAgICAgICAgICAvKio8IFB4ID0gUDUgKi8NCiNkZWZpbmUgQ0FQVElPX0NUTF9QT1NFTF82ICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQxNl90KTB4MDA2MCkgICAgICAgICAgICAgIC8qKjwgUHggPSBQNiAqLw0KI2RlZmluZSBDQVBUSU9fQ1RMX1BPU0VMXzcgICAgICAgICAgICAgICAgICAgICAgICgodWludDE2X3QpMHgwMDcwKSAgICAgICAgICAgICAgLyoqPCBQeCA9IFA3ICovDQojZGVmaW5lIENBUFRJT19DVExfUE9TRUxfOCAgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MTZfdCkweDAwODApICAgICAgICAgICAgICAvKio8IFB4ID0gUDggKi8NCiNkZWZpbmUgQ0FQVElPX0NUTF9QT1NFTF85ICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQxNl90KTB4MDA5MCkgICAgICAgICAgICAgIC8qKjwgUHggPSBQOSAqLw0KI2RlZmluZSBDQVBUSU9fQ1RMX1BPU0VMXzEwICAgICAgICAgICAgICAgICAgICAgICgodWludDE2X3QpMHgwMEEwKSAgICAgICAgICAgICAgLyoqPCBQeCA9IFAxMCAqLw0KI2RlZmluZSBDQVBUSU9fQ1RMX1BPU0VMXzExICAgICAgICAgICAgICAgICAgICAgICgodWludDE2X3QpMHgwMEIwKSAgICAgICAgICAgICAgLyoqPCBQeCA9IFAxMSAqLw0KI2RlZmluZSBDQVBUSU9fQ1RMX1BPU0VMXzEyICAgICAgICAgICAgICAgICAgICAgICgodWludDE2X3QpMHgwMEMwKSAgICAgICAgICAgICAgLyoqPCBQeCA9IFAxMiAqLw0KI2RlZmluZSBDQVBUSU9fQ1RMX1BPU0VMXzEzICAgICAgICAgICAgICAgICAgICAgICgodWludDE2X3QpMHgwMEQwKSAgICAgICAgICAgICAgLyoqPCBQeCA9IFAxMyAqLw0KI2RlZmluZSBDQVBUSU9fQ1RMX1BPU0VMXzE0ICAgICAgICAgICAgICAgICAgICAgICgodWludDE2X3QpMHgwMEUwKSAgICAgICAgICAgICAgLyoqPCBQeCA9IFAxNCAqLw0KI2RlZmluZSBDQVBUSU9fQ1RMX1BPU0VMXzE1ICAgICAgICAgICAgICAgICAgICAgICgodWludDE2X3QpMHgwMEYwKSAgICAgICAgICAgICAgLyoqPCBQeCA9IFAxNSAqLw0KI2RlZmluZSBDQVBUSU9fQ1RMX1BPU0VMX19QSiAgICAgICAgICAgICAgICAgICAgICgodWludDE2X3QpMHgwMDAwKSAgICAgICAgICAgICAgLyoqPCBQeCA9IFBKICovDQojZGVmaW5lIENBUFRJT19DVExfUE9TRUxfX1AxICAgICAgICAgICAgICAgICAgICAgKCh1aW50MTZfdCkweDAwMTApICAgICAgICAgICAgICAvKio8IFB4ID0gUDEgKi8NCiNkZWZpbmUgQ0FQVElPX0NUTF9QT1NFTF9fUDIgICAgICAgICAgICAgICAgICAgICAoKHVpbnQxNl90KTB4MDAyMCkgICAgICAgICAgICAgIC8qKjwgUHggPSBQMiAqLw0KI2RlZmluZSBDQVBUSU9fQ1RMX1BPU0VMX19QMyAgICAgICAgICAgICAgICAgICAgICgodWludDE2X3QpMHgwMDMwKSAgICAgICAgICAgICAgLyoqPCBQeCA9IFAzICovDQojZGVmaW5lIENBUFRJT19DVExfUE9TRUxfX1A0ICAgICAgICAgICAgICAgICAgICAgKCh1aW50MTZfdCkweDAwNDApICAgICAgICAgICAgICAvKio8IFB4ID0gUDQgKi8NCiNkZWZpbmUgQ0FQVElPX0NUTF9QT1NFTF9fUDUgICAgICAgICAgICAgICAgICAgICAoKHVpbnQxNl90KTB4MDA1MCkgICAgICAgICAgICAgIC8qKjwgUHggPSBQNSAqLw0KI2RlZmluZSBDQVBUSU9fQ1RMX1BPU0VMX19QNiAgICAgICAgICAgICAgICAgICAgICgodWludDE2X3QpMHgwMDYwKSAgICAgICAgICAgICAgLyoqPCBQeCA9IFA2ICovDQojZGVmaW5lIENBUFRJT19DVExfUE9TRUxfX1A3ICAgICAgICAgICAgICAgICAgICAgKCh1aW50MTZfdCkweDAwNzApICAgICAgICAgICAgICAvKio8IFB4ID0gUDcgKi8NCiNkZWZpbmUgQ0FQVElPX0NUTF9QT1NFTF9fUDggICAgICAgICAgICAgICAgICAgICAoKHVpbnQxNl90KTB4MDA4MCkgICAgICAgICAgICAgIC8qKjwgUHggPSBQOCAqLw0KI2RlZmluZSBDQVBUSU9fQ1RMX1BPU0VMX19QOSAgICAgICAgICAgICAgICAgICAgICgodWludDE2X3QpMHgwMDkwKSAgICAgICAgICAgICAgLyoqPCBQeCA9IFA5ICovDQojZGVmaW5lIENBUFRJT19DVExfUE9TRUxfX1AxMCAgICAgICAgICAgICAgICAgICAgKCh1aW50MTZfdCkweDAwQTApICAgICAgICAgICAgICAvKio8IFB4ID0gUDEwICovDQojZGVmaW5lIENBUFRJT19DVExfUE9TRUxfX1AxMSAgICAgICAgICAgICAgICAgICAgKCh1aW50MTZfdCkweDAwQjApICAgICAgICAgICAgICAvKio8IFB4ID0gUDExICovDQojZGVmaW5lIENBUFRJT19DVExfUE9TRUxfX1AxMiAgICAgICAgICAgICAgICAgICAgKCh1aW50MTZfdCkweDAwQzApICAgICAgICAgICAgICAvKio8IFB4ID0gUDEyICovDQojZGVmaW5lIENBUFRJT19DVExfUE9TRUxfX1AxMyAgICAgICAgICAgICAgICAgICAgKCh1aW50MTZfdCkweDAwRDApICAgICAgICAgICAgICAvKio8IFB4ID0gUDEzICovDQojZGVmaW5lIENBUFRJT19DVExfUE9TRUxfX1AxNCAgICAgICAgICAgICAgICAgICAgKCh1aW50MTZfdCkweDAwRTApICAgICAgICAgICAgICAvKio8IFB4ID0gUDE0ICovDQojZGVmaW5lIENBUFRJT19DVExfUE9TRUxfX1AxNSAgICAgICAgICAgICAgICAgICAgKCh1aW50MTZfdCkweDAwRjApICAgICAgICAgICAgICAvKio8IFB4ID0gUDE1ICovDQovKiBDQVBUSU9fQ1RMW0VOXSBCaXRzICovDQojZGVmaW5lIENBUFRJT19DVExfRU5fT0ZTICAgICAgICAgICAgICAgICAgICAgICAgKCA4KSAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKio8IENBUFRJT0VOIEJpdCBPZmZzZXQgKi8NCiNkZWZpbmUgQ0FQVElPX0NUTF9FTiAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQxNl90KTB4MDEwMCkgICAgICAgICAgICAgIC8qKjwgQ2FwYWNpdGl2ZSBUb3VjaCBJTyBlbmFibGUgKi8NCi8qIENBUFRJT19DVExbU1RBVEVdIEJpdHMgKi8NCiNkZWZpbmUgQ0FQVElPX0NUTF9TVEFURV9PRlMgICAgICAgICAgICAgICAgICAgICAoIDkpICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgQ0FQVElPU1RBVEUgQml0IE9mZnNldCAqLw0KI2RlZmluZSBDQVBUSU9fQ1RMX1NUQVRFICAgICAgICAgICAgICAgICAgICAgICAgICgodWludDE2X3QpMHgwMjAwKSAgICAgICAgICAgICAgLyoqPCBDYXBhY2l0aXZlIFRvdWNoIElPIHN0YXRlICovDQoNCg0KLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKg0KKiBDT01QX0UgQml0cw0KKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLw0KLyogQ09NUF9FX0NUTDBbSVBTRUxdIEJpdHMgKi8NCiNkZWZpbmUgQ09NUF9FX0NUTDBfSVBTRUxfT0ZTICAgICAgICAgICAgICAgICAgICAoIDApICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgQ0VJUFNFTCBCaXQgT2Zmc2V0ICovDQojZGVmaW5lIENPTVBfRV9DVEwwX0lQU0VMX01BU0sgICAgICAgICAgICAgICAgICAgKCh1aW50MTZfdCkweDAwMEYpICAgICAgICAgICAgICAvKio8IENFSVBTRUwgQml0IE1hc2sgKi8NCiNkZWZpbmUgQ09NUF9FX0NUTDBfSVBTRUwwICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQxNl90KTB4MDAwMSkgICAgICAgICAgICAgIC8qKjwgSVBTRUwgQml0IDAgKi8NCiNkZWZpbmUgQ09NUF9FX0NUTDBfSVBTRUwxICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQxNl90KTB4MDAwMikgICAgICAgICAgICAgIC8qKjwgSVBTRUwgQml0IDEgKi8NCiNkZWZpbmUgQ09NUF9FX0NUTDBfSVBTRUwyICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQxNl90KTB4MDAwNCkgICAgICAgICAgICAgIC8qKjwgSVBTRUwgQml0IDIgKi8NCiNkZWZpbmUgQ09NUF9FX0NUTDBfSVBTRUwzICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQxNl90KTB4MDAwOCkgICAgICAgICAgICAgIC8qKjwgSVBTRUwgQml0IDMgKi8NCiNkZWZpbmUgQ09NUF9FX0NUTDBfSVBTRUxfMCAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQxNl90KTB4MDAwMCkgICAgICAgICAgICAgIC8qKjwgQ2hhbm5lbCAwIHNlbGVjdGVkICovDQojZGVmaW5lIENPTVBfRV9DVEwwX0lQU0VMXzEgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MTZfdCkweDAwMDEpICAgICAgICAgICAgICAvKio8IENoYW5uZWwgMSBzZWxlY3RlZCAqLw0KI2RlZmluZSBDT01QX0VfQ1RMMF9JUFNFTF8yICAgICAgICAgICAgICAgICAgICAgICgodWludDE2X3QpMHgwMDAyKSAgICAgICAgICAgICAgLyoqPCBDaGFubmVsIDIgc2VsZWN0ZWQgKi8NCiNkZWZpbmUgQ09NUF9FX0NUTDBfSVBTRUxfMyAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQxNl90KTB4MDAwMykgICAgICAgICAgICAgIC8qKjwgQ2hhbm5lbCAzIHNlbGVjdGVkICovDQojZGVmaW5lIENPTVBfRV9DVEwwX0lQU0VMXzQgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MTZfdCkweDAwMDQpICAgICAgICAgICAgICAvKio8IENoYW5uZWwgNCBzZWxlY3RlZCAqLw0KI2RlZmluZSBDT01QX0VfQ1RMMF9JUFNFTF81ICAgICAgICAgICAgICAgICAgICAgICgodWludDE2X3QpMHgwMDA1KSAgICAgICAgICAgICAgLyoqPCBDaGFubmVsIDUgc2VsZWN0ZWQgKi8NCiNkZWZpbmUgQ09NUF9FX0NUTDBfSVBTRUxfNiAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQxNl90KTB4MDAwNikgICAgICAgICAgICAgIC8qKjwgQ2hhbm5lbCA2IHNlbGVjdGVkICovDQojZGVmaW5lIENPTVBfRV9DVEwwX0lQU0VMXzcgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MTZfdCkweDAwMDcpICAgICAgICAgICAgICAvKio8IENoYW5uZWwgNyBzZWxlY3RlZCAqLw0KI2RlZmluZSBDT01QX0VfQ1RMMF9JUFNFTF84ICAgICAgICAgICAgICAgICAgICAgICgodWludDE2X3QpMHgwMDA4KSAgICAgICAgICAgICAgLyoqPCBDaGFubmVsIDggc2VsZWN0ZWQgKi8NCiNkZWZpbmUgQ09NUF9FX0NUTDBfSVBTRUxfOSAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQxNl90KTB4MDAwOSkgICAgICAgICAgICAgIC8qKjwgQ2hhbm5lbCA5IHNlbGVjdGVkICovDQojZGVmaW5lIENPTVBfRV9DVEwwX0lQU0VMXzEwICAgICAgICAgICAgICAgICAgICAgKCh1aW50MTZfdCkweDAwMEEpICAgICAgICAgICAgICAvKio8IENoYW5uZWwgMTAgc2VsZWN0ZWQgKi8NCiNkZWZpbmUgQ09NUF9FX0NUTDBfSVBTRUxfMTEgICAgICAgICAgICAgICAgICAgICAoKHVpbnQxNl90KTB4MDAwQikgICAgICAgICAgICAgIC8qKjwgQ2hhbm5lbCAxMSBzZWxlY3RlZCAqLw0KI2RlZmluZSBDT01QX0VfQ1RMMF9JUFNFTF8xMiAgICAgICAgICAgICAgICAgICAgICgodWludDE2X3QpMHgwMDBDKSAgICAgICAgICAgICAgLyoqPCBDaGFubmVsIDEyIHNlbGVjdGVkICovDQojZGVmaW5lIENPTVBfRV9DVEwwX0lQU0VMXzEzICAgICAgICAgICAgICAgICAgICAgKCh1aW50MTZfdCkweDAwMEQpICAgICAgICAgICAgICAvKio8IENoYW5uZWwgMTMgc2VsZWN0ZWQgKi8NCiNkZWZpbmUgQ09NUF9FX0NUTDBfSVBTRUxfMTQgICAgICAgICAgICAgICAgICAgICAoKHVpbnQxNl90KTB4MDAwRSkgICAgICAgICAgICAgIC8qKjwgQ2hhbm5lbCAxNCBzZWxlY3RlZCAqLw0KI2RlZmluZSBDT01QX0VfQ1RMMF9JUFNFTF8xNSAgICAgICAgICAgICAgICAgICAgICgodWludDE2X3QpMHgwMDBGKSAgICAgICAgICAgICAgLyoqPCBDaGFubmVsIDE1IHNlbGVjdGVkICovDQovKiBDT01QX0VfQ1RMMFtJUEVOXSBCaXRzICovDQojZGVmaW5lIENPTVBfRV9DVEwwX0lQRU5fT0ZTICAgICAgICAgICAgICAgICAgICAgKCA3KSAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKio8IENFSVBFTiBCaXQgT2Zmc2V0ICovDQojZGVmaW5lIENPTVBfRV9DVEwwX0lQRU4gICAgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MTZfdCkweDAwODApICAgICAgICAgICAgICAvKio8IENoYW5uZWwgaW5wdXQgZW5hYmxlIGZvciB0aGUgVisgdGVybWluYWwgKi8NCi8qIENPTVBfRV9DVEwwW0lNU0VMXSBCaXRzICovDQojZGVmaW5lIENPTVBfRV9DVEwwX0lNU0VMX09GUyAgICAgICAgICAgICAgICAgICAgKCA4KSAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKio8IENFSU1TRUwgQml0IE9mZnNldCAqLw0KI2RlZmluZSBDT01QX0VfQ1RMMF9JTVNFTF9NQVNLICAgICAgICAgICAgICAgICAgICgodWludDE2X3QpMHgwRjAwKSAgICAgICAgICAgICAgLyoqPCBDRUlNU0VMIEJpdCBNYXNrICovDQojZGVmaW5lIENPTVBfRV9DVEwwX0lNU0VMMCAgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MTZfdCkweDAxMDApICAgICAgICAgICAgICAvKio8IElNU0VMIEJpdCAwICovDQojZGVmaW5lIENPTVBfRV9DVEwwX0lNU0VMMSAgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MTZfdCkweDAyMDApICAgICAgICAgICAgICAvKio8IElNU0VMIEJpdCAxICovDQojZGVmaW5lIENPTVBfRV9DVEwwX0lNU0VMMiAgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MTZfdCkweDA0MDApICAgICAgICAgICAgICAvKio8IElNU0VMIEJpdCAyICovDQojZGVmaW5lIENPTVBfRV9DVEwwX0lNU0VMMyAgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MTZfdCkweDA4MDApICAgICAgICAgICAgICAvKio8IElNU0VMIEJpdCAzICovDQojZGVmaW5lIENPTVBfRV9DVEwwX0lNU0VMXzAgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MTZfdCkweDAwMDApICAgICAgICAgICAgICAvKio8IENoYW5uZWwgMCBzZWxlY3RlZCAqLw0KI2RlZmluZSBDT01QX0VfQ1RMMF9JTVNFTF8xICAgICAgICAgICAgICAgICAgICAgICgodWludDE2X3QpMHgwMTAwKSAgICAgICAgICAgICAgLyoqPCBDaGFubmVsIDEgc2VsZWN0ZWQgKi8NCiNkZWZpbmUgQ09NUF9FX0NUTDBfSU1TRUxfMiAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQxNl90KTB4MDIwMCkgICAgICAgICAgICAgIC8qKjwgQ2hhbm5lbCAyIHNlbGVjdGVkICovDQojZGVmaW5lIENPTVBfRV9DVEwwX0lNU0VMXzMgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MTZfdCkweDAzMDApICAgICAgICAgICAgICAvKio8IENoYW5uZWwgMyBzZWxlY3RlZCAqLw0KI2RlZmluZSBDT01QX0VfQ1RMMF9JTVNFTF80ICAgICAgICAgICAgICAgICAgICAgICgodWludDE2X3QpMHgwNDAwKSAgICAgICAgICAgICAgLyoqPCBDaGFubmVsIDQgc2VsZWN0ZWQgKi8NCiNkZWZpbmUgQ09NUF9FX0NUTDBfSU1TRUxfNSAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQxNl90KTB4MDUwMCkgICAgICAgICAgICAgIC8qKjwgQ2hhbm5lbCA1IHNlbGVjdGVkICovDQojZGVmaW5lIENPTVBfRV9DVEwwX0lNU0VMXzYgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MTZfdCkweDA2MDApICAgICAgICAgICAgICAvKio8IENoYW5uZWwgNiBzZWxlY3RlZCAqLw0KI2RlZmluZSBDT01QX0VfQ1RMMF9JTVNFTF83ICAgICAgICAgICAgICAgICAgICAgICgodWludDE2X3QpMHgwNzAwKSAgICAgICAgICAgICAgLyoqPCBDaGFubmVsIDcgc2VsZWN0ZWQgKi8NCiNkZWZpbmUgQ09NUF9FX0NUTDBfSU1TRUxfOCAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQxNl90KTB4MDgwMCkgICAgICAgICAgICAgIC8qKjwgQ2hhbm5lbCA4IHNlbGVjdGVkICovDQojZGVmaW5lIENPTVBfRV9DVEwwX0lNU0VMXzkgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MTZfdCkweDA5MDApICAgICAgICAgICAgICAvKio8IENoYW5uZWwgOSBzZWxlY3RlZCAqLw0KI2RlZmluZSBDT01QX0VfQ1RMMF9JTVNFTF8xMCAgICAgICAgICAgICAgICAgICAgICgodWludDE2X3QpMHgwQTAwKSAgICAgICAgICAgICAgLyoqPCBDaGFubmVsIDEwIHNlbGVjdGVkICovDQojZGVmaW5lIENPTVBfRV9DVEwwX0lNU0VMXzExICAgICAgICAgICAgICAgICAgICAgKCh1aW50MTZfdCkweDBCMDApICAgICAgICAgICAgICAvKio8IENoYW5uZWwgMTEgc2VsZWN0ZWQgKi8NCiNkZWZpbmUgQ09NUF9FX0NUTDBfSU1TRUxfMTIgICAgICAgICAgICAgICAgICAgICAoKHVpbnQxNl90KTB4MEMwMCkgICAgICAgICAgICAgIC8qKjwgQ2hhbm5lbCAxMiBzZWxlY3RlZCAqLw0KI2RlZmluZSBDT01QX0VfQ1RMMF9JTVNFTF8xMyAgICAgICAgICAgICAgICAgICAgICgodWludDE2X3QpMHgwRDAwKSAgICAgICAgICAgICAgLyoqPCBDaGFubmVsIDEzIHNlbGVjdGVkICovDQojZGVmaW5lIENPTVBfRV9DVEwwX0lNU0VMXzE0ICAgICAgICAgICAgICAgICAgICAgKCh1aW50MTZfdCkweDBFMDApICAgICAgICAgICAgICAvKio8IENoYW5uZWwgMTQgc2VsZWN0ZWQgKi8NCiNkZWZpbmUgQ09NUF9FX0NUTDBfSU1TRUxfMTUgICAgICAgICAgICAgICAgICAgICAoKHVpbnQxNl90KTB4MEYwMCkgICAgICAgICAgICAgIC8qKjwgQ2hhbm5lbCAxNSBzZWxlY3RlZCAqLw0KLyogQ09NUF9FX0NUTDBbSU1FTl0gQml0cyAqLw0KI2RlZmluZSBDT01QX0VfQ1RMMF9JTUVOX09GUyAgICAgICAgICAgICAgICAgICAgICgxNSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyoqPCBDRUlNRU4gQml0IE9mZnNldCAqLw0KI2RlZmluZSBDT01QX0VfQ1RMMF9JTUVOICAgICAgICAgICAgICAgICAgICAgICAgICgodWludDE2X3QpMHg4MDAwKSAgICAgICAgICAgICAgLyoqPCBDaGFubmVsIGlucHV0IGVuYWJsZSBmb3IgdGhlIC0gdGVybWluYWwgKi8NCi8qIENPTVBfRV9DVEwxW09VVF0gQml0cyAqLw0KI2RlZmluZSBDT01QX0VfQ1RMMV9PVVRfT0ZTICAgICAgICAgICAgICAgICAgICAgICggMCkgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyoqPCBDRU9VVCBCaXQgT2Zmc2V0ICovDQojZGVmaW5lIENPTVBfRV9DVEwxX09VVCAgICAgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MTZfdCkweDAwMDEpICAgICAgICAgICAgICAvKio8IENvbXBhcmF0b3Igb3V0cHV0IHZhbHVlICovDQovKiBDT01QX0VfQ1RMMVtPVVRQT0xdIEJpdHMgKi8NCiNkZWZpbmUgQ09NUF9FX0NUTDFfT1VUUE9MX09GUyAgICAgICAgICAgICAgICAgICAoIDEpICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgQ0VPVVRQT0wgQml0IE9mZnNldCAqLw0KI2RlZmluZSBDT01QX0VfQ1RMMV9PVVRQT0wgICAgICAgICAgICAgICAgICAgICAgICgodWludDE2X3QpMHgwMDAyKSAgICAgICAgICAgICAgLyoqPCBDb21wYXJhdG9yIG91dHB1dCBwb2xhcml0eSAqLw0KLyogQ09NUF9FX0NUTDFbRl0gQml0cyAqLw0KI2RlZmluZSBDT01QX0VfQ1RMMV9GX09GUyAgICAgICAgICAgICAgICAgICAgICAgICggMikgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyoqPCBDRUYgQml0IE9mZnNldCAqLw0KI2RlZmluZSBDT01QX0VfQ1RMMV9GICAgICAgICAgICAgICAgICAgICAgICAgICAgICgodWludDE2X3QpMHgwMDA0KSAgICAgICAgICAgICAgLyoqPCBDb21wYXJhdG9yIG91dHB1dCBmaWx0ZXIgKi8NCi8qIENPTVBfRV9DVEwxW0lFU10gQml0cyAqLw0KI2RlZmluZSBDT01QX0VfQ1RMMV9JRVNfT0ZTICAgICAgICAgICAgICAgICAgICAgICggMykgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyoqPCBDRUlFUyBCaXQgT2Zmc2V0ICovDQojZGVmaW5lIENPTVBfRV9DVEwxX0lFUyAgICAgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MTZfdCkweDAwMDgpICAgICAgICAgICAgICAvKio8IEludGVycnVwdCBlZGdlIHNlbGVjdCBmb3IgQ0VJSUZHIGFuZCBDRUlGRyAqLw0KLyogQ09NUF9FX0NUTDFbU0hPUlRdIEJpdHMgKi8NCiNkZWZpbmUgQ09NUF9FX0NUTDFfU0hPUlRfT0ZTICAgICAgICAgICAgICAgICAgICAoIDQpICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgQ0VTSE9SVCBCaXQgT2Zmc2V0ICovDQojZGVmaW5lIENPTVBfRV9DVEwxX1NIT1JUICAgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MTZfdCkweDAwMTApICAgICAgICAgICAgICAvKio8IElucHV0IHNob3J0ICovDQovKiBDT01QX0VfQ1RMMVtFWF0gQml0cyAqLw0KI2RlZmluZSBDT01QX0VfQ1RMMV9FWF9PRlMgICAgICAgICAgICAgICAgICAgICAgICggNSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyoqPCBDRUVYIEJpdCBPZmZzZXQgKi8NCiNkZWZpbmUgQ09NUF9FX0NUTDFfRVggICAgICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQxNl90KTB4MDAyMCkgICAgICAgICAgICAgIC8qKjwgRXhjaGFuZ2UgKi8NCi8qIENPTVBfRV9DVEwxW0ZETFldIEJpdHMgKi8NCiNkZWZpbmUgQ09NUF9FX0NUTDFfRkRMWV9PRlMgICAgICAgICAgICAgICAgICAgICAoIDYpICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgQ0VGRExZIEJpdCBPZmZzZXQgKi8NCiNkZWZpbmUgQ09NUF9FX0NUTDFfRkRMWV9NQVNLICAgICAgICAgICAgICAgICAgICAoKHVpbnQxNl90KTB4MDBDMCkgICAgICAgICAgICAgIC8qKjwgQ0VGRExZIEJpdCBNYXNrICovDQojZGVmaW5lIENPTVBfRV9DVEwxX0ZETFkwICAgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MTZfdCkweDAwNDApICAgICAgICAgICAgICAvKio8IEZETFkgQml0IDAgKi8NCiNkZWZpbmUgQ09NUF9FX0NUTDFfRkRMWTEgICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQxNl90KTB4MDA4MCkgICAgICAgICAgICAgIC8qKjwgRkRMWSBCaXQgMSAqLw0KI2RlZmluZSBDT01QX0VfQ1RMMV9GRExZXzAgICAgICAgICAgICAgICAgICAgICAgICgodWludDE2X3QpMHgwMDAwKSAgICAgICAgICAgICAgLyoqPCBUeXBpY2FsIGZpbHRlciBkZWxheSBvZiBUQkQgKDQ1MCkgbnMgKi8NCiNkZWZpbmUgQ09NUF9FX0NUTDFfRkRMWV8xICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQxNl90KTB4MDA0MCkgICAgICAgICAgICAgIC8qKjwgVHlwaWNhbCBmaWx0ZXIgZGVsYXkgb2YgVEJEICg5MDApIG5zICovDQojZGVmaW5lIENPTVBfRV9DVEwxX0ZETFlfMiAgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MTZfdCkweDAwODApICAgICAgICAgICAgICAvKio8IFR5cGljYWwgZmlsdGVyIGRlbGF5IG9mIFRCRCAoMTgwMCkgbnMgKi8NCiNkZWZpbmUgQ09NUF9FX0NUTDFfRkRMWV8zICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQxNl90KTB4MDBDMCkgICAgICAgICAgICAgIC8qKjwgVHlwaWNhbCBmaWx0ZXIgZGVsYXkgb2YgVEJEICgzNjAwKSBucyAqLw0KLyogQ09NUF9FX0NUTDFbUFdSTURdIEJpdHMgKi8NCiNkZWZpbmUgQ09NUF9FX0NUTDFfUFdSTURfT0ZTICAgICAgICAgICAgICAgICAgICAoIDgpICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgQ0VQV1JNRCBCaXQgT2Zmc2V0ICovDQojZGVmaW5lIENPTVBfRV9DVEwxX1BXUk1EX01BU0sgICAgICAgICAgICAgICAgICAgKCh1aW50MTZfdCkweDAzMDApICAgICAgICAgICAgICAvKio8IENFUFdSTUQgQml0IE1hc2sgKi8NCiNkZWZpbmUgQ09NUF9FX0NUTDFfUFdSTUQwICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQxNl90KTB4MDEwMCkgICAgICAgICAgICAgIC8qKjwgUFdSTUQgQml0IDAgKi8NCiNkZWZpbmUgQ09NUF9FX0NUTDFfUFdSTUQxICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQxNl90KTB4MDIwMCkgICAgICAgICAgICAgIC8qKjwgUFdSTUQgQml0IDEgKi8NCiNkZWZpbmUgQ09NUF9FX0NUTDFfUFdSTURfMCAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQxNl90KTB4MDAwMCkgICAgICAgICAgICAgIC8qKjwgSGlnaC1zcGVlZCBtb2RlICovDQojZGVmaW5lIENPTVBfRV9DVEwxX1BXUk1EXzEgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MTZfdCkweDAxMDApICAgICAgICAgICAgICAvKio8IE5vcm1hbCBtb2RlICovDQojZGVmaW5lIENPTVBfRV9DVEwxX1BXUk1EXzIgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MTZfdCkweDAyMDApICAgICAgICAgICAgICAvKio8IFVsdHJhLWxvdyBwb3dlciBtb2RlICovDQovKiBDT01QX0VfQ1RMMVtPTl0gQml0cyAqLw0KI2RlZmluZSBDT01QX0VfQ1RMMV9PTl9PRlMgICAgICAgICAgICAgICAgICAgICAgICgxMCkgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyoqPCBDRU9OIEJpdCBPZmZzZXQgKi8NCiNkZWZpbmUgQ09NUF9FX0NUTDFfT04gICAgICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQxNl90KTB4MDQwMCkgICAgICAgICAgICAgIC8qKjwgQ29tcGFyYXRvciBPbiAqLw0KLyogQ09NUF9FX0NUTDFbTVJWTF0gQml0cyAqLw0KI2RlZmluZSBDT01QX0VfQ1RMMV9NUlZMX09GUyAgICAgICAgICAgICAgICAgICAgICgxMSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyoqPCBDRU1SVkwgQml0IE9mZnNldCAqLw0KI2RlZmluZSBDT01QX0VfQ1RMMV9NUlZMICAgICAgICAgICAgICAgICAgICAgICAgICgodWludDE2X3QpMHgwODAwKSAgICAgICAgICAgICAgLyoqPCBUaGlzIGJpdCBpcyB2YWxpZCBvZiBDRU1SVlMgaXMgc2V0IHRvIDEgKi8NCi8qIENPTVBfRV9DVEwxW01SVlNdIEJpdHMgKi8NCiNkZWZpbmUgQ09NUF9FX0NUTDFfTVJWU19PRlMgICAgICAgICAgICAgICAgICAgICAoMTIpICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgQ0VNUlZTIEJpdCBPZmZzZXQgKi8NCiNkZWZpbmUgQ09NUF9FX0NUTDFfTVJWUyAgICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQxNl90KTB4MTAwMCkNCi8qIENPTVBfRV9DVEwyW1JFRjBdIEJpdHMgKi8NCiNkZWZpbmUgQ09NUF9FX0NUTDJfUkVGMF9PRlMgICAgICAgICAgICAgICAgICAgICAoIDApICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgQ0VSRUYwIEJpdCBPZmZzZXQgKi8NCiNkZWZpbmUgQ09NUF9FX0NUTDJfUkVGMF9NQVNLICAgICAgICAgICAgICAgICAgICAoKHVpbnQxNl90KTB4MDAxRikgICAgICAgICAgICAgIC8qKjwgQ0VSRUYwIEJpdCBNYXNrICovDQovKiBDT01QX0VfQ1RMMltSU0VMXSBCaXRzICovDQojZGVmaW5lIENPTVBfRV9DVEwyX1JTRUxfT0ZTICAgICAgICAgICAgICAgICAgICAgKCA1KSAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKio8IENFUlNFTCBCaXQgT2Zmc2V0ICovDQojZGVmaW5lIENPTVBfRV9DVEwyX1JTRUwgICAgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MTZfdCkweDAwMjApICAgICAgICAgICAgICAvKio8IFJlZmVyZW5jZSBzZWxlY3QgKi8NCi8qIENPTVBfRV9DVEwyW1JTXSBCaXRzICovDQojZGVmaW5lIENPTVBfRV9DVEwyX1JTX09GUyAgICAgICAgICAgICAgICAgICAgICAgKCA2KSAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKio8IENFUlMgQml0IE9mZnNldCAqLw0KI2RlZmluZSBDT01QX0VfQ1RMMl9SU19NQVNLICAgICAgICAgICAgICAgICAgICAgICgodWludDE2X3QpMHgwMEMwKSAgICAgICAgICAgICAgLyoqPCBDRVJTIEJpdCBNYXNrICovDQojZGVmaW5lIENPTVBfRV9DVEwyX1JTMCAgICAgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MTZfdCkweDAwNDApICAgICAgICAgICAgICAvKio8IFJTIEJpdCAwICovDQojZGVmaW5lIENPTVBfRV9DVEwyX1JTMSAgICAgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MTZfdCkweDAwODApICAgICAgICAgICAgICAvKio8IFJTIEJpdCAxICovDQojZGVmaW5lIENPTVBfRV9DVEwyX1JTXzAgICAgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MTZfdCkweDAwMDApICAgICAgICAgICAgICAvKio8IE5vIGN1cnJlbnQgaXMgZHJhd24gYnkgdGhlIHJlZmVyZW5jZSBjaXJjdWl0cnkgKi8NCiNkZWZpbmUgQ09NUF9FX0NUTDJfUlNfMSAgICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQxNl90KTB4MDA0MCkgICAgICAgICAgICAgIC8qKjwgVkNDIGFwcGxpZWQgdG8gdGhlIHJlc2lzdG9yIGxhZGRlciAqLw0KI2RlZmluZSBDT01QX0VfQ1RMMl9SU18yICAgICAgICAgICAgICAgICAgICAgICAgICgodWludDE2X3QpMHgwMDgwKSAgICAgICAgICAgICAgLyoqPCBTaGFyZWQgcmVmZXJlbmNlIHZvbHRhZ2UgYXBwbGllZCB0byB0aGUgcmVzaXN0b3IgbGFkZGVyICovDQojZGVmaW5lIENPTVBfRV9DVEwyX1JTXzMgICAgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MTZfdCkweDAwQzApICAgICAgICAgICAgICAvKio8IFNoYXJlZCByZWZlcmVuY2Ugdm9sdGFnZSBzdXBwbGllZCB0byBWKENSRUYpLiBSZXNpc3RvciBsYWRkZXIgaXMgb2ZmICovDQovKiBDT01QX0VfQ1RMMltSRUYxXSBCaXRzICovDQojZGVmaW5lIENPTVBfRV9DVEwyX1JFRjFfT0ZTICAgICAgICAgICAgICAgICAgICAgKCA4KSAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKio8IENFUkVGMSBCaXQgT2Zmc2V0ICovDQojZGVmaW5lIENPTVBfRV9DVEwyX1JFRjFfTUFTSyAgICAgICAgICAgICAgICAgICAgKCh1aW50MTZfdCkweDFGMDApICAgICAgICAgICAgICAvKio8IENFUkVGMSBCaXQgTWFzayAqLw0KLyogQ09NUF9FX0NUTDJbUkVGTF0gQml0cyAqLw0KI2RlZmluZSBDT01QX0VfQ1RMMl9SRUZMX09GUyAgICAgICAgICAgICAgICAgICAgICgxMykgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyoqPCBDRVJFRkwgQml0IE9mZnNldCAqLw0KI2RlZmluZSBDT01QX0VfQ1RMMl9SRUZMX01BU0sgICAgICAgICAgICAgICAgICAgICgodWludDE2X3QpMHg2MDAwKSAgICAgICAgICAgICAgLyoqPCBDRVJFRkwgQml0IE1hc2sgKi8NCiNkZWZpbmUgQ09NUF9FX0NUTDJfUkVGTDAgICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQxNl90KTB4MjAwMCkgICAgICAgICAgICAgIC8qKjwgUkVGTCBCaXQgMCAqLw0KI2RlZmluZSBDT01QX0VfQ1RMMl9SRUZMMSAgICAgICAgICAgICAgICAgICAgICAgICgodWludDE2X3QpMHg0MDAwKSAgICAgICAgICAgICAgLyoqPCBSRUZMIEJpdCAxICovDQojZGVmaW5lIENPTVBfRV9DVEwyX0NFUkVGTF8wICAgICAgICAgICAgICAgICAgICAgKCh1aW50MTZfdCkweDAwMDApICAgICAgICAgICAgICAvKio8IFJlZmVyZW5jZSBhbXBsaWZpZXIgaXMgZGlzYWJsZWQuIE5vIHJlZmVyZW5jZSB2b2x0YWdlIGlzIHJlcXVlc3RlZCAqLw0KI2RlZmluZSBDT01QX0VfQ1RMMl9DRVJFRkxfMSAgICAgICAgICAgICAgICAgICAgICgodWludDE2X3QpMHgyMDAwKSAgICAgICAgICAgICAgLyoqPCAxLjIgViBpcyBzZWxlY3RlZCBhcyBzaGFyZWQgcmVmZXJlbmNlIHZvbHRhZ2UgaW5wdXQgKi8NCiNkZWZpbmUgQ09NUF9FX0NUTDJfQ0VSRUZMXzIgICAgICAgICAgICAgICAgICAgICAoKHVpbnQxNl90KTB4NDAwMCkgICAgICAgICAgICAgIC8qKjwgMi4wIFYgaXMgc2VsZWN0ZWQgYXMgc2hhcmVkIHJlZmVyZW5jZSB2b2x0YWdlIGlucHV0ICovDQojZGVmaW5lIENPTVBfRV9DVEwyX0NFUkVGTF8zICAgICAgICAgICAgICAgICAgICAgKCh1aW50MTZfdCkweDYwMDApICAgICAgICAgICAgICAvKio8IDIuNSBWIGlzIHNlbGVjdGVkIGFzIHNoYXJlZCByZWZlcmVuY2Ugdm9sdGFnZSBpbnB1dCAqLw0KI2RlZmluZSBDT01QX0VfQ1RMMl9SRUZMX19PRkYgICAgICAgICAgICAgICAgICAgICgodWludDE2X3QpMHgwMDAwKSAgICAgICAgICAgICAgLyoqPCBSZWZlcmVuY2UgYW1wbGlmaWVyIGlzIGRpc2FibGVkLiBObyByZWZlcmVuY2Ugdm9sdGFnZSBpcyByZXF1ZXN0ZWQgKi8NCiNkZWZpbmUgQ09NUF9FX0NUTDJfUkVGTF9fMVAyViAgICAgICAgICAgICAgICAgICAoKHVpbnQxNl90KTB4MjAwMCkgICAgICAgICAgICAgIC8qKjwgMS4yIFYgaXMgc2VsZWN0ZWQgYXMgc2hhcmVkIHJlZmVyZW5jZSB2b2x0YWdlIGlucHV0ICovDQojZGVmaW5lIENPTVBfRV9DVEwyX1JFRkxfXzJQMFYgICAgICAgICAgICAgICAgICAgKCh1aW50MTZfdCkweDQwMDApICAgICAgICAgICAgICAvKio8IDIuMCBWIGlzIHNlbGVjdGVkIGFzIHNoYXJlZCByZWZlcmVuY2Ugdm9sdGFnZSBpbnB1dCAqLw0KI2RlZmluZSBDT01QX0VfQ1RMMl9SRUZMX18yUDVWICAgICAgICAgICAgICAgICAgICgodWludDE2X3QpMHg2MDAwKSAgICAgICAgICAgICAgLyoqPCAyLjUgViBpcyBzZWxlY3RlZCBhcyBzaGFyZWQgcmVmZXJlbmNlIHZvbHRhZ2UgaW5wdXQgKi8NCi8qIENPTVBfRV9DVEwyW1JFRkFDQ10gQml0cyAqLw0KI2RlZmluZSBDT01QX0VfQ1RMMl9SRUZBQ0NfT0ZTICAgICAgICAgICAgICAgICAgICgxNSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyoqPCBDRVJFRkFDQyBCaXQgT2Zmc2V0ICovDQojZGVmaW5lIENPTVBfRV9DVEwyX1JFRkFDQyAgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MTZfdCkweDgwMDApICAgICAgICAgICAgICAvKio8IFJlZmVyZW5jZSBhY2N1cmFjeSAqLw0KLyogQ09NUF9FX0NUTDNbUEQwXSBCaXRzICovDQojZGVmaW5lIENPTVBfRV9DVEwzX1BEMF9PRlMgICAgICAgICAgICAgICAgICAgICAgKCAwKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKio8IENFUEQwIEJpdCBPZmZzZXQgKi8NCiNkZWZpbmUgQ09NUF9FX0NUTDNfUEQwICAgICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQxNl90KTB4MDAwMSkgICAgICAgICAgICAgIC8qKjwgUG9ydCBkaXNhYmxlICovDQovKiBDT01QX0VfQ1RMM1tQRDFdIEJpdHMgKi8NCiNkZWZpbmUgQ09NUF9FX0NUTDNfUEQxX09GUyAgICAgICAgICAgICAgICAgICAgICAoIDEpICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgQ0VQRDEgQml0IE9mZnNldCAqLw0KI2RlZmluZSBDT01QX0VfQ1RMM19QRDEgICAgICAgICAgICAgICAgICAgICAgICAgICgodWludDE2X3QpMHgwMDAyKSAgICAgICAgICAgICAgLyoqPCBQb3J0IGRpc2FibGUgKi8NCi8qIENPTVBfRV9DVEwzW1BEMl0gQml0cyAqLw0KI2RlZmluZSBDT01QX0VfQ1RMM19QRDJfT0ZTICAgICAgICAgICAgICAgICAgICAgICggMikgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyoqPCBDRVBEMiBCaXQgT2Zmc2V0ICovDQojZGVmaW5lIENPTVBfRV9DVEwzX1BEMiAgICAgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MTZfdCkweDAwMDQpICAgICAgICAgICAgICAvKio8IFBvcnQgZGlzYWJsZSAqLw0KLyogQ09NUF9FX0NUTDNbUEQzXSBCaXRzICovDQojZGVmaW5lIENPTVBfRV9DVEwzX1BEM19PRlMgICAgICAgICAgICAgICAgICAgICAgKCAzKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKio8IENFUEQzIEJpdCBPZmZzZXQgKi8NCiNkZWZpbmUgQ09NUF9FX0NUTDNfUEQzICAgICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQxNl90KTB4MDAwOCkgICAgICAgICAgICAgIC8qKjwgUG9ydCBkaXNhYmxlICovDQovKiBDT01QX0VfQ1RMM1tQRDRdIEJpdHMgKi8NCiNkZWZpbmUgQ09NUF9FX0NUTDNfUEQ0X09GUyAgICAgICAgICAgICAgICAgICAgICAoIDQpICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgQ0VQRDQgQml0IE9mZnNldCAqLw0KI2RlZmluZSBDT01QX0VfQ1RMM19QRDQgICAgICAgICAgICAgICAgICAgICAgICAgICgodWludDE2X3QpMHgwMDEwKSAgICAgICAgICAgICAgLyoqPCBQb3J0IGRpc2FibGUgKi8NCi8qIENPTVBfRV9DVEwzW1BENV0gQml0cyAqLw0KI2RlZmluZSBDT01QX0VfQ1RMM19QRDVfT0ZTICAgICAgICAgICAgICAgICAgICAgICggNSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyoqPCBDRVBENSBCaXQgT2Zmc2V0ICovDQojZGVmaW5lIENPTVBfRV9DVEwzX1BENSAgICAgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MTZfdCkweDAwMjApICAgICAgICAgICAgICAvKio8IFBvcnQgZGlzYWJsZSAqLw0KLyogQ09NUF9FX0NUTDNbUEQ2XSBCaXRzICovDQojZGVmaW5lIENPTVBfRV9DVEwzX1BENl9PRlMgICAgICAgICAgICAgICAgICAgICAgKCA2KSAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKio8IENFUEQ2IEJpdCBPZmZzZXQgKi8NCiNkZWZpbmUgQ09NUF9FX0NUTDNfUEQ2ICAgICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQxNl90KTB4MDA0MCkgICAgICAgICAgICAgIC8qKjwgUG9ydCBkaXNhYmxlICovDQovKiBDT01QX0VfQ1RMM1tQRDddIEJpdHMgKi8NCiNkZWZpbmUgQ09NUF9FX0NUTDNfUEQ3X09GUyAgICAgICAgICAgICAgICAgICAgICAoIDcpICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgQ0VQRDcgQml0IE9mZnNldCAqLw0KI2RlZmluZSBDT01QX0VfQ1RMM19QRDcgICAgICAgICAgICAgICAgICAgICAgICAgICgodWludDE2X3QpMHgwMDgwKSAgICAgICAgICAgICAgLyoqPCBQb3J0IGRpc2FibGUgKi8NCi8qIENPTVBfRV9DVEwzW1BEOF0gQml0cyAqLw0KI2RlZmluZSBDT01QX0VfQ1RMM19QRDhfT0ZTICAgICAgICAgICAgICAgICAgICAgICggOCkgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyoqPCBDRVBEOCBCaXQgT2Zmc2V0ICovDQojZGVmaW5lIENPTVBfRV9DVEwzX1BEOCAgICAgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MTZfdCkweDAxMDApICAgICAgICAgICAgICAvKio8IFBvcnQgZGlzYWJsZSAqLw0KLyogQ09NUF9FX0NUTDNbUEQ5XSBCaXRzICovDQojZGVmaW5lIENPTVBfRV9DVEwzX1BEOV9PRlMgICAgICAgICAgICAgICAgICAgICAgKCA5KSAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKio8IENFUEQ5IEJpdCBPZmZzZXQgKi8NCiNkZWZpbmUgQ09NUF9FX0NUTDNfUEQ5ICAgICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQxNl90KTB4MDIwMCkgICAgICAgICAgICAgIC8qKjwgUG9ydCBkaXNhYmxlICovDQovKiBDT01QX0VfQ1RMM1tQRDEwXSBCaXRzICovDQojZGVmaW5lIENPTVBfRV9DVEwzX1BEMTBfT0ZTICAgICAgICAgICAgICAgICAgICAgKDEwKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKio8IENFUEQxMCBCaXQgT2Zmc2V0ICovDQojZGVmaW5lIENPTVBfRV9DVEwzX1BEMTAgICAgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MTZfdCkweDA0MDApICAgICAgICAgICAgICAvKio8IFBvcnQgZGlzYWJsZSAqLw0KLyogQ09NUF9FX0NUTDNbUEQxMV0gQml0cyAqLw0KI2RlZmluZSBDT01QX0VfQ1RMM19QRDExX09GUyAgICAgICAgICAgICAgICAgICAgICgxMSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyoqPCBDRVBEMTEgQml0IE9mZnNldCAqLw0KI2RlZmluZSBDT01QX0VfQ1RMM19QRDExICAgICAgICAgICAgICAgICAgICAgICAgICgodWludDE2X3QpMHgwODAwKSAgICAgICAgICAgICAgLyoqPCBQb3J0IGRpc2FibGUgKi8NCi8qIENPTVBfRV9DVEwzW1BEMTJdIEJpdHMgKi8NCiNkZWZpbmUgQ09NUF9FX0NUTDNfUEQxMl9PRlMgICAgICAgICAgICAgICAgICAgICAoMTIpICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgQ0VQRDEyIEJpdCBPZmZzZXQgKi8NCiNkZWZpbmUgQ09NUF9FX0NUTDNfUEQxMiAgICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQxNl90KTB4MTAwMCkgICAgICAgICAgICAgIC8qKjwgUG9ydCBkaXNhYmxlICovDQovKiBDT01QX0VfQ1RMM1tQRDEzXSBCaXRzICovDQojZGVmaW5lIENPTVBfRV9DVEwzX1BEMTNfT0ZTICAgICAgICAgICAgICAgICAgICAgKDEzKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKio8IENFUEQxMyBCaXQgT2Zmc2V0ICovDQojZGVmaW5lIENPTVBfRV9DVEwzX1BEMTMgICAgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MTZfdCkweDIwMDApICAgICAgICAgICAgICAvKio8IFBvcnQgZGlzYWJsZSAqLw0KLyogQ09NUF9FX0NUTDNbUEQxNF0gQml0cyAqLw0KI2RlZmluZSBDT01QX0VfQ1RMM19QRDE0X09GUyAgICAgICAgICAgICAgICAgICAgICgxNCkgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyoqPCBDRVBEMTQgQml0IE9mZnNldCAqLw0KI2RlZmluZSBDT01QX0VfQ1RMM19QRDE0ICAgICAgICAgICAgICAgICAgICAgICAgICgodWludDE2X3QpMHg0MDAwKSAgICAgICAgICAgICAgLyoqPCBQb3J0IGRpc2FibGUgKi8NCi8qIENPTVBfRV9DVEwzW1BEMTVdIEJpdHMgKi8NCiNkZWZpbmUgQ09NUF9FX0NUTDNfUEQxNV9PRlMgICAgICAgICAgICAgICAgICAgICAoMTUpICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgQ0VQRDE1IEJpdCBPZmZzZXQgKi8NCiNkZWZpbmUgQ09NUF9FX0NUTDNfUEQxNSAgICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQxNl90KTB4ODAwMCkgICAgICAgICAgICAgIC8qKjwgUG9ydCBkaXNhYmxlICovDQovKiBDT01QX0VfSU5UW0lGR10gQml0cyAqLw0KI2RlZmluZSBDT01QX0VfSU5UX0lGR19PRlMgICAgICAgICAgICAgICAgICAgICAgICggMCkgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyoqPCBDRUlGRyBCaXQgT2Zmc2V0ICovDQojZGVmaW5lIENPTVBfRV9JTlRfSUZHICAgICAgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MTZfdCkweDAwMDEpICAgICAgICAgICAgICAvKio8IENvbXBhcmF0b3Igb3V0cHV0IGludGVycnVwdCBmbGFnICovDQovKiBDT01QX0VfSU5UW0lJRkddIEJpdHMgKi8NCiNkZWZpbmUgQ09NUF9FX0lOVF9JSUZHX09GUyAgICAgICAgICAgICAgICAgICAgICAoIDEpICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgQ0VJSUZHIEJpdCBPZmZzZXQgKi8NCiNkZWZpbmUgQ09NUF9FX0lOVF9JSUZHICAgICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQxNl90KTB4MDAwMikgICAgICAgICAgICAgIC8qKjwgQ29tcGFyYXRvciBvdXRwdXQgaW52ZXJ0ZWQgaW50ZXJydXB0IGZsYWcgKi8NCi8qIENPTVBfRV9JTlRbUkRZSUZHXSBCaXRzICovDQojZGVmaW5lIENPTVBfRV9JTlRfUkRZSUZHX09GUyAgICAgICAgICAgICAgICAgICAgKCA0KSAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKio8IENFUkRZSUZHIEJpdCBPZmZzZXQgKi8NCiNkZWZpbmUgQ09NUF9FX0lOVF9SRFlJRkcgICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQxNl90KTB4MDAxMCkgICAgICAgICAgICAgIC8qKjwgQ29tcGFyYXRvciByZWFkeSBpbnRlcnJ1cHQgZmxhZyAqLw0KLyogQ09NUF9FX0lOVFtJRV0gQml0cyAqLw0KI2RlZmluZSBDT01QX0VfSU5UX0lFX09GUyAgICAgICAgICAgICAgICAgICAgICAgICggOCkgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyoqPCBDRUlFIEJpdCBPZmZzZXQgKi8NCiNkZWZpbmUgQ09NUF9FX0lOVF9JRSAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQxNl90KTB4MDEwMCkgICAgICAgICAgICAgIC8qKjwgQ29tcGFyYXRvciBvdXRwdXQgaW50ZXJydXB0IGVuYWJsZSAqLw0KLyogQ09NUF9FX0lOVFtJSUVdIEJpdHMgKi8NCiNkZWZpbmUgQ09NUF9FX0lOVF9JSUVfT0ZTICAgICAgICAgICAgICAgICAgICAgICAoIDkpICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgQ0VJSUUgQml0IE9mZnNldCAqLw0KI2RlZmluZSBDT01QX0VfSU5UX0lJRSAgICAgICAgICAgICAgICAgICAgICAgICAgICgodWludDE2X3QpMHgwMjAwKSAgICAgICAgICAgICAgLyoqPCBDb21wYXJhdG9yIG91dHB1dCBpbnRlcnJ1cHQgZW5hYmxlIGludmVydGVkIHBvbGFyaXR5ICovDQovKiBDT01QX0VfSU5UW1JEWUlFXSBCaXRzICovDQojZGVmaW5lIENPTVBfRV9JTlRfUkRZSUVfT0ZTICAgICAgICAgICAgICAgICAgICAgKDEyKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKio8IENFUkRZSUUgQml0IE9mZnNldCAqLw0KI2RlZmluZSBDT01QX0VfSU5UX1JEWUlFICAgICAgICAgICAgICAgICAgICAgICAgICgodWludDE2X3QpMHgxMDAwKSAgICAgICAgICAgICAgLyoqPCBDb21wYXJhdG9yIHJlYWR5IGludGVycnVwdCBlbmFibGUgKi8NCg0KDQovKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqDQoqIENPUkVERUJVRyBCaXRzDQoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovDQoNCg0KLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKg0KKiBDUkMzMiBCaXRzDQoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovDQoNCg0KLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKg0KKiBDUyBCaXRzDQoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovDQovKiBDU19LRVlbS0VZXSBCaXRzICovDQojZGVmaW5lIENTX0tFWV9LRVlfT0ZTICAgICAgICAgICAgICAgICAgICAgICAgICAgKCAwKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKio8IENTS0VZIEJpdCBPZmZzZXQgKi8NCiNkZWZpbmUgQ1NfS0VZX0tFWV9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMEZGRkYpICAgICAgICAgIC8qKjwgQ1NLRVkgQml0IE1hc2sgKi8NCi8qIENTX0NUTDBbRENPVFVORV0gQml0cyAqLw0KI2RlZmluZSBDU19DVEwwX0RDT1RVTkVfT0ZTICAgICAgICAgICAgICAgICAgICAgICggMCkgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyoqPCBEQ09UVU5FIEJpdCBPZmZzZXQgKi8NCiNkZWZpbmUgQ1NfQ1RMMF9EQ09UVU5FX01BU0sgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDAzRkYpICAgICAgICAgIC8qKjwgRENPVFVORSBCaXQgTWFzayAqLw0KLyogQ1NfQ1RMMFtEQ09SU0VMXSBCaXRzICovDQojZGVmaW5lIENTX0NUTDBfRENPUlNFTF9PRlMgICAgICAgICAgICAgICAgICAgICAgKDE2KSAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKio8IERDT1JTRUwgQml0IE9mZnNldCAqLw0KI2RlZmluZSBDU19DVEwwX0RDT1JTRUxfTUFTSyAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDA3MDAwMCkgICAgICAgICAgLyoqPCBEQ09SU0VMIEJpdCBNYXNrICovDQojZGVmaW5lIENTX0NUTDBfRENPUlNFTDAgICAgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDEwMDAwKSAgICAgICAgICAvKio8IERDT1JTRUwgQml0IDAgKi8NCiNkZWZpbmUgQ1NfQ1RMMF9EQ09SU0VMMSAgICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMjAwMDApICAgICAgICAgIC8qKjwgRENPUlNFTCBCaXQgMSAqLw0KI2RlZmluZSBDU19DVEwwX0RDT1JTRUwyICAgICAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDA0MDAwMCkgICAgICAgICAgLyoqPCBEQ09SU0VMIEJpdCAyICovDQojZGVmaW5lIENTX0NUTDBfRENPUlNFTF8wICAgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwMDAwKSAgICAgICAgICAvKio8IE5vbWluYWwgRENPIEZyZXF1ZW5jeSBSYW5nZSAoTUh6KTogMSB0byAyICovDQojZGVmaW5lIENTX0NUTDBfRENPUlNFTF8xICAgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDEwMDAwKSAgICAgICAgICAvKio8IE5vbWluYWwgRENPIEZyZXF1ZW5jeSBSYW5nZSAoTUh6KTogMiB0byA0ICovDQojZGVmaW5lIENTX0NUTDBfRENPUlNFTF8yICAgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDIwMDAwKSAgICAgICAgICAvKio8IE5vbWluYWwgRENPIEZyZXF1ZW5jeSBSYW5nZSAoTUh6KTogNCB0byA4ICovDQojZGVmaW5lIENTX0NUTDBfRENPUlNFTF8zICAgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDMwMDAwKSAgICAgICAgICAvKio8IE5vbWluYWwgRENPIEZyZXF1ZW5jeSBSYW5nZSAoTUh6KTogOCB0byAxNiAqLw0KI2RlZmluZSBDU19DVEwwX0RDT1JTRUxfNCAgICAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDA0MDAwMCkgICAgICAgICAgLyoqPCBOb21pbmFsIERDTyBGcmVxdWVuY3kgUmFuZ2UgKE1Ieik6IDE2IHRvIDMyICovDQojZGVmaW5lIENTX0NUTDBfRENPUlNFTF81ICAgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDUwMDAwKSAgICAgICAgICAvKio8IE5vbWluYWwgRENPIEZyZXF1ZW5jeSBSYW5nZSAoTUh6KTogMzIgdG8gNjQgKi8NCi8qIENTX0NUTDBbRENPUkVTXSBCaXRzICovDQojZGVmaW5lIENTX0NUTDBfRENPUkVTX09GUyAgICAgICAgICAgICAgICAgICAgICAgKDIyKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKio8IERDT1JFUyBCaXQgT2Zmc2V0ICovDQojZGVmaW5lIENTX0NUTDBfRENPUkVTICAgICAgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwNDAwMDAwKSAgICAgICAgICAvKio8IEVuYWJsZXMgdGhlIERDTyBleHRlcm5hbCByZXNpc3RvciBtb2RlICovDQovKiBDU19DVEwwW0RDT0VOXSBCaXRzICovDQojZGVmaW5lIENTX0NUTDBfRENPRU5fT0ZTICAgICAgICAgICAgICAgICAgICAgICAgKDIzKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKio8IERDT0VOIEJpdCBPZmZzZXQgKi8NCiNkZWZpbmUgQ1NfQ1RMMF9EQ09FTiAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDA4MDAwMDApICAgICAgICAgIC8qKjwgRW5hYmxlcyB0aGUgRENPIG9zY2lsbGF0b3IgKi8NCi8qIENTX0NUTDFbU0VMTV0gQml0cyAqLw0KI2RlZmluZSBDU19DVEwxX1NFTE1fT0ZTICAgICAgICAgICAgICAgICAgICAgICAgICggMCkgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyoqPCBTRUxNIEJpdCBPZmZzZXQgKi8NCiNkZWZpbmUgQ1NfQ1RMMV9TRUxNX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDAwMDcpICAgICAgICAgIC8qKjwgU0VMTSBCaXQgTWFzayAqLw0KI2RlZmluZSBDU19DVEwxX1NFTE0wICAgICAgICAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMDAwMSkgICAgICAgICAgLyoqPCBTRUxNIEJpdCAwICovDQojZGVmaW5lIENTX0NUTDFfU0VMTTEgICAgICAgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwMDAyKSAgICAgICAgICAvKio8IFNFTE0gQml0IDEgKi8NCiNkZWZpbmUgQ1NfQ1RMMV9TRUxNMiAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDAwMDQpICAgICAgICAgIC8qKjwgU0VMTSBCaXQgMiAqLw0KI2RlZmluZSBDU19DVEwxX1NFTE1fMCAgICAgICAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMDAwMCkgICAgICAgICAgLyoqPCB3aGVuIExGWFQgYXZhaWxhYmxlLCBvdGhlcndpc2UgUkVGT0NMSyAqLw0KI2RlZmluZSBDU19DVEwxX1NFTE1fMSAgICAgICAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMDAwMSkNCiNkZWZpbmUgQ1NfQ1RMMV9TRUxNXzIgICAgICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDAwMDIpDQojZGVmaW5lIENTX0NUTDFfU0VMTV8zICAgICAgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwMDAzKQ0KI2RlZmluZSBDU19DVEwxX1NFTE1fNCAgICAgICAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMDAwNCkNCiNkZWZpbmUgQ1NfQ1RMMV9TRUxNXzUgICAgICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDAwMDUpICAgICAgICAgIC8qKjwgd2hlbiBIRlhUIGF2YWlsYWJsZSwgb3RoZXJ3aXNlIERDT0NMSyAqLw0KI2RlZmluZSBDU19DVEwxX1NFTE1fNiAgICAgICAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMDAwNikgICAgICAgICAgLyoqPCB3aGVuIEhGWFQyIGF2YWlsYWJsZSwgb3RoZXJ3aXNlIERDT0NMSyAqLw0KI2RlZmluZSBDU19DVEwxX1NFTE1fX0xGWFRDTEsgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMDAwMCkgICAgICAgICAgLyoqPCB3aGVuIExGWFQgYXZhaWxhYmxlLCBvdGhlcndpc2UgUkVGT0NMSyAqLw0KI2RlZmluZSBDU19DVEwxX1NFTE1fX1ZMT0NMSyAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMDAwMSkNCiNkZWZpbmUgQ1NfQ1RMMV9TRUxNX19SRUZPQ0xLICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDAwMDIpDQojZGVmaW5lIENTX0NUTDFfU0VMTV9fRENPQ0xLICAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwMDAzKQ0KI2RlZmluZSBDU19DVEwxX1NFTE1fX01PRE9TQyAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMDAwNCkNCiNkZWZpbmUgQ1NfQ1RMMV9TRUxNX19IRlhUQ0xLICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDAwMDUpICAgICAgICAgIC8qKjwgd2hlbiBIRlhUIGF2YWlsYWJsZSwgb3RoZXJ3aXNlIERDT0NMSyAqLw0KI2RlZmluZSBDU19DVEwxX1NFTE1fX0hGWFQyQ0xLICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMDAwNikgICAgICAgICAgLyoqPCB3aGVuIEhGWFQyIGF2YWlsYWJsZSwgb3RoZXJ3aXNlIERDT0NMSyAqLw0KI2RlZmluZSBDU19DVEwxX1NFTE1fNyAgICAgICAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMDAwNykgICAgICAgICAgLyoqPCBmb3IgZnV0dXJlIHVzZS4gRGVmYXVsdHMgdG8gRENPQ0xLLiBOb3QgcmVjb21tZW5kZWQgZm9yIHVzZSB0byBlbnN1cmUgZnV0dXJlICAqLw0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyogY29tcGF0aWJpbGl0aWVzLiAqLw0KLyogQ1NfQ1RMMVtTRUxTXSBCaXRzICovDQojZGVmaW5lIENTX0NUTDFfU0VMU19PRlMgICAgICAgICAgICAgICAgICAgICAgICAgKCA0KSAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKio8IFNFTFMgQml0IE9mZnNldCAqLw0KI2RlZmluZSBDU19DVEwxX1NFTFNfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMDA3MCkgICAgICAgICAgLyoqPCBTRUxTIEJpdCBNYXNrICovDQojZGVmaW5lIENTX0NUTDFfU0VMUzAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwMDEwKSAgICAgICAgICAvKio8IFNFTFMgQml0IDAgKi8NCiNkZWZpbmUgQ1NfQ1RMMV9TRUxTMSAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDAwMjApICAgICAgICAgIC8qKjwgU0VMUyBCaXQgMSAqLw0KI2RlZmluZSBDU19DVEwxX1NFTFMyICAgICAgICAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMDA0MCkgICAgICAgICAgLyoqPCBTRUxTIEJpdCAyICovDQojZGVmaW5lIENTX0NUTDFfU0VMU18wICAgICAgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwMDAwKSAgICAgICAgICAvKio8IHdoZW4gTEZYVCBhdmFpbGFibGUsIG90aGVyd2lzZSBSRUZPQ0xLICovDQojZGVmaW5lIENTX0NUTDFfU0VMU18xICAgICAgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwMDEwKQ0KI2RlZmluZSBDU19DVEwxX1NFTFNfMiAgICAgICAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMDAyMCkNCiNkZWZpbmUgQ1NfQ1RMMV9TRUxTXzMgICAgICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDAwMzApDQojZGVmaW5lIENTX0NUTDFfU0VMU180ICAgICAgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwMDQwKQ0KI2RlZmluZSBDU19DVEwxX1NFTFNfNSAgICAgICAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMDA1MCkgICAgICAgICAgLyoqPCB3aGVuIEhGWFQgYXZhaWxhYmxlLCBvdGhlcndpc2UgRENPQ0xLICovDQojZGVmaW5lIENTX0NUTDFfU0VMU182ICAgICAgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwMDYwKSAgICAgICAgICAvKio8IHdoZW4gSEZYVDIgYXZhaWxhYmxlLCBvdGhlcndpc2UgRENPQ0xLICovDQojZGVmaW5lIENTX0NUTDFfU0VMU19fTEZYVENMSyAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwMDAwKSAgICAgICAgICAvKio8IHdoZW4gTEZYVCBhdmFpbGFibGUsIG90aGVyd2lzZSBSRUZPQ0xLICovDQojZGVmaW5lIENTX0NUTDFfU0VMU19fVkxPQ0xLICAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwMDEwKQ0KI2RlZmluZSBDU19DVEwxX1NFTFNfX1JFRk9DTEsgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMDAyMCkNCiNkZWZpbmUgQ1NfQ1RMMV9TRUxTX19EQ09DTEsgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDAwMzApDQojZGVmaW5lIENTX0NUTDFfU0VMU19fTU9ET1NDICAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwMDQwKQ0KI2RlZmluZSBDU19DVEwxX1NFTFNfX0hGWFRDTEsgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMDA1MCkgICAgICAgICAgLyoqPCB3aGVuIEhGWFQgYXZhaWxhYmxlLCBvdGhlcndpc2UgRENPQ0xLICovDQojZGVmaW5lIENTX0NUTDFfU0VMU19fSEZYVDJDTEsgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwMDYwKSAgICAgICAgICAvKio8IHdoZW4gSEZYVDIgYXZhaWxhYmxlLCBvdGhlcndpc2UgRENPQ0xLICovDQojZGVmaW5lIENTX0NUTDFfU0VMU183ICAgICAgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwMDcwKSAgICAgICAgICAvKio8IGZvciBmdXJ0dXJlIHVzZS4gRGVmYXVsdHMgdG8gRENPQ0xLLiBEbyBub3QgdXNlIHRvIGVuc3VyZSBmdXR1cmUgICovDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiBjb21wYXRpYmlsaXRpZXMuICovDQovKiBDU19DVEwxW1NFTEFdIEJpdHMgKi8NCiNkZWZpbmUgQ1NfQ1RMMV9TRUxBX09GUyAgICAgICAgICAgICAgICAgICAgICAgICAoIDgpICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgU0VMQSBCaXQgT2Zmc2V0ICovDQojZGVmaW5lIENTX0NUTDFfU0VMQV9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwNzAwKSAgICAgICAgICAvKio8IFNFTEEgQml0IE1hc2sgKi8NCiNkZWZpbmUgQ1NfQ1RMMV9TRUxBMCAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDAxMDApICAgICAgICAgIC8qKjwgU0VMQSBCaXQgMCAqLw0KI2RlZmluZSBDU19DVEwxX1NFTEExICAgICAgICAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMDIwMCkgICAgICAgICAgLyoqPCBTRUxBIEJpdCAxICovDQojZGVmaW5lIENTX0NUTDFfU0VMQTIgICAgICAgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwNDAwKSAgICAgICAgICAvKio8IFNFTEEgQml0IDIgKi8NCiNkZWZpbmUgQ1NfQ1RMMV9TRUxBXzAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDAwMDApICAgICAgICAgIC8qKjwgd2hlbiBMRlhUIGF2YWlsYWJsZSwgb3RoZXJ3aXNlIFJFRk9DTEsgKi8NCiNkZWZpbmUgQ1NfQ1RMMV9TRUxBXzEgICAgICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDAxMDApDQojZGVmaW5lIENTX0NUTDFfU0VMQV8yICAgICAgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwMjAwKQ0KI2RlZmluZSBDU19DVEwxX1NFTEFfX0xGWFRDTEsgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMDAwMCkgICAgICAgICAgLyoqPCB3aGVuIExGWFQgYXZhaWxhYmxlLCBvdGhlcndpc2UgUkVGT0NMSyAqLw0KI2RlZmluZSBDU19DVEwxX1NFTEFfX1ZMT0NMSyAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMDEwMCkNCiNkZWZpbmUgQ1NfQ1RMMV9TRUxBX19SRUZPQ0xLICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDAyMDApDQojZGVmaW5lIENTX0NUTDFfU0VMQV8zICAgICAgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwMzAwKSAgICAgICAgICAvKio8IGZvciBmdXR1cmUgdXNlLiBEZWZhdWx0cyB0byBSRUZPQ0xLLiBOb3QgcmVjb21tZW5kZWQgZm9yIHVzZSB0byBlbnN1cmUgZnV0dXJlICAqLw0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyogY29tcGF0aWJpbGl0aWVzLiAqLw0KI2RlZmluZSBDU19DVEwxX1NFTEFfNCAgICAgICAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMDQwMCkgICAgICAgICAgLyoqPCBmb3IgZnV0dXJlIHVzZS4gRGVmYXVsdHMgdG8gUkVGT0NMSy4gTm90IHJlY29tbWVuZGVkIGZvciB1c2UgdG8gZW5zdXJlIGZ1dHVyZSAgKi8NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qIGNvbXBhdGliaWxpdGllcy4gKi8NCiNkZWZpbmUgQ1NfQ1RMMV9TRUxBXzUgICAgICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDA1MDApICAgICAgICAgIC8qKjwgZm9yIGZ1dHVyZSB1c2UuIERlZmF1bHRzIHRvIFJFRk9DTEsuIE5vdCByZWNvbW1lbmRlZCBmb3IgdXNlIHRvIGVuc3VyZSBmdXR1cmUgICovDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiBjb21wYXRpYmlsaXRpZXMuICovDQojZGVmaW5lIENTX0NUTDFfU0VMQV82ICAgICAgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwNjAwKSAgICAgICAgICAvKio8IGZvciBmdXR1cmUgdXNlLiBEZWZhdWx0cyB0byBSRUZPQ0xLLiBOb3QgcmVjb21tZW5kZWQgZm9yIHVzZSB0byBlbnN1cmUgZnV0dXJlICAqLw0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyogY29tcGF0aWJpbGl0aWVzLiAqLw0KI2RlZmluZSBDU19DVEwxX1NFTEFfNyAgICAgICAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMDcwMCkgICAgICAgICAgLyoqPCBmb3IgZnV0dXJlIHVzZS4gRGVmYXVsdHMgdG8gUkVGT0NMSy4gTm90IHJlY29tbWVuZGVkIGZvciB1c2UgdG8gZW5zdXJlIGZ1dHVyZSAgKi8NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qIGNvbXBhdGliaWxpdGllcy4gKi8NCi8qIENTX0NUTDFbU0VMQl0gQml0cyAqLw0KI2RlZmluZSBDU19DVEwxX1NFTEJfT0ZTICAgICAgICAgICAgICAgICAgICAgICAgICgxMikgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyoqPCBTRUxCIEJpdCBPZmZzZXQgKi8NCiNkZWZpbmUgQ1NfQ1RMMV9TRUxCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDEwMDApICAgICAgICAgIC8qKjwgU2VsZWN0cyB0aGUgQkNMSyBzb3VyY2UgKi8NCi8qIENTX0NUTDFbRElWTV0gQml0cyAqLw0KI2RlZmluZSBDU19DVEwxX0RJVk1fT0ZTICAgICAgICAgICAgICAgICAgICAgICAgICgxNikgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyoqPCBESVZNIEJpdCBPZmZzZXQgKi8NCiNkZWZpbmUgQ1NfQ1RMMV9ESVZNX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwNzAwMDApICAgICAgICAgIC8qKjwgRElWTSBCaXQgTWFzayAqLw0KI2RlZmluZSBDU19DVEwxX0RJVk0wICAgICAgICAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAxMDAwMCkgICAgICAgICAgLyoqPCBESVZNIEJpdCAwICovDQojZGVmaW5lIENTX0NUTDFfRElWTTEgICAgICAgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDIwMDAwKSAgICAgICAgICAvKio8IERJVk0gQml0IDEgKi8NCiNkZWZpbmUgQ1NfQ1RMMV9ESVZNMiAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwNDAwMDApICAgICAgICAgIC8qKjwgRElWTSBCaXQgMiAqLw0KI2RlZmluZSBDU19DVEwxX0RJVk1fMCAgICAgICAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMDAwMCkgICAgICAgICAgLyoqPCBmKE1DTEspLzEgKi8NCiNkZWZpbmUgQ1NfQ1RMMV9ESVZNXzEgICAgICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMTAwMDApICAgICAgICAgIC8qKjwgZihNQ0xLKS8yICovDQojZGVmaW5lIENTX0NUTDFfRElWTV8yICAgICAgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDIwMDAwKSAgICAgICAgICAvKio8IGYoTUNMSykvNCAqLw0KI2RlZmluZSBDU19DVEwxX0RJVk1fMyAgICAgICAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAzMDAwMCkgICAgICAgICAgLyoqPCBmKE1DTEspLzggKi8NCiNkZWZpbmUgQ1NfQ1RMMV9ESVZNXzQgICAgICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwNDAwMDApICAgICAgICAgIC8qKjwgZihNQ0xLKS8xNiAqLw0KI2RlZmluZSBDU19DVEwxX0RJVk1fNSAgICAgICAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDA1MDAwMCkgICAgICAgICAgLyoqPCBmKE1DTEspLzMyICovDQojZGVmaW5lIENTX0NUTDFfRElWTV82ICAgICAgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDYwMDAwKSAgICAgICAgICAvKio8IGYoTUNMSykvNjQgKi8NCiNkZWZpbmUgQ1NfQ1RMMV9ESVZNXzcgICAgICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwNzAwMDApICAgICAgICAgIC8qKjwgZihNQ0xLKS8xMjggKi8NCiNkZWZpbmUgQ1NfQ1RMMV9ESVZNX18xICAgICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDAwMDApICAgICAgICAgIC8qKjwgZihNQ0xLKS8xICovDQojZGVmaW5lIENTX0NUTDFfRElWTV9fMiAgICAgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDEwMDAwKSAgICAgICAgICAvKio8IGYoTUNMSykvMiAqLw0KI2RlZmluZSBDU19DVEwxX0RJVk1fXzQgICAgICAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAyMDAwMCkgICAgICAgICAgLyoqPCBmKE1DTEspLzQgKi8NCiNkZWZpbmUgQ1NfQ1RMMV9ESVZNX184ICAgICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMzAwMDApICAgICAgICAgIC8qKjwgZihNQ0xLKS84ICovDQojZGVmaW5lIENTX0NUTDFfRElWTV9fMTYgICAgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDQwMDAwKSAgICAgICAgICAvKio8IGYoTUNMSykvMTYgKi8NCiNkZWZpbmUgQ1NfQ1RMMV9ESVZNX18zMiAgICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwNTAwMDApICAgICAgICAgIC8qKjwgZihNQ0xLKS8zMiAqLw0KI2RlZmluZSBDU19DVEwxX0RJVk1fXzY0ICAgICAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDA2MDAwMCkgICAgICAgICAgLyoqPCBmKE1DTEspLzY0ICovDQojZGVmaW5lIENTX0NUTDFfRElWTV9fMTI4ICAgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDcwMDAwKSAgICAgICAgICAvKio8IGYoTUNMSykvMTI4ICovDQovKiBDU19DVEwxW0RJVkhTXSBCaXRzICovDQojZGVmaW5lIENTX0NUTDFfRElWSFNfT0ZTICAgICAgICAgICAgICAgICAgICAgICAgKDIwKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKio8IERJVkhTIEJpdCBPZmZzZXQgKi8NCiNkZWZpbmUgQ1NfQ1RMMV9ESVZIU19NQVNLICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDA3MDAwMDApICAgICAgICAgIC8qKjwgRElWSFMgQml0IE1hc2sgKi8NCiNkZWZpbmUgQ1NfQ1RMMV9ESVZIUzAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAxMDAwMDApICAgICAgICAgIC8qKjwgRElWSFMgQml0IDAgKi8NCiNkZWZpbmUgQ1NfQ1RMMV9ESVZIUzEgICAgICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAyMDAwMDApICAgICAgICAgIC8qKjwgRElWSFMgQml0IDEgKi8NCiNkZWZpbmUgQ1NfQ1RMMV9ESVZIUzIgICAgICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDA0MDAwMDApICAgICAgICAgIC8qKjwgRElWSFMgQml0IDIgKi8NCiNkZWZpbmUgQ1NfQ1RMMV9ESVZIU18wICAgICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDAwMDApICAgICAgICAgIC8qKjwgZihIU01DTEspLzEgKi8NCiNkZWZpbmUgQ1NfQ1RMMV9ESVZIU18xICAgICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAxMDAwMDApICAgICAgICAgIC8qKjwgZihIU01DTEspLzIgKi8NCiNkZWZpbmUgQ1NfQ1RMMV9ESVZIU18yICAgICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAyMDAwMDApICAgICAgICAgIC8qKjwgZihIU01DTEspLzQgKi8NCiNkZWZpbmUgQ1NfQ1RMMV9ESVZIU18zICAgICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAzMDAwMDApICAgICAgICAgIC8qKjwgZihIU01DTEspLzggKi8NCiNkZWZpbmUgQ1NfQ1RMMV9ESVZIU180ICAgICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDA0MDAwMDApICAgICAgICAgIC8qKjwgZihIU01DTEspLzE2ICovDQojZGVmaW5lIENTX0NUTDFfRElWSFNfNSAgICAgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwNTAwMDAwKSAgICAgICAgICAvKio8IGYoSFNNQ0xLKS8zMiAqLw0KI2RlZmluZSBDU19DVEwxX0RJVkhTXzYgICAgICAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDYwMDAwMCkgICAgICAgICAgLyoqPCBmKEhTTUNMSykvNjQgKi8NCiNkZWZpbmUgQ1NfQ1RMMV9ESVZIU183ICAgICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDA3MDAwMDApICAgICAgICAgIC8qKjwgZihIU01DTEspLzEyOCAqLw0KI2RlZmluZSBDU19DVEwxX0RJVkhTX18xICAgICAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMDAwMCkgICAgICAgICAgLyoqPCBmKEhTTUNMSykvMSAqLw0KI2RlZmluZSBDU19DVEwxX0RJVkhTX18yICAgICAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDEwMDAwMCkgICAgICAgICAgLyoqPCBmKEhTTUNMSykvMiAqLw0KI2RlZmluZSBDU19DVEwxX0RJVkhTX180ICAgICAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDIwMDAwMCkgICAgICAgICAgLyoqPCBmKEhTTUNMSykvNCAqLw0KI2RlZmluZSBDU19DVEwxX0RJVkhTX184ICAgICAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDMwMDAwMCkgICAgICAgICAgLyoqPCBmKEhTTUNMSykvOCAqLw0KI2RlZmluZSBDU19DVEwxX0RJVkhTX18xNiAgICAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDQwMDAwMCkgICAgICAgICAgLyoqPCBmKEhTTUNMSykvMTYgKi8NCiNkZWZpbmUgQ1NfQ1RMMV9ESVZIU19fMzIgICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDA1MDAwMDApICAgICAgICAgIC8qKjwgZihIU01DTEspLzMyICovDQojZGVmaW5lIENTX0NUTDFfRElWSFNfXzY0ICAgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwNjAwMDAwKSAgICAgICAgICAvKio8IGYoSFNNQ0xLKS82NCAqLw0KI2RlZmluZSBDU19DVEwxX0RJVkhTX18xMjggICAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDcwMDAwMCkgICAgICAgICAgLyoqPCBmKEhTTUNMSykvMTI4ICovDQovKiBDU19DVEwxW0RJVkFdIEJpdHMgKi8NCiNkZWZpbmUgQ1NfQ1RMMV9ESVZBX09GUyAgICAgICAgICAgICAgICAgICAgICAgICAoMjQpICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgRElWQSBCaXQgT2Zmc2V0ICovDQojZGVmaW5lIENTX0NUTDFfRElWQV9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDA3MDAwMDAwKSAgICAgICAgICAvKio8IERJVkEgQml0IE1hc2sgKi8NCiNkZWZpbmUgQ1NfQ1RMMV9ESVZBMCAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDEwMDAwMDApICAgICAgICAgIC8qKjwgRElWQSBCaXQgMCAqLw0KI2RlZmluZSBDU19DVEwxX0RJVkExICAgICAgICAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMjAwMDAwMCkgICAgICAgICAgLyoqPCBESVZBIEJpdCAxICovDQojZGVmaW5lIENTX0NUTDFfRElWQTIgICAgICAgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDA0MDAwMDAwKSAgICAgICAgICAvKio8IERJVkEgQml0IDIgKi8NCiNkZWZpbmUgQ1NfQ1RMMV9ESVZBXzAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDAwMDApICAgICAgICAgIC8qKjwgZihBQ0xLKS8xICovDQojZGVmaW5lIENTX0NUTDFfRElWQV8xICAgICAgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAxMDAwMDAwKSAgICAgICAgICAvKio8IGYoQUNMSykvMiAqLw0KI2RlZmluZSBDU19DVEwxX0RJVkFfMiAgICAgICAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMjAwMDAwMCkgICAgICAgICAgLyoqPCBmKEFDTEspLzQgKi8NCiNkZWZpbmUgQ1NfQ1RMMV9ESVZBXzMgICAgICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDMwMDAwMDApICAgICAgICAgIC8qKjwgZihBQ0xLKS84ICovDQojZGVmaW5lIENTX0NUTDFfRElWQV80ICAgICAgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDA0MDAwMDAwKSAgICAgICAgICAvKio8IGYoQUNMSykvMTYgKi8NCiNkZWZpbmUgQ1NfQ1RMMV9ESVZBXzUgICAgICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDUwMDAwMDApICAgICAgICAgIC8qKjwgZihBQ0xLKS8zMiAqLw0KI2RlZmluZSBDU19DVEwxX0RJVkFfNiAgICAgICAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwNjAwMDAwMCkgICAgICAgICAgLyoqPCBmKEFDTEspLzY0ICovDQojZGVmaW5lIENTX0NUTDFfRElWQV83ICAgICAgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDA3MDAwMDAwKSAgICAgICAgICAvKio8IGYoQUNMSykvMTI4ICovDQojZGVmaW5lIENTX0NUTDFfRElWQV9fMSAgICAgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwMDAwKSAgICAgICAgICAvKio8IGYoQUNMSykvMSAqLw0KI2RlZmluZSBDU19DVEwxX0RJVkFfXzIgICAgICAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMTAwMDAwMCkgICAgICAgICAgLyoqPCBmKEFDTEspLzIgKi8NCiNkZWZpbmUgQ1NfQ1RMMV9ESVZBX180ICAgICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDIwMDAwMDApICAgICAgICAgIC8qKjwgZihBQ0xLKS80ICovDQojZGVmaW5lIENTX0NUTDFfRElWQV9fOCAgICAgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAzMDAwMDAwKSAgICAgICAgICAvKio8IGYoQUNMSykvOCAqLw0KI2RlZmluZSBDU19DVEwxX0RJVkFfXzE2ICAgICAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwNDAwMDAwMCkgICAgICAgICAgLyoqPCBmKEFDTEspLzE2ICovDQojZGVmaW5lIENTX0NUTDFfRElWQV9fMzIgICAgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDA1MDAwMDAwKSAgICAgICAgICAvKio8IGYoQUNMSykvMzIgKi8NCiNkZWZpbmUgQ1NfQ1RMMV9ESVZBX182NCAgICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDYwMDAwMDApICAgICAgICAgIC8qKjwgZihBQ0xLKS82NCAqLw0KI2RlZmluZSBDU19DVEwxX0RJVkFfXzEyOCAgICAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwNzAwMDAwMCkgICAgICAgICAgLyoqPCBmKEFDTEspLzEyOCAqLw0KLyogQ1NfQ1RMMVtESVZTXSBCaXRzICovDQojZGVmaW5lIENTX0NUTDFfRElWU19PRlMgICAgICAgICAgICAgICAgICAgICAgICAgKDI4KSAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKio8IERJVlMgQml0IE9mZnNldCAqLw0KI2RlZmluZSBDU19DVEwxX0RJVlNfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHg3MDAwMDAwMCkgICAgICAgICAgLyoqPCBESVZTIEJpdCBNYXNrICovDQojZGVmaW5lIENTX0NUTDFfRElWUzAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDEwMDAwMDAwKSAgICAgICAgICAvKio8IERJVlMgQml0IDAgKi8NCiNkZWZpbmUgQ1NfQ1RMMV9ESVZTMSAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MjAwMDAwMDApICAgICAgICAgIC8qKjwgRElWUyBCaXQgMSAqLw0KI2RlZmluZSBDU19DVEwxX0RJVlMyICAgICAgICAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHg0MDAwMDAwMCkgICAgICAgICAgLyoqPCBESVZTIEJpdCAyICovDQojZGVmaW5lIENTX0NUTDFfRElWU18wICAgICAgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwMDAwKSAgICAgICAgICAvKio8IGYoU01DTEspLzEgKi8NCiNkZWZpbmUgQ1NfQ1RMMV9ESVZTXzEgICAgICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MTAwMDAwMDApICAgICAgICAgIC8qKjwgZihTTUNMSykvMiAqLw0KI2RlZmluZSBDU19DVEwxX0RJVlNfMiAgICAgICAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgyMDAwMDAwMCkgICAgICAgICAgLyoqPCBmKFNNQ0xLKS80ICovDQojZGVmaW5lIENTX0NUTDFfRElWU18zICAgICAgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDMwMDAwMDAwKSAgICAgICAgICAvKio8IGYoU01DTEspLzggKi8NCiNkZWZpbmUgQ1NfQ1RMMV9ESVZTXzQgICAgICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4NDAwMDAwMDApICAgICAgICAgIC8qKjwgZihTTUNMSykvMTYgKi8NCiNkZWZpbmUgQ1NfQ1RMMV9ESVZTXzUgICAgICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4NTAwMDAwMDApICAgICAgICAgIC8qKjwgZihTTUNMSykvMzIgKi8NCiNkZWZpbmUgQ1NfQ1RMMV9ESVZTXzYgICAgICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4NjAwMDAwMDApICAgICAgICAgIC8qKjwgZihTTUNMSykvNjQgKi8NCiNkZWZpbmUgQ1NfQ1RMMV9ESVZTXzcgICAgICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4NzAwMDAwMDApICAgICAgICAgIC8qKjwgZihTTUNMSykvMTI4ICovDQojZGVmaW5lIENTX0NUTDFfRElWU19fMSAgICAgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwMDAwKSAgICAgICAgICAvKio8IGYoU01DTEspLzEgKi8NCiNkZWZpbmUgQ1NfQ1RMMV9ESVZTX18yICAgICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MTAwMDAwMDApICAgICAgICAgIC8qKjwgZihTTUNMSykvMiAqLw0KI2RlZmluZSBDU19DVEwxX0RJVlNfXzQgICAgICAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgyMDAwMDAwMCkgICAgICAgICAgLyoqPCBmKFNNQ0xLKS80ICovDQojZGVmaW5lIENTX0NUTDFfRElWU19fOCAgICAgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDMwMDAwMDAwKSAgICAgICAgICAvKio8IGYoU01DTEspLzggKi8NCiNkZWZpbmUgQ1NfQ1RMMV9ESVZTX18xNiAgICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4NDAwMDAwMDApICAgICAgICAgIC8qKjwgZihTTUNMSykvMTYgKi8NCiNkZWZpbmUgQ1NfQ1RMMV9ESVZTX18zMiAgICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4NTAwMDAwMDApICAgICAgICAgIC8qKjwgZihTTUNMSykvMzIgKi8NCiNkZWZpbmUgQ1NfQ1RMMV9ESVZTX182NCAgICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4NjAwMDAwMDApICAgICAgICAgIC8qKjwgZihTTUNMSykvNjQgKi8NCiNkZWZpbmUgQ1NfQ1RMMV9ESVZTX18xMjggICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4NzAwMDAwMDApICAgICAgICAgIC8qKjwgZihTTUNMSykvMTI4ICovDQovKiBDU19DVEwyW0xGWFREUklWRV0gQml0cyAqLw0KI2RlZmluZSBDU19DVEwyX0xGWFREUklWRV9PRlMgICAgICAgICAgICAgICAgICAgICggMCkgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyoqPCBMRlhURFJJVkUgQml0IE9mZnNldCAqLw0KI2RlZmluZSBDU19DVEwyX0xGWFREUklWRV9NQVNLICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMDAwMykgICAgICAgICAgLyoqPCBMRlhURFJJVkUgQml0IE1hc2sgKi8NCiNkZWZpbmUgQ1NfQ1RMMl9MRlhURFJJVkUwICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDAwMDEpICAgICAgICAgIC8qKjwgTEZYVERSSVZFIEJpdCAwICovDQojZGVmaW5lIENTX0NUTDJfTEZYVERSSVZFMSAgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwMDAyKSAgICAgICAgICAvKio8IExGWFREUklWRSBCaXQgMSAqLw0KI2RlZmluZSBDU19DVEwyX0xGWFREUklWRV8wICAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMDAwMCkgICAgICAgICAgLyoqPCBMb3dlc3QgZHJpdmUgc3RyZW5ndGggYW5kIGN1cnJlbnQgY29uc3VtcHRpb24gTEZYVCBvc2NpbGxhdG9yLiAqLw0KI2RlZmluZSBDU19DVEwyX0xGWFREUklWRV8xICAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMDAwMSkgICAgICAgICAgLyoqPCBJbmNyZWFzZWQgZHJpdmUgc3RyZW5ndGggTEZYVCBvc2NpbGxhdG9yLiAqLw0KI2RlZmluZSBDU19DVEwyX0xGWFREUklWRV8yICAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMDAwMikgICAgICAgICAgLyoqPCBJbmNyZWFzZWQgZHJpdmUgc3RyZW5ndGggTEZYVCBvc2NpbGxhdG9yLiAqLw0KI2RlZmluZSBDU19DVEwyX0xGWFREUklWRV8zICAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMDAwMykgICAgICAgICAgLyoqPCBNYXhpbXVtIGRyaXZlIHN0cmVuZ3RoIGFuZCBtYXhpbXVtIGN1cnJlbnQgY29uc3VtcHRpb24gTEZYVCBvc2NpbGxhdG9yLiAqLw0KLyogQ1NfQ1RMMltMRlhUQUdDT0ZGXSBCaXRzICovDQojZGVmaW5lIENTX0NUTDJfTEZYVEFHQ09GRl9PRlMgICAgICAgICAgICAgICAgICAgKCA3KSAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKio8IExGWFRBR0NPRkYgQml0IE9mZnNldCAqLw0KI2RlZmluZSBDU19DVEwyX0xGWFRBR0NPRkYgICAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMDA4MCkgICAgICAgICAgLyoqPCBEaXNhYmxlcyB0aGUgYXV0b21hdGljIGdhaW4gY29udHJvbCBvZiB0aGUgTEZYVCBjcnlzdGFsICovDQovKiBDU19DVEwyW0xGWFRfRU5dIEJpdHMgKi8NCiNkZWZpbmUgQ1NfQ1RMMl9MRlhUX0VOX09GUyAgICAgICAgICAgICAgICAgICAgICAoIDgpICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgTEZYVF9FTiBCaXQgT2Zmc2V0ICovDQojZGVmaW5lIENTX0NUTDJfTEZYVF9FTiAgICAgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwMTAwKSAgICAgICAgICAvKio8IFR1cm5zIG9uIHRoZSBMRlhUIG9zY2lsbGF0b3IgcmVnYXJkbGVzcyBpZiB1c2VkIGFzIGEgY2xvY2sgcmVzb3VyY2UgKi8NCi8qIENTX0NUTDJbTEZYVEJZUEFTU10gQml0cyAqLw0KI2RlZmluZSBDU19DVEwyX0xGWFRCWVBBU1NfT0ZTICAgICAgICAgICAgICAgICAgICggOSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyoqPCBMRlhUQllQQVNTIEJpdCBPZmZzZXQgKi8NCiNkZWZpbmUgQ1NfQ1RMMl9MRlhUQllQQVNTICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDAyMDApICAgICAgICAgIC8qKjwgTEZYVCBieXBhc3Mgc2VsZWN0ICovDQovKiBDU19DVEwyW0hGWFREUklWRV0gQml0cyAqLw0KI2RlZmluZSBDU19DVEwyX0hGWFREUklWRV9PRlMgICAgICAgICAgICAgICAgICAgICgxNikgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyoqPCBIRlhURFJJVkUgQml0IE9mZnNldCAqLw0KI2RlZmluZSBDU19DVEwyX0hGWFREUklWRSAgICAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAxMDAwMCkgICAgICAgICAgLyoqPCBIRlhUIG9zY2lsbGF0b3IgZHJpdmUgc2VsZWN0aW9uICovDQovKiBDU19DVEwyW0hGWFRGUkVRXSBCaXRzICovDQojZGVmaW5lIENTX0NUTDJfSEZYVEZSRVFfT0ZTICAgICAgICAgICAgICAgICAgICAgKDIwKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKio8IEhGWFRGUkVRIEJpdCBPZmZzZXQgKi8NCiNkZWZpbmUgQ1NfQ1RMMl9IRlhURlJFUV9NQVNLICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDA3MDAwMDApICAgICAgICAgIC8qKjwgSEZYVEZSRVEgQml0IE1hc2sgKi8NCiNkZWZpbmUgQ1NfQ1RMMl9IRlhURlJFUTAgICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAxMDAwMDApICAgICAgICAgIC8qKjwgSEZYVEZSRVEgQml0IDAgKi8NCiNkZWZpbmUgQ1NfQ1RMMl9IRlhURlJFUTEgICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAyMDAwMDApICAgICAgICAgIC8qKjwgSEZYVEZSRVEgQml0IDEgKi8NCiNkZWZpbmUgQ1NfQ1RMMl9IRlhURlJFUTIgICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDA0MDAwMDApICAgICAgICAgIC8qKjwgSEZYVEZSRVEgQml0IDIgKi8NCiNkZWZpbmUgQ1NfQ1RMMl9IRlhURlJFUV8wICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDAwMDApICAgICAgICAgIC8qKjwgMSBNSHogdG8gNCBNSHogKi8NCiNkZWZpbmUgQ1NfQ1RMMl9IRlhURlJFUV8xICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAxMDAwMDApICAgICAgICAgIC8qKjwgPjQgTUh6IHRvIDggTUh6ICovDQojZGVmaW5lIENTX0NUTDJfSEZYVEZSRVFfMiAgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMjAwMDAwKSAgICAgICAgICAvKio8ID44IE1IeiB0byAxNiBNSHogKi8NCiNkZWZpbmUgQ1NfQ1RMMl9IRlhURlJFUV8zICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAzMDAwMDApICAgICAgICAgIC8qKjwgPjE2IE1IeiB0byAyNCBNSHogKi8NCiNkZWZpbmUgQ1NfQ1RMMl9IRlhURlJFUV80ICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDA0MDAwMDApICAgICAgICAgIC8qKjwgPjI0IE1IeiB0byAzMiBNSHogKi8NCiNkZWZpbmUgQ1NfQ1RMMl9IRlhURlJFUV81ICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDA1MDAwMDApICAgICAgICAgIC8qKjwgPjMyIE1IeiB0byA0MCBNSHogKi8NCiNkZWZpbmUgQ1NfQ1RMMl9IRlhURlJFUV82ICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDA2MDAwMDApICAgICAgICAgIC8qKjwgPjQwIE1IeiB0byA0OCBNSHogKi8NCiNkZWZpbmUgQ1NfQ1RMMl9IRlhURlJFUV83ICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDA3MDAwMDApICAgICAgICAgIC8qKjwgUmVzZXJ2ZWQgZm9yIGZ1dHVyZSB1c2UuICovDQovKiBDU19DVEwyW0hGWFRfRU5dIEJpdHMgKi8NCiNkZWZpbmUgQ1NfQ1RMMl9IRlhUX0VOX09GUyAgICAgICAgICAgICAgICAgICAgICAoMjQpICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgSEZYVF9FTiBCaXQgT2Zmc2V0ICovDQojZGVmaW5lIENTX0NUTDJfSEZYVF9FTiAgICAgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAxMDAwMDAwKSAgICAgICAgICAvKio8IFR1cm5zIG9uIHRoZSBIRlhUIG9zY2lsbGF0b3IgcmVnYXJkbGVzcyBpZiB1c2VkIGFzIGEgY2xvY2sgcmVzb3VyY2UgKi8NCi8qIENTX0NUTDJbSEZYVEJZUEFTU10gQml0cyAqLw0KI2RlZmluZSBDU19DVEwyX0hGWFRCWVBBU1NfT0ZTICAgICAgICAgICAgICAgICAgICgyNSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyoqPCBIRlhUQllQQVNTIEJpdCBPZmZzZXQgKi8NCiNkZWZpbmUgQ1NfQ1RMMl9IRlhUQllQQVNTICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDIwMDAwMDApICAgICAgICAgIC8qKjwgSEZYVCBieXBhc3Mgc2VsZWN0ICovDQovKiBDU19DVEwzW0ZDTlRMRl0gQml0cyAqLw0KI2RlZmluZSBDU19DVEwzX0ZDTlRMRl9PRlMgICAgICAgICAgICAgICAgICAgICAgICggMCkgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyoqPCBGQ05UTEYgQml0IE9mZnNldCAqLw0KI2RlZmluZSBDU19DVEwzX0ZDTlRMRl9NQVNLICAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMDAwMykgICAgICAgICAgLyoqPCBGQ05UTEYgQml0IE1hc2sgKi8NCiNkZWZpbmUgQ1NfQ1RMM19GQ05UTEYwICAgICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDAwMDEpICAgICAgICAgIC8qKjwgRkNOVExGIEJpdCAwICovDQojZGVmaW5lIENTX0NUTDNfRkNOVExGMSAgICAgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwMDAyKSAgICAgICAgICAvKio8IEZDTlRMRiBCaXQgMSAqLw0KI2RlZmluZSBDU19DVEwzX0ZDTlRMRl8wICAgICAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMDAwMCkgICAgICAgICAgLyoqPCA0MDk2IGN5Y2xlcyAqLw0KI2RlZmluZSBDU19DVEwzX0ZDTlRMRl8xICAgICAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMDAwMSkgICAgICAgICAgLyoqPCA4MTkyIGN5Y2xlcyAqLw0KI2RlZmluZSBDU19DVEwzX0ZDTlRMRl8yICAgICAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMDAwMikgICAgICAgICAgLyoqPCAxNjM4NCBjeWNsZXMgKi8NCiNkZWZpbmUgQ1NfQ1RMM19GQ05UTEZfMyAgICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDAwMDMpICAgICAgICAgIC8qKjwgMzI3NjggY3ljbGVzICovDQojZGVmaW5lIENTX0NUTDNfRkNOVExGX180MDk2ICAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwMDAwKSAgICAgICAgICAvKio8IDQwOTYgY3ljbGVzICovDQojZGVmaW5lIENTX0NUTDNfRkNOVExGX184MTkyICAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwMDAxKSAgICAgICAgICAvKio8IDgxOTIgY3ljbGVzICovDQojZGVmaW5lIENTX0NUTDNfRkNOVExGX18xNjM4NCAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwMDAyKSAgICAgICAgICAvKio8IDE2Mzg0IGN5Y2xlcyAqLw0KI2RlZmluZSBDU19DVEwzX0ZDTlRMRl9fMzI3NjggICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMDAwMykgICAgICAgICAgLyoqPCAzMjc2OCBjeWNsZXMgKi8NCi8qIENTX0NUTDNbUkZDTlRMRl0gQml0cyAqLw0KI2RlZmluZSBDU19DVEwzX1JGQ05UTEZfT0ZTICAgICAgICAgICAgICAgICAgICAgICggMikgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyoqPCBSRkNOVExGIEJpdCBPZmZzZXQgKi8NCiNkZWZpbmUgQ1NfQ1RMM19SRkNOVExGICAgICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDAwMDQpICAgICAgICAgIC8qKjwgUmVzZXQgc3RhcnQgZmF1bHQgY291bnRlciBmb3IgTEZYVCAqLw0KLyogQ1NfQ1RMM1tGQ05UTEZfRU5dIEJpdHMgKi8NCiNkZWZpbmUgQ1NfQ1RMM19GQ05UTEZfRU5fT0ZTICAgICAgICAgICAgICAgICAgICAoIDMpICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgRkNOVExGX0VOIEJpdCBPZmZzZXQgKi8NCiNkZWZpbmUgQ1NfQ1RMM19GQ05UTEZfRU4gICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDAwMDgpICAgICAgICAgIC8qKjwgRW5hYmxlIHN0YXJ0IGZhdWx0IGNvdW50ZXIgZm9yIExGWFQgKi8NCi8qIENTX0NUTDNbRkNOVEhGXSBCaXRzICovDQojZGVmaW5lIENTX0NUTDNfRkNOVEhGX09GUyAgICAgICAgICAgICAgICAgICAgICAgKCA0KSAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKio8IEZDTlRIRiBCaXQgT2Zmc2V0ICovDQojZGVmaW5lIENTX0NUTDNfRkNOVEhGX01BU0sgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwMDMwKSAgICAgICAgICAvKio8IEZDTlRIRiBCaXQgTWFzayAqLw0KI2RlZmluZSBDU19DVEwzX0ZDTlRIRjAgICAgICAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMDAxMCkgICAgICAgICAgLyoqPCBGQ05USEYgQml0IDAgKi8NCiNkZWZpbmUgQ1NfQ1RMM19GQ05USEYxICAgICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDAwMjApICAgICAgICAgIC8qKjwgRkNOVEhGIEJpdCAxICovDQojZGVmaW5lIENTX0NUTDNfRkNOVEhGXzAgICAgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwMDAwKSAgICAgICAgICAvKio8IDIwNDggY3ljbGVzICovDQojZGVmaW5lIENTX0NUTDNfRkNOVEhGXzEgICAgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwMDEwKSAgICAgICAgICAvKio8IDQwOTYgY3ljbGVzICovDQojZGVmaW5lIENTX0NUTDNfRkNOVEhGXzIgICAgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwMDIwKSAgICAgICAgICAvKio8IDgxOTIgY3ljbGVzICovDQojZGVmaW5lIENTX0NUTDNfRkNOVEhGXzMgICAgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwMDMwKSAgICAgICAgICAvKio8IDE2Mzg0IGN5Y2xlcyAqLw0KI2RlZmluZSBDU19DVEwzX0ZDTlRIRl9fMjA0OCAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMDAwMCkgICAgICAgICAgLyoqPCAyMDQ4IGN5Y2xlcyAqLw0KI2RlZmluZSBDU19DVEwzX0ZDTlRIRl9fNDA5NiAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMDAxMCkgICAgICAgICAgLyoqPCA0MDk2IGN5Y2xlcyAqLw0KI2RlZmluZSBDU19DVEwzX0ZDTlRIRl9fODE5MiAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMDAyMCkgICAgICAgICAgLyoqPCA4MTkyIGN5Y2xlcyAqLw0KI2RlZmluZSBDU19DVEwzX0ZDTlRIRl9fMTYzODQgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMDAzMCkgICAgICAgICAgLyoqPCAxNjM4NCBjeWNsZXMgKi8NCi8qIENTX0NUTDNbUkZDTlRIRl0gQml0cyAqLw0KI2RlZmluZSBDU19DVEwzX1JGQ05USEZfT0ZTICAgICAgICAgICAgICAgICAgICAgICggNikgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyoqPCBSRkNOVEhGIEJpdCBPZmZzZXQgKi8NCiNkZWZpbmUgQ1NfQ1RMM19SRkNOVEhGICAgICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDAwNDApICAgICAgICAgIC8qKjwgUmVzZXQgc3RhcnQgZmF1bHQgY291bnRlciBmb3IgSEZYVCAqLw0KLyogQ1NfQ1RMM1tGQ05USEZfRU5dIEJpdHMgKi8NCiNkZWZpbmUgQ1NfQ1RMM19GQ05USEZfRU5fT0ZTICAgICAgICAgICAgICAgICAgICAoIDcpICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgRkNOVEhGX0VOIEJpdCBPZmZzZXQgKi8NCiNkZWZpbmUgQ1NfQ1RMM19GQ05USEZfRU4gICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDAwODApICAgICAgICAgIC8qKjwgRW5hYmxlIHN0YXJ0IGZhdWx0IGNvdW50ZXIgZm9yIEhGWFQgKi8NCi8qIENTX0NUTDNbRkNOVEhGMl0gQml0cyAqLw0KI2RlZmluZSBDU19DVEwzX0ZDTlRIRjJfT0ZTICAgICAgICAgICAgICAgICAgICAgICggOCkgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyoqPCBGQ05USEYyIEJpdCBPZmZzZXQgKi8NCiNkZWZpbmUgQ1NfQ1RMM19GQ05USEYyX01BU0sgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDAzMDApICAgICAgICAgIC8qKjwgRkNOVEhGMiBCaXQgTWFzayAqLw0KI2RlZmluZSBDU19DVEwzX0ZDTlRIRjIwICAgICAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMDEwMCkgICAgICAgICAgLyoqPCBGQ05USEYyIEJpdCAwICovDQojZGVmaW5lIENTX0NUTDNfRkNOVEhGMjEgICAgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwMjAwKSAgICAgICAgICAvKio8IEZDTlRIRjIgQml0IDEgKi8NCiNkZWZpbmUgQ1NfQ1RMM19GQ05USEYyXzAgICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDAwMDApICAgICAgICAgIC8qKjwgMjA0OCBjeWNsZXMgKi8NCiNkZWZpbmUgQ1NfQ1RMM19GQ05USEYyXzEgICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDAxMDApICAgICAgICAgIC8qKjwgNDA5NiBjeWNsZXMgKi8NCiNkZWZpbmUgQ1NfQ1RMM19GQ05USEYyXzIgICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDAyMDApICAgICAgICAgIC8qKjwgODE5MiBjeWNsZXMgKi8NCiNkZWZpbmUgQ1NfQ1RMM19GQ05USEYyXzMgICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDAzMDApICAgICAgICAgIC8qKjwgMTYzODQgY3ljbGVzICovDQojZGVmaW5lIENTX0NUTDNfRkNOVEhGMl9fMjA0OCAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwMDAwKSAgICAgICAgICAvKio8IDIwNDggY3ljbGVzICovDQojZGVmaW5lIENTX0NUTDNfRkNOVEhGMl9fNDA5NiAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwMTAwKSAgICAgICAgICAvKio8IDQwOTYgY3ljbGVzICovDQojZGVmaW5lIENTX0NUTDNfRkNOVEhGMl9fODE5MiAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwMjAwKSAgICAgICAgICAvKio8IDgxOTIgY3ljbGVzICovDQojZGVmaW5lIENTX0NUTDNfRkNOVEhGMl9fMTYzODQgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwMzAwKSAgICAgICAgICAvKio8IDE2Mzg0IGN5Y2xlcyAqLw0KLyogQ1NfQ1RMM1tSRkNOVEhGMl0gQml0cyAqLw0KI2RlZmluZSBDU19DVEwzX1JGQ05USEYyX09GUyAgICAgICAgICAgICAgICAgICAgICgxMCkgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyoqPCBSRkNOVEhGMiBCaXQgT2Zmc2V0ICovDQojZGVmaW5lIENTX0NUTDNfUkZDTlRIRjIgICAgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwNDAwKSAgICAgICAgICAvKio8IFJlc2V0IHN0YXJ0IGZhdWx0IGNvdW50ZXIgZm9yIEhGWFQyICovDQovKiBDU19DVEwzW0ZDTlRIRjJfRU5dIEJpdHMgKi8NCiNkZWZpbmUgQ1NfQ1RMM19GQ05USEYyX0VOX09GUyAgICAgICAgICAgICAgICAgICAoMTEpICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgRkNOVEhGMl9FTiBCaXQgT2Zmc2V0ICovDQojZGVmaW5lIENTX0NUTDNfRkNOVEhGMl9FTiAgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwODAwKSAgICAgICAgICAvKio8IEVuYWJsZSBzdGFydCBmYXVsdCBjb3VudGVyIGZvciBIRlhUMiAqLw0KLyogQ1NfQ1RMNFtIRlhUMkRSSVZFXSBCaXRzICovDQojZGVmaW5lIENTX0NUTDRfSEZYVDJEUklWRV9PRlMgICAgICAgICAgICAgICAgICAgKCAwKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKio8IEhGWFQyRFJJVkUgQml0IE9mZnNldCAqLw0KI2RlZmluZSBDU19DVEw0X0hGWFQyRFJJVkUgICAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMDAwMSkgICAgICAgICAgLyoqPCBIRlhUMiBvc2NpbGxhdG9yIGN1cnJlbnQgY2FuIGJlIGFkanVzdGVkIHRvIGl0cyBkcml2ZSBuZWVkcyAqLw0KLyogQ1NfQ1RMNFtIRlhUMkZSRVFdIEJpdHMgKi8NCiNkZWZpbmUgQ1NfQ1RMNF9IRlhUMkZSRVFfT0ZTICAgICAgICAgICAgICAgICAgICAoIDQpICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgSEZYVDJGUkVRIEJpdCBPZmZzZXQgKi8NCiNkZWZpbmUgQ1NfQ1RMNF9IRlhUMkZSRVFfTUFTSyAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDAwNzApICAgICAgICAgIC8qKjwgSEZYVDJGUkVRIEJpdCBNYXNrICovDQojZGVmaW5lIENTX0NUTDRfSEZYVDJGUkVRMCAgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwMDEwKSAgICAgICAgICAvKio8IEhGWFQyRlJFUSBCaXQgMCAqLw0KI2RlZmluZSBDU19DVEw0X0hGWFQyRlJFUTEgICAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMDAyMCkgICAgICAgICAgLyoqPCBIRlhUMkZSRVEgQml0IDEgKi8NCiNkZWZpbmUgQ1NfQ1RMNF9IRlhUMkZSRVEyICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDAwNDApICAgICAgICAgIC8qKjwgSEZYVDJGUkVRIEJpdCAyICovDQojZGVmaW5lIENTX0NUTDRfSEZYVDJGUkVRXzAgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwMDAwKSAgICAgICAgICAvKio8IDEgTUh6IHRvIDQgTUh6ICovDQojZGVmaW5lIENTX0NUTDRfSEZYVDJGUkVRXzEgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwMDEwKSAgICAgICAgICAvKio8ID40IE1IeiB0byA4IE1IeiAqLw0KI2RlZmluZSBDU19DVEw0X0hGWFQyRlJFUV8yICAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMDAyMCkgICAgICAgICAgLyoqPCA+OCBNSHogdG8gMTYgTUh6ICovDQojZGVmaW5lIENTX0NUTDRfSEZYVDJGUkVRXzMgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwMDMwKSAgICAgICAgICAvKio8ID4xNiBNSHogdG8gMjQgTUh6ICovDQojZGVmaW5lIENTX0NUTDRfSEZYVDJGUkVRXzQgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwMDQwKSAgICAgICAgICAvKio8ID4yNCBNSHogdG8gMzIgTUh6ICovDQojZGVmaW5lIENTX0NUTDRfSEZYVDJGUkVRXzUgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwMDUwKSAgICAgICAgICAvKio8ID4zMiBNSHogdG8gNDAgTUh6ICovDQojZGVmaW5lIENTX0NUTDRfSEZYVDJGUkVRXzYgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwMDYwKSAgICAgICAgICAvKio8ID40MCBNSHogdG8gNDggTUh6ICovDQojZGVmaW5lIENTX0NUTDRfSEZYVDJGUkVRXzcgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwMDcwKSAgICAgICAgICAvKio8IFJlc2VydmVkIGZvciBmdXR1cmUgdXNlLiAqLw0KLyogQ1NfQ1RMNFtIRlhUMl9FTl0gQml0cyAqLw0KI2RlZmluZSBDU19DVEw0X0hGWFQyX0VOX09GUyAgICAgICAgICAgICAgICAgICAgICggOCkgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyoqPCBIRlhUMl9FTiBCaXQgT2Zmc2V0ICovDQojZGVmaW5lIENTX0NUTDRfSEZYVDJfRU4gICAgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwMTAwKSAgICAgICAgICAvKio8IFR1cm5zIG9uIHRoZSBIRlhUMiBvc2NpbGxhdG9yICovDQovKiBDU19DVEw0W0hGWFQyQllQQVNTXSBCaXRzICovDQojZGVmaW5lIENTX0NUTDRfSEZYVDJCWVBBU1NfT0ZTICAgICAgICAgICAgICAgICAgKCA5KSAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKio8IEhGWFQyQllQQVNTIEJpdCBPZmZzZXQgKi8NCiNkZWZpbmUgQ1NfQ1RMNF9IRlhUMkJZUEFTUyAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDAyMDApICAgICAgICAgIC8qKjwgSEZYVDIgYnlwYXNzIHNlbGVjdCAqLw0KLyogQ1NfQ1RMNVtSRUZDTlRTRUxdIEJpdHMgKi8NCiNkZWZpbmUgQ1NfQ1RMNV9SRUZDTlRTRUxfT0ZTICAgICAgICAgICAgICAgICAgICAoIDApICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgUkVGQ05UU0VMIEJpdCBPZmZzZXQgKi8NCiNkZWZpbmUgQ1NfQ1RMNV9SRUZDTlRTRUxfTUFTSyAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDAwMDcpICAgICAgICAgIC8qKjwgUkVGQ05UU0VMIEJpdCBNYXNrICovDQovKiBDU19DVEw1W1JFRkNOVFBTXSBCaXRzICovDQojZGVmaW5lIENTX0NUTDVfUkVGQ05UUFNfT0ZTICAgICAgICAgICAgICAgICAgICAgKCAzKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKio8IFJFRkNOVFBTIEJpdCBPZmZzZXQgKi8NCiNkZWZpbmUgQ1NfQ1RMNV9SRUZDTlRQU19NQVNLICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDAwMzgpICAgICAgICAgIC8qKjwgUkVGQ05UUFMgQml0IE1hc2sgKi8NCi8qIENTX0NUTDVbQ0FMU1RBUlRdIEJpdHMgKi8NCiNkZWZpbmUgQ1NfQ1RMNV9DQUxTVEFSVF9PRlMgICAgICAgICAgICAgICAgICAgICAoIDcpICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgQ0FMU1RBUlQgQml0IE9mZnNldCAqLw0KI2RlZmluZSBDU19DVEw1X0NBTFNUQVJUICAgICAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMDA4MCkgICAgICAgICAgLyoqPCBTdGFydCBjbG9jayBjYWxpYnJhdGlvbiBjb3VudGVycyAqLw0KLyogQ1NfQ1RMNVtQRVJDTlRTRUxdIEJpdHMgKi8NCiNkZWZpbmUgQ1NfQ1RMNV9QRVJDTlRTRUxfT0ZTICAgICAgICAgICAgICAgICAgICAoIDgpICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgUEVSQ05UU0VMIEJpdCBPZmZzZXQgKi8NCiNkZWZpbmUgQ1NfQ1RMNV9QRVJDTlRTRUxfTUFTSyAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDA3MDApICAgICAgICAgIC8qKjwgUEVSQ05UU0VMIEJpdCBNYXNrICovDQovKiBDU19DVEw2W1BFUkNOVF0gQml0cyAqLw0KI2RlZmluZSBDU19DVEw2X1BFUkNOVF9PRlMgICAgICAgICAgICAgICAgICAgICAgICggMCkgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyoqPCBQRVJDTlQgQml0IE9mZnNldCAqLw0KI2RlZmluZSBDU19DVEw2X1BFUkNOVF9NQVNLICAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwRkZGRikgICAgICAgICAgLyoqPCBQRVJDTlQgQml0IE1hc2sgKi8NCi8qIENTX0NUTDdbUkVGQ05UXSBCaXRzICovDQojZGVmaW5lIENTX0NUTDdfUkVGQ05UX09GUyAgICAgICAgICAgICAgICAgICAgICAgKCAwKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKio8IFJFRkNOVCBCaXQgT2Zmc2V0ICovDQojZGVmaW5lIENTX0NUTDdfUkVGQ05UX01BU0sgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDBGRkZGKSAgICAgICAgICAvKio8IFJFRkNOVCBCaXQgTWFzayAqLw0KLyogQ1NfQ0xLRU5bQUNMS19FTl0gQml0cyAqLw0KI2RlZmluZSBDU19DTEtFTl9BQ0xLX0VOX09GUyAgICAgICAgICAgICAgICAgICAgICggMCkgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyoqPCBBQ0xLX0VOIEJpdCBPZmZzZXQgKi8NCiNkZWZpbmUgQ1NfQ0xLRU5fQUNMS19FTiAgICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDAwMDEpICAgICAgICAgIC8qKjwgQUNMSyBzeXN0ZW0gY2xvY2sgY29uZGl0aW9uYWwgcmVxdWVzdCBlbmFibGUgKi8NCi8qIENTX0NMS0VOW01DTEtfRU5dIEJpdHMgKi8NCiNkZWZpbmUgQ1NfQ0xLRU5fTUNMS19FTl9PRlMgICAgICAgICAgICAgICAgICAgICAoIDEpICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgTUNMS19FTiBCaXQgT2Zmc2V0ICovDQojZGVmaW5lIENTX0NMS0VOX01DTEtfRU4gICAgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwMDAyKSAgICAgICAgICAvKio8IE1DTEsgc3lzdGVtIGNsb2NrIGNvbmRpdGlvbmFsIHJlcXVlc3QgZW5hYmxlICovDQovKiBDU19DTEtFTltIU01DTEtfRU5dIEJpdHMgKi8NCiNkZWZpbmUgQ1NfQ0xLRU5fSFNNQ0xLX0VOX09GUyAgICAgICAgICAgICAgICAgICAoIDIpICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgSFNNQ0xLX0VOIEJpdCBPZmZzZXQgKi8NCiNkZWZpbmUgQ1NfQ0xLRU5fSFNNQ0xLX0VOICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDAwMDQpICAgICAgICAgIC8qKjwgSFNNQ0xLIHN5c3RlbSBjbG9jayBjb25kaXRpb25hbCByZXF1ZXN0IGVuYWJsZSAqLw0KLyogQ1NfQ0xLRU5bU01DTEtfRU5dIEJpdHMgKi8NCiNkZWZpbmUgQ1NfQ0xLRU5fU01DTEtfRU5fT0ZTICAgICAgICAgICAgICAgICAgICAoIDMpICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgU01DTEtfRU4gQml0IE9mZnNldCAqLw0KI2RlZmluZSBDU19DTEtFTl9TTUNMS19FTiAgICAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMDAwOCkgICAgICAgICAgLyoqPCBTTUNMSyBzeXN0ZW0gY2xvY2sgY29uZGl0aW9uYWwgcmVxdWVzdCBlbmFibGUgKi8NCi8qIENTX0NMS0VOW1ZMT19FTl0gQml0cyAqLw0KI2RlZmluZSBDU19DTEtFTl9WTE9fRU5fT0ZTICAgICAgICAgICAgICAgICAgICAgICggOCkgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyoqPCBWTE9fRU4gQml0IE9mZnNldCAqLw0KI2RlZmluZSBDU19DTEtFTl9WTE9fRU4gICAgICAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMDEwMCkgICAgICAgICAgLyoqPCBUdXJucyBvbiB0aGUgVkxPIG9zY2lsbGF0b3IgKi8NCi8qIENTX0NMS0VOW1JFRk9fRU5dIEJpdHMgKi8NCiNkZWZpbmUgQ1NfQ0xLRU5fUkVGT19FTl9PRlMgICAgICAgICAgICAgICAgICAgICAoIDkpICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgUkVGT19FTiBCaXQgT2Zmc2V0ICovDQojZGVmaW5lIENTX0NMS0VOX1JFRk9fRU4gICAgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwMjAwKSAgICAgICAgICAvKio8IFR1cm5zIG9uIHRoZSBSRUZPIG9zY2lsbGF0b3IgKi8NCi8qIENTX0NMS0VOW01PRE9TQ19FTl0gQml0cyAqLw0KI2RlZmluZSBDU19DTEtFTl9NT0RPU0NfRU5fT0ZTICAgICAgICAgICAgICAgICAgICgxMCkgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyoqPCBNT0RPU0NfRU4gQml0IE9mZnNldCAqLw0KI2RlZmluZSBDU19DTEtFTl9NT0RPU0NfRU4gICAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMDQwMCkgICAgICAgICAgLyoqPCBUdXJucyBvbiB0aGUgTU9ET1NDIG9zY2lsbGF0b3IgKi8NCi8qIENTX0NMS0VOW1JFRk9GU0VMXSBCaXRzICovDQojZGVmaW5lIENTX0NMS0VOX1JFRk9GU0VMX09GUyAgICAgICAgICAgICAgICAgICAgKDE1KSAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKio8IFJFRk9GU0VMIEJpdCBPZmZzZXQgKi8NCiNkZWZpbmUgQ1NfQ0xLRU5fUkVGT0ZTRUwgICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDgwMDApICAgICAgICAgIC8qKjwgU2VsZWN0cyBSRUZPIG5vbWluYWwgZnJlcXVlbmN5ICovDQovKiBDU19TVEFUW0RDT19PTl0gQml0cyAqLw0KI2RlZmluZSBDU19TVEFUX0RDT19PTl9PRlMgICAgICAgICAgICAgICAgICAgICAgICggMCkgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyoqPCBEQ09fT04gQml0IE9mZnNldCAqLw0KI2RlZmluZSBDU19TVEFUX0RDT19PTiAgICAgICAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMDAwMSkgICAgICAgICAgLyoqPCBEQ08gc3RhdHVzICovDQovKiBDU19TVEFUW0RDT0JJQVNfT05dIEJpdHMgKi8NCiNkZWZpbmUgQ1NfU1RBVF9EQ09CSUFTX09OX09GUyAgICAgICAgICAgICAgICAgICAoIDEpICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgRENPQklBU19PTiBCaXQgT2Zmc2V0ICovDQojZGVmaW5lIENTX1NUQVRfRENPQklBU19PTiAgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwMDAyKSAgICAgICAgICAvKio8IERDTyBiaWFzIHN0YXR1cyAqLw0KLyogQ1NfU1RBVFtIRlhUX09OXSBCaXRzICovDQojZGVmaW5lIENTX1NUQVRfSEZYVF9PTl9PRlMgICAgICAgICAgICAgICAgICAgICAgKCAyKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKio8IEhGWFRfT04gQml0IE9mZnNldCAqLw0KI2RlZmluZSBDU19TVEFUX0hGWFRfT04gICAgICAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMDAwNCkgICAgICAgICAgLyoqPCBIRlhUIHN0YXR1cyAqLw0KLyogQ1NfU1RBVFtIRlhUMl9PTl0gQml0cyAqLw0KI2RlZmluZSBDU19TVEFUX0hGWFQyX09OX09GUyAgICAgICAgICAgICAgICAgICAgICggMykgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyoqPCBIRlhUMl9PTiBCaXQgT2Zmc2V0ICovDQojZGVmaW5lIENTX1NUQVRfSEZYVDJfT04gICAgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwMDA4KSAgICAgICAgICAvKio8IEhGWFQyIHN0YXR1cyAqLw0KLyogQ1NfU1RBVFtNT0RPU0NfT05dIEJpdHMgKi8NCiNkZWZpbmUgQ1NfU1RBVF9NT0RPU0NfT05fT0ZTICAgICAgICAgICAgICAgICAgICAoIDQpICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgTU9ET1NDX09OIEJpdCBPZmZzZXQgKi8NCiNkZWZpbmUgQ1NfU1RBVF9NT0RPU0NfT04gICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDAwMTApICAgICAgICAgIC8qKjwgTU9ET1NDIHN0YXR1cyAqLw0KLyogQ1NfU1RBVFtWTE9fT05dIEJpdHMgKi8NCiNkZWZpbmUgQ1NfU1RBVF9WTE9fT05fT0ZTICAgICAgICAgICAgICAgICAgICAgICAoIDUpICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgVkxPX09OIEJpdCBPZmZzZXQgKi8NCiNkZWZpbmUgQ1NfU1RBVF9WTE9fT04gICAgICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDAwMjApICAgICAgICAgIC8qKjwgVkxPIHN0YXR1cyAqLw0KLyogQ1NfU1RBVFtMRlhUX09OXSBCaXRzICovDQojZGVmaW5lIENTX1NUQVRfTEZYVF9PTl9PRlMgICAgICAgICAgICAgICAgICAgICAgKCA2KSAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKio8IExGWFRfT04gQml0IE9mZnNldCAqLw0KI2RlZmluZSBDU19TVEFUX0xGWFRfT04gICAgICAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMDA0MCkgICAgICAgICAgLyoqPCBMRlhUIHN0YXR1cyAqLw0KLyogQ1NfU1RBVFtSRUZPX09OXSBCaXRzICovDQojZGVmaW5lIENTX1NUQVRfUkVGT19PTl9PRlMgICAgICAgICAgICAgICAgICAgICAgKCA3KSAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKio8IFJFRk9fT04gQml0IE9mZnNldCAqLw0KI2RlZmluZSBDU19TVEFUX1JFRk9fT04gICAgICAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMDA4MCkgICAgICAgICAgLyoqPCBSRUZPIHN0YXR1cyAqLw0KLyogQ1NfU1RBVFtBQ0xLX09OXSBCaXRzICovDQojZGVmaW5lIENTX1NUQVRfQUNMS19PTl9PRlMgICAgICAgICAgICAgICAgICAgICAgKDE2KSAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKio8IEFDTEtfT04gQml0IE9mZnNldCAqLw0KI2RlZmluZSBDU19TVEFUX0FDTEtfT04gICAgICAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAxMDAwMCkgICAgICAgICAgLyoqPCBBQ0xLIHN5c3RlbSBjbG9jayBzdGF0dXMgKi8NCi8qIENTX1NUQVRbTUNMS19PTl0gQml0cyAqLw0KI2RlZmluZSBDU19TVEFUX01DTEtfT05fT0ZTICAgICAgICAgICAgICAgICAgICAgICgxNykgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyoqPCBNQ0xLX09OIEJpdCBPZmZzZXQgKi8NCiNkZWZpbmUgQ1NfU1RBVF9NQ0xLX09OICAgICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMjAwMDApICAgICAgICAgIC8qKjwgTUNMSyBzeXN0ZW0gY2xvY2sgc3RhdHVzICovDQovKiBDU19TVEFUW0hTTUNMS19PTl0gQml0cyAqLw0KI2RlZmluZSBDU19TVEFUX0hTTUNMS19PTl9PRlMgICAgICAgICAgICAgICAgICAgICgxOCkgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyoqPCBIU01DTEtfT04gQml0IE9mZnNldCAqLw0KI2RlZmluZSBDU19TVEFUX0hTTUNMS19PTiAgICAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDA0MDAwMCkgICAgICAgICAgLyoqPCBIU01DTEsgc3lzdGVtIGNsb2NrIHN0YXR1cyAqLw0KLyogQ1NfU1RBVFtTTUNMS19PTl0gQml0cyAqLw0KI2RlZmluZSBDU19TVEFUX1NNQ0xLX09OX09GUyAgICAgICAgICAgICAgICAgICAgICgxOSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyoqPCBTTUNMS19PTiBCaXQgT2Zmc2V0ICovDQojZGVmaW5lIENTX1NUQVRfU01DTEtfT04gICAgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDgwMDAwKSAgICAgICAgICAvKio8IFNNQ0xLIHN5c3RlbSBjbG9jayBzdGF0dXMgKi8NCi8qIENTX1NUQVRbTU9EQ0xLX09OXSBCaXRzICovDQojZGVmaW5lIENTX1NUQVRfTU9EQ0xLX09OX09GUyAgICAgICAgICAgICAgICAgICAgKDIwKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKio8IE1PRENMS19PTiBCaXQgT2Zmc2V0ICovDQojZGVmaW5lIENTX1NUQVRfTU9EQ0xLX09OICAgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMTAwMDAwKSAgICAgICAgICAvKio8IE1PRENMSyBzeXN0ZW0gY2xvY2sgc3RhdHVzICovDQovKiBDU19TVEFUW1ZMT0NMS19PTl0gQml0cyAqLw0KI2RlZmluZSBDU19TVEFUX1ZMT0NMS19PTl9PRlMgICAgICAgICAgICAgICAgICAgICgyMSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyoqPCBWTE9DTEtfT04gQml0IE9mZnNldCAqLw0KI2RlZmluZSBDU19TVEFUX1ZMT0NMS19PTiAgICAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDIwMDAwMCkgICAgICAgICAgLyoqPCBWTE9DTEsgc3lzdGVtIGNsb2NrIHN0YXR1cyAqLw0KLyogQ1NfU1RBVFtMRlhUQ0xLX09OXSBCaXRzICovDQojZGVmaW5lIENTX1NUQVRfTEZYVENMS19PTl9PRlMgICAgICAgICAgICAgICAgICAgKDIyKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKio8IExGWFRDTEtfT04gQml0IE9mZnNldCAqLw0KI2RlZmluZSBDU19TVEFUX0xGWFRDTEtfT04gICAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDQwMDAwMCkgICAgICAgICAgLyoqPCBMRlhUQ0xLIHN5c3RlbSBjbG9jayBzdGF0dXMgKi8NCi8qIENTX1NUQVRbUkVGT0NMS19PTl0gQml0cyAqLw0KI2RlZmluZSBDU19TVEFUX1JFRk9DTEtfT05fT0ZTICAgICAgICAgICAgICAgICAgICgyMykgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyoqPCBSRUZPQ0xLX09OIEJpdCBPZmZzZXQgKi8NCiNkZWZpbmUgQ1NfU1RBVF9SRUZPQ0xLX09OICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDA4MDAwMDApICAgICAgICAgIC8qKjwgUkVGT0NMSyBzeXN0ZW0gY2xvY2sgc3RhdHVzICovDQovKiBDU19TVEFUW0FDTEtfUkVBRFldIEJpdHMgKi8NCiNkZWZpbmUgQ1NfU1RBVF9BQ0xLX1JFQURZX09GUyAgICAgICAgICAgICAgICAgICAoMjQpICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgQUNMS19SRUFEWSBCaXQgT2Zmc2V0ICovDQojZGVmaW5lIENTX1NUQVRfQUNMS19SRUFEWSAgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAxMDAwMDAwKSAgICAgICAgICAvKio8IEFDTEsgUmVhZHkgc3RhdHVzICovDQovKiBDU19TVEFUW01DTEtfUkVBRFldIEJpdHMgKi8NCiNkZWZpbmUgQ1NfU1RBVF9NQ0xLX1JFQURZX09GUyAgICAgICAgICAgICAgICAgICAoMjUpICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgTUNMS19SRUFEWSBCaXQgT2Zmc2V0ICovDQojZGVmaW5lIENTX1NUQVRfTUNMS19SRUFEWSAgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAyMDAwMDAwKSAgICAgICAgICAvKio8IE1DTEsgUmVhZHkgc3RhdHVzICovDQovKiBDU19TVEFUW0hTTUNMS19SRUFEWV0gQml0cyAqLw0KI2RlZmluZSBDU19TVEFUX0hTTUNMS19SRUFEWV9PRlMgICAgICAgICAgICAgICAgICgyNikgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyoqPCBIU01DTEtfUkVBRFkgQml0IE9mZnNldCAqLw0KI2RlZmluZSBDU19TVEFUX0hTTUNMS19SRUFEWSAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwNDAwMDAwMCkgICAgICAgICAgLyoqPCBIU01DTEsgUmVhZHkgc3RhdHVzICovDQovKiBDU19TVEFUW1NNQ0xLX1JFQURZXSBCaXRzICovDQojZGVmaW5lIENTX1NUQVRfU01DTEtfUkVBRFlfT0ZTICAgICAgICAgICAgICAgICAgKDI3KSAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKio8IFNNQ0xLX1JFQURZIEJpdCBPZmZzZXQgKi8NCiNkZWZpbmUgQ1NfU1RBVF9TTUNMS19SRUFEWSAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDgwMDAwMDApICAgICAgICAgIC8qKjwgU01DTEsgUmVhZHkgc3RhdHVzICovDQovKiBDU19TVEFUW0JDTEtfUkVBRFldIEJpdHMgKi8NCiNkZWZpbmUgQ1NfU1RBVF9CQ0xLX1JFQURZX09GUyAgICAgICAgICAgICAgICAgICAoMjgpICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgQkNMS19SRUFEWSBCaXQgT2Zmc2V0ICovDQojZGVmaW5lIENTX1NUQVRfQkNMS19SRUFEWSAgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDEwMDAwMDAwKSAgICAgICAgICAvKio8IEJDTEsgUmVhZHkgc3RhdHVzICovDQovKiBDU19JRVtMRlhUSUVdIEJpdHMgKi8NCiNkZWZpbmUgQ1NfSUVfTEZYVElFX09GUyAgICAgICAgICAgICAgICAgICAgICAgICAoIDApICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgTEZYVElFIEJpdCBPZmZzZXQgKi8NCiNkZWZpbmUgQ1NfSUVfTEZYVElFICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDAwMDEpICAgICAgICAgIC8qKjwgTEZYVCBvc2NpbGxhdG9yIGZhdWx0IGZsYWcgaW50ZXJydXB0IGVuYWJsZSAqLw0KLyogQ1NfSUVbSEZYVElFXSBCaXRzICovDQojZGVmaW5lIENTX0lFX0hGWFRJRV9PRlMgICAgICAgICAgICAgICAgICAgICAgICAgKCAxKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKio8IEhGWFRJRSBCaXQgT2Zmc2V0ICovDQojZGVmaW5lIENTX0lFX0hGWFRJRSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwMDAyKSAgICAgICAgICAvKio8IEhGWFQgb3NjaWxsYXRvciBmYXVsdCBmbGFnIGludGVycnVwdCBlbmFibGUgKi8NCi8qIENTX0lFW0hGWFQySUVdIEJpdHMgKi8NCiNkZWZpbmUgQ1NfSUVfSEZYVDJJRV9PRlMgICAgICAgICAgICAgICAgICAgICAgICAoIDIpICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgSEZYVDJJRSBCaXQgT2Zmc2V0ICovDQojZGVmaW5lIENTX0lFX0hGWFQySUUgICAgICAgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwMDA0KSAgICAgICAgICAvKio8IEhGWFQyIG9zY2lsbGF0b3IgZmF1bHQgZmxhZyBpbnRlcnJ1cHQgZW5hYmxlICovDQovKiBDU19JRVtEQ09SX09QTklFXSBCaXRzICovDQojZGVmaW5lIENTX0lFX0RDT1JfT1BOSUVfT0ZTICAgICAgICAgICAgICAgICAgICAgKCA2KSAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKio8IERDT1JfT1BOSUUgQml0IE9mZnNldCAqLw0KI2RlZmluZSBDU19JRV9EQ09SX09QTklFICAgICAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMDA0MCkgICAgICAgICAgLyoqPCBEQ08gZXh0ZXJuYWwgcmVzaXN0b3Igb3BlbiBjaXJjdWl0IGZhdWx0IGZsYWcgaW50ZXJydXB0IGVuYWJsZS4gKi8NCi8qIENTX0lFW0ZDTlRMRklFXSBCaXRzICovDQojZGVmaW5lIENTX0lFX0ZDTlRMRklFX09GUyAgICAgICAgICAgICAgICAgICAgICAgKCA4KSAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKio8IEZDTlRMRklFIEJpdCBPZmZzZXQgKi8NCiNkZWZpbmUgQ1NfSUVfRkNOVExGSUUgICAgICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDAxMDApICAgICAgICAgIC8qKjwgU3RhcnQgZmF1bHQgY291bnRlciBpbnRlcnJ1cHQgZW5hYmxlIExGWFQgKi8NCi8qIENTX0lFW0ZDTlRIRklFXSBCaXRzICovDQojZGVmaW5lIENTX0lFX0ZDTlRIRklFX09GUyAgICAgICAgICAgICAgICAgICAgICAgKCA5KSAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKio8IEZDTlRIRklFIEJpdCBPZmZzZXQgKi8NCiNkZWZpbmUgQ1NfSUVfRkNOVEhGSUUgICAgICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDAyMDApICAgICAgICAgIC8qKjwgU3RhcnQgZmF1bHQgY291bnRlciBpbnRlcnJ1cHQgZW5hYmxlIEhGWFQgKi8NCi8qIENTX0lFW0ZDTlRIRjJJRV0gQml0cyAqLw0KI2RlZmluZSBDU19JRV9GQ05USEYySUVfT0ZTICAgICAgICAgICAgICAgICAgICAgICgxMCkgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyoqPCBGQ05USEYySUUgQml0IE9mZnNldCAqLw0KI2RlZmluZSBDU19JRV9GQ05USEYySUUgICAgICAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMDQwMCkgICAgICAgICAgLyoqPCBTdGFydCBmYXVsdCBjb3VudGVyIGludGVycnVwdCBlbmFibGUgSEZYVDIgKi8NCi8qIENTX0lFW1BMTE9PTElFXSBCaXRzICovDQojZGVmaW5lIENTX0lFX1BMTE9PTElFX09GUyAgICAgICAgICAgICAgICAgICAgICAgKDEyKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKio8IFBMTE9PTElFIEJpdCBPZmZzZXQgKi8NCiNkZWZpbmUgQ1NfSUVfUExMT09MSUUgICAgICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDEwMDApICAgICAgICAgIC8qKjwgUExMIG91dC1vZi1sb2NrIGludGVycnVwdCBlbmFibGUgKi8NCi8qIENTX0lFW1BMTExPU0lFXSBCaXRzICovDQojZGVmaW5lIENTX0lFX1BMTExPU0lFX09GUyAgICAgICAgICAgICAgICAgICAgICAgKDEzKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKio8IFBMTExPU0lFIEJpdCBPZmZzZXQgKi8NCiNkZWZpbmUgQ1NfSUVfUExMTE9TSUUgICAgICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDIwMDApICAgICAgICAgIC8qKjwgUExMIGxvc3Mtb2Ytc2lnbmFsIGludGVycnVwdCBlbmFibGUgKi8NCi8qIENTX0lFW1BMTE9PUklFXSBCaXRzICovDQojZGVmaW5lIENTX0lFX1BMTE9PUklFX09GUyAgICAgICAgICAgICAgICAgICAgICAgKDE0KSAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKio8IFBMTE9PUklFIEJpdCBPZmZzZXQgKi8NCiNkZWZpbmUgQ1NfSUVfUExMT09SSUUgICAgICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDQwMDApICAgICAgICAgIC8qKjwgUExMIG91dC1vZi1yYW5nZSBpbnRlcnJ1cHQgZW5hYmxlICovDQovKiBDU19JRVtDQUxJRV0gQml0cyAqLw0KI2RlZmluZSBDU19JRV9DQUxJRV9PRlMgICAgICAgICAgICAgICAgICAgICAgICAgICgxNSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyoqPCBDQUxJRSBCaXQgT2Zmc2V0ICovDQojZGVmaW5lIENTX0lFX0NBTElFICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDA4MDAwKSAgICAgICAgICAvKio8IFJFRkNOVCBwZXJpb2QgY291bnRlciBpbnRlcnJ1cHQgZW5hYmxlICovDQovKiBDU19JRkdbTEZYVElGR10gQml0cyAqLw0KI2RlZmluZSBDU19JRkdfTEZYVElGR19PRlMgICAgICAgICAgICAgICAgICAgICAgICggMCkgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyoqPCBMRlhUSUZHIEJpdCBPZmZzZXQgKi8NCiNkZWZpbmUgQ1NfSUZHX0xGWFRJRkcgICAgICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDAwMDEpICAgICAgICAgIC8qKjwgTEZYVCBvc2NpbGxhdG9yIGZhdWx0IGZsYWcgKi8NCi8qIENTX0lGR1tIRlhUSUZHXSBCaXRzICovDQojZGVmaW5lIENTX0lGR19IRlhUSUZHX09GUyAgICAgICAgICAgICAgICAgICAgICAgKCAxKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKio8IEhGWFRJRkcgQml0IE9mZnNldCAqLw0KI2RlZmluZSBDU19JRkdfSEZYVElGRyAgICAgICAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMDAwMikgICAgICAgICAgLyoqPCBIRlhUIG9zY2lsbGF0b3IgZmF1bHQgZmxhZyAqLw0KLyogQ1NfSUZHW0hGWFQySUZHXSBCaXRzICovDQojZGVmaW5lIENTX0lGR19IRlhUMklGR19PRlMgICAgICAgICAgICAgICAgICAgICAgKCAyKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKio8IEhGWFQySUZHIEJpdCBPZmZzZXQgKi8NCiNkZWZpbmUgQ1NfSUZHX0hGWFQySUZHICAgICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDAwMDQpICAgICAgICAgIC8qKjwgSEZYVDIgb3NjaWxsYXRvciBmYXVsdCBmbGFnICovDQovKiBDU19JRkdbRENPUl9TSFRJRkddIEJpdHMgKi8NCiNkZWZpbmUgQ1NfSUZHX0RDT1JfU0hUSUZHX09GUyAgICAgICAgICAgICAgICAgICAoIDUpICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgRENPUl9TSFRJRkcgQml0IE9mZnNldCAqLw0KI2RlZmluZSBDU19JRkdfRENPUl9TSFRJRkcgICAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMDAyMCkgICAgICAgICAgLyoqPCBEQ08gZXh0ZXJuYWwgcmVzaXN0b3Igc2hvcnQgY2lyY3VpdCBmYXVsdCBmbGFnLiAqLw0KLyogQ1NfSUZHW0RDT1JfT1BOSUZHXSBCaXRzICovDQojZGVmaW5lIENTX0lGR19EQ09SX09QTklGR19PRlMgICAgICAgICAgICAgICAgICAgKCA2KSAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKio8IERDT1JfT1BOSUZHIEJpdCBPZmZzZXQgKi8NCiNkZWZpbmUgQ1NfSUZHX0RDT1JfT1BOSUZHICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDAwNDApICAgICAgICAgIC8qKjwgRENPIGV4dGVybmFsIHJlc2lzdG9yIG9wZW4gY2lyY3VpdCBmYXVsdCBmbGFnLiAqLw0KLyogQ1NfSUZHW0ZDTlRMRklGR10gQml0cyAqLw0KI2RlZmluZSBDU19JRkdfRkNOVExGSUZHX09GUyAgICAgICAgICAgICAgICAgICAgICggOCkgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyoqPCBGQ05UTEZJRkcgQml0IE9mZnNldCAqLw0KI2RlZmluZSBDU19JRkdfRkNOVExGSUZHICAgICAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMDEwMCkgICAgICAgICAgLyoqPCBTdGFydCBmYXVsdCBjb3VudGVyIGludGVycnVwdCBmbGFnIExGWFQgKi8NCi8qIENTX0lGR1tGQ05USEZJRkddIEJpdHMgKi8NCiNkZWZpbmUgQ1NfSUZHX0ZDTlRIRklGR19PRlMgICAgICAgICAgICAgICAgICAgICAoIDkpICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgRkNOVEhGSUZHIEJpdCBPZmZzZXQgKi8NCiNkZWZpbmUgQ1NfSUZHX0ZDTlRIRklGRyAgICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDAyMDApICAgICAgICAgIC8qKjwgU3RhcnQgZmF1bHQgY291bnRlciBpbnRlcnJ1cHQgZmxhZyBIRlhUICovDQovKiBDU19JRkdbRkNOVEhGMklGR10gQml0cyAqLw0KI2RlZmluZSBDU19JRkdfRkNOVEhGMklGR19PRlMgICAgICAgICAgICAgICAgICAgICgxMSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyoqPCBGQ05USEYySUZHIEJpdCBPZmZzZXQgKi8NCiNkZWZpbmUgQ1NfSUZHX0ZDTlRIRjJJRkcgICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDA4MDApICAgICAgICAgIC8qKjwgU3RhcnQgZmF1bHQgY291bnRlciBpbnRlcnJ1cHQgZmxhZyBIRlhUMiAqLw0KLyogQ1NfSUZHW1BMTE9PTElGR10gQml0cyAqLw0KI2RlZmluZSBDU19JRkdfUExMT09MSUZHX09GUyAgICAgICAgICAgICAgICAgICAgICgxMikgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyoqPCBQTExPT0xJRkcgQml0IE9mZnNldCAqLw0KI2RlZmluZSBDU19JRkdfUExMT09MSUZHICAgICAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMTAwMCkgICAgICAgICAgLyoqPCBQTEwgb3V0LW9mLWxvY2sgaW50ZXJydXB0IGZsYWcgKi8NCi8qIENTX0lGR1tQTExMT1NJRkddIEJpdHMgKi8NCiNkZWZpbmUgQ1NfSUZHX1BMTExPU0lGR19PRlMgICAgICAgICAgICAgICAgICAgICAoMTMpICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgUExMTE9TSUZHIEJpdCBPZmZzZXQgKi8NCiNkZWZpbmUgQ1NfSUZHX1BMTExPU0lGRyAgICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDIwMDApICAgICAgICAgIC8qKjwgUExMIGxvc3Mtb2Ytc2lnbmFsIGludGVycnVwdCBmbGFnICovDQovKiBDU19JRkdbUExMT09SSUZHXSBCaXRzICovDQojZGVmaW5lIENTX0lGR19QTExPT1JJRkdfT0ZTICAgICAgICAgICAgICAgICAgICAgKDE0KSAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKio8IFBMTE9PUklGRyBCaXQgT2Zmc2V0ICovDQojZGVmaW5lIENTX0lGR19QTExPT1JJRkcgICAgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDA0MDAwKSAgICAgICAgICAvKio8IFBMTCBvdXQtb2YtcmFuZ2UgaW50ZXJydXB0IGZsYWcgKi8NCi8qIENTX0lGR1tDQUxJRkddIEJpdHMgKi8NCiNkZWZpbmUgQ1NfSUZHX0NBTElGR19PRlMgICAgICAgICAgICAgICAgICAgICAgICAoMTUpICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgQ0FMSUZHIEJpdCBPZmZzZXQgKi8NCiNkZWZpbmUgQ1NfSUZHX0NBTElGRyAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDgwMDApICAgICAgICAgIC8qKjwgUkVGQ05UIHBlcmlvZCBjb3VudGVyIGV4cGlyZWQgKi8NCi8qIENTX0NMUklGR1tDTFJfTEZYVElGR10gQml0cyAqLw0KI2RlZmluZSBDU19DTFJJRkdfQ0xSX0xGWFRJRkdfT0ZTICAgICAgICAgICAgICAgICggMCkgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyoqPCBDTFJfTEZYVElGRyBCaXQgT2Zmc2V0ICovDQojZGVmaW5lIENTX0NMUklGR19DTFJfTEZYVElGRyAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwMDAxKSAgICAgICAgICAvKio8IENsZWFyIExGWFQgb3NjaWxsYXRvciBmYXVsdCBpbnRlcnJ1cHQgZmxhZyAqLw0KLyogQ1NfQ0xSSUZHW0NMUl9IRlhUSUZHXSBCaXRzICovDQojZGVmaW5lIENTX0NMUklGR19DTFJfSEZYVElGR19PRlMgICAgICAgICAgICAgICAgKCAxKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKio8IENMUl9IRlhUSUZHIEJpdCBPZmZzZXQgKi8NCiNkZWZpbmUgQ1NfQ0xSSUZHX0NMUl9IRlhUSUZHICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDAwMDIpICAgICAgICAgIC8qKjwgQ2xlYXIgSEZYVCBvc2NpbGxhdG9yIGZhdWx0IGludGVycnVwdCBmbGFnICovDQovKiBDU19DTFJJRkdbQ0xSX0hGWFQySUZHXSBCaXRzICovDQojZGVmaW5lIENTX0NMUklGR19DTFJfSEZYVDJJRkdfT0ZTICAgICAgICAgICAgICAgKCAyKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKio8IENMUl9IRlhUMklGRyBCaXQgT2Zmc2V0ICovDQojZGVmaW5lIENTX0NMUklGR19DTFJfSEZYVDJJRkcgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwMDA0KSAgICAgICAgICAvKio8IENsZWFyIEhGWFQyIG9zY2lsbGF0b3IgZmF1bHQgaW50ZXJydXB0IGZsYWcgKi8NCi8qIENTX0NMUklGR1tDTFJfRENPUl9PUE5JRkddIEJpdHMgKi8NCiNkZWZpbmUgQ1NfQ0xSSUZHX0NMUl9EQ09SX09QTklGR19PRlMgICAgICAgICAgICAoIDYpICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgQ0xSX0RDT1JfT1BOSUZHIEJpdCBPZmZzZXQgKi8NCiNkZWZpbmUgQ1NfQ0xSSUZHX0NMUl9EQ09SX09QTklGRyAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDAwNDApICAgICAgICAgIC8qKjwgQ2xlYXIgRENPIGV4dGVybmFsIHJlc2lzdG9yIG9wZW4gY2lyY3VpdCBmYXVsdCBpbnRlcnJ1cHQgZmxhZy4gKi8NCi8qIENTX0NMUklGR1tDTFJfQ0FMSUZHXSBCaXRzICovDQojZGVmaW5lIENTX0NMUklGR19DTFJfQ0FMSUZHX09GUyAgICAgICAgICAgICAgICAgKDE1KSAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKio8IENMUl9DQUxJRkcgQml0IE9mZnNldCAqLw0KI2RlZmluZSBDU19DTFJJRkdfQ0xSX0NBTElGRyAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwODAwMCkgICAgICAgICAgLyoqPCBSRUZDTlQgcGVyaW9kIGNvdW50ZXIgY2xlYXIgaW50ZXJydXB0IGZsYWcgKi8NCi8qIENTX0NMUklGR1tDTFJfRkNOVExGSUZHXSBCaXRzICovDQojZGVmaW5lIENTX0NMUklGR19DTFJfRkNOVExGSUZHX09GUyAgICAgICAgICAgICAgKCA4KSAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKio8IENMUl9GQ05UTEZJRkcgQml0IE9mZnNldCAqLw0KI2RlZmluZSBDU19DTFJJRkdfQ0xSX0ZDTlRMRklGRyAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMDEwMCkgICAgICAgICAgLyoqPCBTdGFydCBmYXVsdCBjb3VudGVyIGNsZWFyIGludGVycnVwdCBmbGFnIExGWFQgKi8NCi8qIENTX0NMUklGR1tDTFJfRkNOVEhGSUZHXSBCaXRzICovDQojZGVmaW5lIENTX0NMUklGR19DTFJfRkNOVEhGSUZHX09GUyAgICAgICAgICAgICAgKCA5KSAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKio8IENMUl9GQ05USEZJRkcgQml0IE9mZnNldCAqLw0KI2RlZmluZSBDU19DTFJJRkdfQ0xSX0ZDTlRIRklGRyAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMDIwMCkgICAgICAgICAgLyoqPCBTdGFydCBmYXVsdCBjb3VudGVyIGNsZWFyIGludGVycnVwdCBmbGFnIEhGWFQgKi8NCi8qIENTX0NMUklGR1tDTFJfRkNOVEhGMklGR10gQml0cyAqLw0KI2RlZmluZSBDU19DTFJJRkdfQ0xSX0ZDTlRIRjJJRkdfT0ZTICAgICAgICAgICAgICgxMCkgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyoqPCBDTFJfRkNOVEhGMklGRyBCaXQgT2Zmc2V0ICovDQojZGVmaW5lIENTX0NMUklGR19DTFJfRkNOVEhGMklGRyAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwNDAwKSAgICAgICAgICAvKio8IFN0YXJ0IGZhdWx0IGNvdW50ZXIgY2xlYXIgaW50ZXJydXB0IGZsYWcgSEZYVDIgKi8NCi8qIENTX0NMUklGR1tDTFJfUExMT09MSUZHXSBCaXRzICovDQojZGVmaW5lIENTX0NMUklGR19DTFJfUExMT09MSUZHX09GUyAgICAgICAgICAgICAgKDEyKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKio8IENMUl9QTExPT0xJRkcgQml0IE9mZnNldCAqLw0KI2RlZmluZSBDU19DTFJJRkdfQ0xSX1BMTE9PTElGRyAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMTAwMCkgICAgICAgICAgLyoqPCBQTEwgb3V0LW9mLWxvY2sgY2xlYXIgaW50ZXJydXB0IGZsYWcgKi8NCi8qIENTX0NMUklGR1tDTFJfUExMTE9TSUZHXSBCaXRzICovDQojZGVmaW5lIENTX0NMUklGR19DTFJfUExMTE9TSUZHX09GUyAgICAgICAgICAgICAgKDEzKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKio8IENMUl9QTExMT1NJRkcgQml0IE9mZnNldCAqLw0KI2RlZmluZSBDU19DTFJJRkdfQ0xSX1BMTExPU0lGRyAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMjAwMCkgICAgICAgICAgLyoqPCBQTEwgbG9zcy1vZi1zaWduYWwgY2xlYXIgaW50ZXJydXB0IGZsYWcgKi8NCi8qIENTX0NMUklGR1tDTFJfUExMT09SSUZHXSBCaXRzICovDQojZGVmaW5lIENTX0NMUklGR19DTFJfUExMT09SSUZHX09GUyAgICAgICAgICAgICAgKDE0KSAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKio8IENMUl9QTExPT1JJRkcgQml0IE9mZnNldCAqLw0KI2RlZmluZSBDU19DTFJJRkdfQ0xSX1BMTE9PUklGRyAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwNDAwMCkgICAgICAgICAgLyoqPCBQTEwgb3V0LW9mLXJhbmdlIGNsZWFyIGludGVycnVwdCBmbGFnICovDQovKiBDU19TRVRJRkdbU0VUX0xGWFRJRkddIEJpdHMgKi8NCiNkZWZpbmUgQ1NfU0VUSUZHX1NFVF9MRlhUSUZHX09GUyAgICAgICAgICAgICAgICAoIDApICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgU0VUX0xGWFRJRkcgQml0IE9mZnNldCAqLw0KI2RlZmluZSBDU19TRVRJRkdfU0VUX0xGWFRJRkcgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMDAwMSkgICAgICAgICAgLyoqPCBTZXQgTEZYVCBvc2NpbGxhdG9yIGZhdWx0IGludGVycnVwdCBmbGFnICovDQovKiBDU19TRVRJRkdbU0VUX0hGWFRJRkddIEJpdHMgKi8NCiNkZWZpbmUgQ1NfU0VUSUZHX1NFVF9IRlhUSUZHX09GUyAgICAgICAgICAgICAgICAoIDEpICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgU0VUX0hGWFRJRkcgQml0IE9mZnNldCAqLw0KI2RlZmluZSBDU19TRVRJRkdfU0VUX0hGWFRJRkcgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMDAwMikgICAgICAgICAgLyoqPCBTZXQgSEZYVCBvc2NpbGxhdG9yIGZhdWx0IGludGVycnVwdCBmbGFnICovDQovKiBDU19TRVRJRkdbU0VUX0hGWFQySUZHXSBCaXRzICovDQojZGVmaW5lIENTX1NFVElGR19TRVRfSEZYVDJJRkdfT0ZTICAgICAgICAgICAgICAgKCAyKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKio8IFNFVF9IRlhUMklGRyBCaXQgT2Zmc2V0ICovDQojZGVmaW5lIENTX1NFVElGR19TRVRfSEZYVDJJRkcgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwMDA0KSAgICAgICAgICAvKio8IFNldCBIRlhUMiBvc2NpbGxhdG9yIGZhdWx0IGludGVycnVwdCBmbGFnICovDQovKiBDU19TRVRJRkdbU0VUX0RDT1JfT1BOSUZHXSBCaXRzICovDQojZGVmaW5lIENTX1NFVElGR19TRVRfRENPUl9PUE5JRkdfT0ZTICAgICAgICAgICAgKCA2KSAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKio8IFNFVF9EQ09SX09QTklGRyBCaXQgT2Zmc2V0ICovDQojZGVmaW5lIENTX1NFVElGR19TRVRfRENPUl9PUE5JRkcgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwMDQwKSAgICAgICAgICAvKio8IFNldCBEQ08gZXh0ZXJuYWwgcmVzaXN0b3Igb3BlbiBjaXJjdWl0IGZhdWx0IGludGVycnVwdCBmbGFnLiAqLw0KLyogQ1NfU0VUSUZHW1NFVF9DQUxJRkddIEJpdHMgKi8NCiNkZWZpbmUgQ1NfU0VUSUZHX1NFVF9DQUxJRkdfT0ZTICAgICAgICAgICAgICAgICAoMTUpICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgU0VUX0NBTElGRyBCaXQgT2Zmc2V0ICovDQojZGVmaW5lIENTX1NFVElGR19TRVRfQ0FMSUZHICAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDA4MDAwKSAgICAgICAgICAvKio8IFJFRkNOVCBwZXJpb2QgY291bnRlciBzZXQgaW50ZXJydXB0IGZsYWcgKi8NCi8qIENTX1NFVElGR1tTRVRfRkNOVEhGSUZHXSBCaXRzICovDQojZGVmaW5lIENTX1NFVElGR19TRVRfRkNOVEhGSUZHX09GUyAgICAgICAgICAgICAgKCA5KSAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKio8IFNFVF9GQ05USEZJRkcgQml0IE9mZnNldCAqLw0KI2RlZmluZSBDU19TRVRJRkdfU0VUX0ZDTlRIRklGRyAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMDIwMCkgICAgICAgICAgLyoqPCBTdGFydCBmYXVsdCBjb3VudGVyIHNldCBpbnRlcnJ1cHQgZmxhZyBIRlhUICovDQovKiBDU19TRVRJRkdbU0VUX0ZDTlRIRjJJRkddIEJpdHMgKi8NCiNkZWZpbmUgQ1NfU0VUSUZHX1NFVF9GQ05USEYySUZHX09GUyAgICAgICAgICAgICAoMTApICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgU0VUX0ZDTlRIRjJJRkcgQml0IE9mZnNldCAqLw0KI2RlZmluZSBDU19TRVRJRkdfU0VUX0ZDTlRIRjJJRkcgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMDQwMCkgICAgICAgICAgLyoqPCBTdGFydCBmYXVsdCBjb3VudGVyIHNldCBpbnRlcnJ1cHQgZmxhZyBIRlhUMiAqLw0KLyogQ1NfU0VUSUZHW1NFVF9GQ05UTEZJRkddIEJpdHMgKi8NCiNkZWZpbmUgQ1NfU0VUSUZHX1NFVF9GQ05UTEZJRkdfT0ZTICAgICAgICAgICAgICAoIDgpICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgU0VUX0ZDTlRMRklGRyBCaXQgT2Zmc2V0ICovDQojZGVmaW5lIENTX1NFVElGR19TRVRfRkNOVExGSUZHICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwMTAwKSAgICAgICAgICAvKio8IFN0YXJ0IGZhdWx0IGNvdW50ZXIgc2V0IGludGVycnVwdCBmbGFnIExGWFQgKi8NCi8qIENTX1NFVElGR1tTRVRfUExMT09MSUZHXSBCaXRzICovDQojZGVmaW5lIENTX1NFVElGR19TRVRfUExMT09MSUZHX09GUyAgICAgICAgICAgICAgKDEyKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKio8IFNFVF9QTExPT0xJRkcgQml0IE9mZnNldCAqLw0KI2RlZmluZSBDU19TRVRJRkdfU0VUX1BMTE9PTElGRyAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMTAwMCkgICAgICAgICAgLyoqPCBQTEwgb3V0LW9mLWxvY2sgc2V0IGludGVycnVwdCBmbGFnICovDQovKiBDU19TRVRJRkdbU0VUX1BMTExPU0lGR10gQml0cyAqLw0KI2RlZmluZSBDU19TRVRJRkdfU0VUX1BMTExPU0lGR19PRlMgICAgICAgICAgICAgICgxMykgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyoqPCBTRVRfUExMTE9TSUZHIEJpdCBPZmZzZXQgKi8NCiNkZWZpbmUgQ1NfU0VUSUZHX1NFVF9QTExMT1NJRkcgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDIwMDApICAgICAgICAgIC8qKjwgUExMIGxvc3Mtb2Ytc2lnbmFsIHNldCBpbnRlcnJ1cHQgZmxhZyAqLw0KLyogQ1NfU0VUSUZHW1NFVF9QTExPT1JJRkddIEJpdHMgKi8NCiNkZWZpbmUgQ1NfU0VUSUZHX1NFVF9QTExPT1JJRkdfT0ZTICAgICAgICAgICAgICAoMTQpICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgU0VUX1BMTE9PUklGRyBCaXQgT2Zmc2V0ICovDQojZGVmaW5lIENTX1NFVElGR19TRVRfUExMT09SSUZHICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDA0MDAwKSAgICAgICAgICAvKio8IFBMTCBvdXQtb2YtcmFuZ2Ugc2V0IGludGVycnVwdCBmbGFnICovDQovKiBDU19EQ09FUkNBTDBbRENPX1RDQ0FMXSBCaXRzICovDQojZGVmaW5lIENTX0RDT0VSQ0FMMF9EQ09fVENDQUxfT0ZTICAgICAgICAgICAgICAgKCAwKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKio8IERDT19UQ0NBTCBCaXQgT2Zmc2V0ICovDQojZGVmaW5lIENTX0RDT0VSQ0FMMF9EQ09fVENDQUxfTUFTSyAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwMDAzKSAgICAgICAgICAvKio8IERDT19UQ0NBTCBCaXQgTWFzayAqLw0KLyogQ1NfRENPRVJDQUwwW0RDT19GQ0FMX1JTRUwwNF0gQml0cyAqLw0KI2RlZmluZSBDU19EQ09FUkNBTDBfRENPX0ZDQUxfUlNFTDA0X09GUyAgICAgICAgICgxNikgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyoqPCBEQ09fRkNBTF9SU0VMMDQgQml0IE9mZnNldCAqLw0KI2RlZmluZSBDU19EQ09FUkNBTDBfRENPX0ZDQUxfUlNFTDA0X01BU0sgICAgICAgICgodWludDMyX3QpMHgwM0ZGMDAwMCkgICAgICAgICAgLyoqPCBEQ09fRkNBTF9SU0VMMDQgQml0IE1hc2sgKi8NCi8qIENTX0RDT0VSQ0FMMVtEQ09fRkNBTF9SU0VMNV0gQml0cyAqLw0KI2RlZmluZSBDU19EQ09FUkNBTDFfRENPX0ZDQUxfUlNFTDVfT0ZTICAgICAgICAgICggMCkgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyoqPCBEQ09fRkNBTF9SU0VMNSBCaXQgT2Zmc2V0ICovDQojZGVmaW5lIENTX0RDT0VSQ0FMMV9EQ09fRkNBTF9SU0VMNV9NQVNLICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwM0ZGKSAgICAgICAgICAvKio8IERDT19GQ0FMX1JTRUw1IEJpdCBNYXNrICovDQoNCi8qIFByZS1kZWZpbmVkIGJpdGZpZWxkIHZhbHVlcyAqLw0KI2RlZmluZSBDU19LRVlfVkFMICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwNjk1QSkgICAgICAgICAgLyogQ1MgY29udHJvbCBrZXkgdmFsdWUgKi8NCg0KLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKg0KKiBESU8gQml0cw0KKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLw0KLyogRElPX0lWW0lWXSBCaXRzICovDQojZGVmaW5lIERJT19QT1JUX0lWX09GUyAgICAgICAgICAgICAgICAgICAgICAgICAgKCAwKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKio8IERJTyBQb3J0IElWIEJpdCBPZmZzZXQgKi8NCiNkZWZpbmUgRElPX1BPUlRfSVZfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQxNl90KTB4MDAxRikgICAgICAgICAgICAgIC8qKjwgRElPIFBvcnQgSVYgQml0IE1hc2sgKi8NCiNkZWZpbmUgRElPX1BPUlRfSVYwICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQxNl90KTB4MDAwMSkgICAgICAgICAgICAgIC8qKjwgRElPIFBvcnQgSVYgQml0IDAgKi8NCiNkZWZpbmUgRElPX1BPUlRfSVYxICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQxNl90KTB4MDAwMikgICAgICAgICAgICAgIC8qKjwgRElPIFBvcnQgSVYgQml0IDEgKi8NCiNkZWZpbmUgRElPX1BPUlRfSVYyICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQxNl90KTB4MDAwNCkgICAgICAgICAgICAgIC8qKjwgRElPIFBvcnQgSVYgQml0IDIgKi8NCiNkZWZpbmUgRElPX1BPUlRfSVYzICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQxNl90KTB4MDAwOCkgICAgICAgICAgICAgIC8qKjwgRElPIFBvcnQgSVYgQml0IDMgKi8NCiNkZWZpbmUgRElPX1BPUlRfSVY0ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQxNl90KTB4MDAxMCkgICAgICAgICAgICAgIC8qKjwgRElPIFBvcnQgSVYgQml0IDQgKi8NCiNkZWZpbmUgRElPX1BPUlRfSVZfMCAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQxNl90KTB4MDAwMCkgICAgICAgICAgICAgIC8qKjwgTm8gaW50ZXJydXB0IHBlbmRpbmcgKi8NCiNkZWZpbmUgRElPX1BPUlRfSVZfMiAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQxNl90KTB4MDAwMikgICAgICAgICAgICAgIC8qKjwgSW50ZXJydXB0IFNvdXJjZTogUG9ydCB4LjAgaW50ZXJydXB0OyBJbnRlcnJ1cHQgRmxhZzogSUZHMDsgSW50ZXJydXB0ICAqLw0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyogUHJpb3JpdHk6IEhpZ2hlc3QgKi8NCiNkZWZpbmUgRElPX1BPUlRfSVZfNCAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQxNl90KTB4MDAwNCkgICAgICAgICAgICAgIC8qKjwgSW50ZXJydXB0IFNvdXJjZTogUG9ydCB4LjEgaW50ZXJydXB0OyBJbnRlcnJ1cHQgRmxhZzogSUZHMSAqLw0KI2RlZmluZSBESU9fUE9SVF9JVl82ICAgICAgICAgICAgICAgICAgICAgICAgICAgICgodWludDE2X3QpMHgwMDA2KSAgICAgICAgICAgICAgLyoqPCBJbnRlcnJ1cHQgU291cmNlOiBQb3J0IHguMiBpbnRlcnJ1cHQ7IEludGVycnVwdCBGbGFnOiBJRkcyICovDQojZGVmaW5lIERJT19QT1JUX0lWXzggICAgICAgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MTZfdCkweDAwMDgpICAgICAgICAgICAgICAvKio8IEludGVycnVwdCBTb3VyY2U6IFBvcnQgeC4zIGludGVycnVwdDsgSW50ZXJydXB0IEZsYWc6IElGRzMgKi8NCiNkZWZpbmUgRElPX1BPUlRfSVZfMTAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQxNl90KTB4MDAwQSkgICAgICAgICAgICAgIC8qKjwgSW50ZXJydXB0IFNvdXJjZTogUG9ydCB4LjQgaW50ZXJydXB0OyBJbnRlcnJ1cHQgRmxhZzogSUZHNCAqLw0KI2RlZmluZSBESU9fUE9SVF9JVl8xMiAgICAgICAgICAgICAgICAgICAgICAgICAgICgodWludDE2X3QpMHgwMDBDKSAgICAgICAgICAgICAgLyoqPCBJbnRlcnJ1cHQgU291cmNlOiBQb3J0IHguNSBpbnRlcnJ1cHQ7IEludGVycnVwdCBGbGFnOiBJRkc1ICovDQojZGVmaW5lIERJT19QT1JUX0lWXzE0ICAgICAgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MTZfdCkweDAwMEUpICAgICAgICAgICAgICAvKio8IEludGVycnVwdCBTb3VyY2U6IFBvcnQgeC42IGludGVycnVwdDsgSW50ZXJydXB0IEZsYWc6IElGRzYgKi8NCiNkZWZpbmUgRElPX1BPUlRfSVZfMTYgICAgICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQxNl90KTB4MDAxMCkgICAgICAgICAgICAgIC8qKjwgSW50ZXJydXB0IFNvdXJjZTogUG9ydCB4LjcgaW50ZXJydXB0OyBJbnRlcnJ1cHQgRmxhZzogSUZHNzsgSW50ZXJydXB0ICAqLw0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyogUHJpb3JpdHk6IExvd2VzdCAqLw0KI2RlZmluZSBESU9fUE9SVF9JVl9fTk9ORSAgICAgICAgICAgICAgICAgICAgICAgICgodWludDE2X3QpMHgwMDAwKSAgICAgICAgICAgICAgLyoqPCBObyBpbnRlcnJ1cHQgcGVuZGluZyAqLw0KI2RlZmluZSBESU9fUE9SVF9JVl9fSUZHMCAgICAgICAgICAgICAgICAgICAgICAgICgodWludDE2X3QpMHgwMDAyKSAgICAgICAgICAgICAgLyoqPCBJbnRlcnJ1cHQgU291cmNlOiBQb3J0IHguMCBpbnRlcnJ1cHQ7IEludGVycnVwdCBGbGFnOiBJRkcwOyBJbnRlcnJ1cHQgICovDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiBQcmlvcml0eTogSGlnaGVzdCAqLw0KI2RlZmluZSBESU9fUE9SVF9JVl9fSUZHMSAgICAgICAgICAgICAgICAgICAgICAgICgodWludDE2X3QpMHgwMDA0KSAgICAgICAgICAgICAgLyoqPCBJbnRlcnJ1cHQgU291cmNlOiBQb3J0IHguMSBpbnRlcnJ1cHQ7IEludGVycnVwdCBGbGFnOiBJRkcxICovDQojZGVmaW5lIERJT19QT1JUX0lWX19JRkcyICAgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MTZfdCkweDAwMDYpICAgICAgICAgICAgICAvKio8IEludGVycnVwdCBTb3VyY2U6IFBvcnQgeC4yIGludGVycnVwdDsgSW50ZXJydXB0IEZsYWc6IElGRzIgKi8NCiNkZWZpbmUgRElPX1BPUlRfSVZfX0lGRzMgICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQxNl90KTB4MDAwOCkgICAgICAgICAgICAgIC8qKjwgSW50ZXJydXB0IFNvdXJjZTogUG9ydCB4LjMgaW50ZXJydXB0OyBJbnRlcnJ1cHQgRmxhZzogSUZHMyAqLw0KI2RlZmluZSBESU9fUE9SVF9JVl9fSUZHNCAgICAgICAgICAgICAgICAgICAgICAgICgodWludDE2X3QpMHgwMDBBKSAgICAgICAgICAgICAgLyoqPCBJbnRlcnJ1cHQgU291cmNlOiBQb3J0IHguNCBpbnRlcnJ1cHQ7IEludGVycnVwdCBGbGFnOiBJRkc0ICovDQojZGVmaW5lIERJT19QT1JUX0lWX19JRkc1ICAgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MTZfdCkweDAwMEMpICAgICAgICAgICAgICAvKio8IEludGVycnVwdCBTb3VyY2U6IFBvcnQgeC41IGludGVycnVwdDsgSW50ZXJydXB0IEZsYWc6IElGRzUgKi8NCiNkZWZpbmUgRElPX1BPUlRfSVZfX0lGRzYgICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQxNl90KTB4MDAwRSkgICAgICAgICAgICAgIC8qKjwgSW50ZXJydXB0IFNvdXJjZTogUG9ydCB4LjYgaW50ZXJydXB0OyBJbnRlcnJ1cHQgRmxhZzogSUZHNiAqLw0KI2RlZmluZSBESU9fUE9SVF9JVl9fSUZHNyAgICAgICAgICAgICAgICAgICAgICAgICgodWludDE2X3QpMHgwMDEwKSAgICAgICAgICAgICAgLyoqPCBJbnRlcnJ1cHQgU291cmNlOiBQb3J0IHguNyBpbnRlcnJ1cHQ7IEludGVycnVwdCBGbGFnOiBJRkc3OyBJbnRlcnJ1cHQgICovDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiBQcmlvcml0eTogTG93ZXN0ICovDQoNCg0KLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKg0KKiBETUEgQml0cw0KKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLw0KLyogRE1BX0RFVklDRV9DRkdbTlVNX0RNQV9DSEFOTkVMU10gQml0cyAqLw0KI2RlZmluZSBETUFfREVWSUNFX0NGR19OVU1fRE1BX0NIQU5ORUxTX09GUyAgICAgICggMCkgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyoqPCBOVU1fRE1BX0NIQU5ORUxTIEJpdCBPZmZzZXQgKi8NCiNkZWZpbmUgRE1BX0RFVklDRV9DRkdfTlVNX0RNQV9DSEFOTkVMU19NQVNLICAgICAoKHVpbnQzMl90KTB4MDAwMDAwRkYpICAgICAgICAgIC8qKjwgTlVNX0RNQV9DSEFOTkVMUyBCaXQgTWFzayAqLw0KLyogRE1BX0RFVklDRV9DRkdbTlVNX1NSQ19QRVJfQ0hBTk5FTF0gQml0cyAqLw0KI2RlZmluZSBETUFfREVWSUNFX0NGR19OVU1fU1JDX1BFUl9DSEFOTkVMX09GUyAgICggOCkgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyoqPCBOVU1fU1JDX1BFUl9DSEFOTkVMIEJpdCBPZmZzZXQgKi8NCiNkZWZpbmUgRE1BX0RFVklDRV9DRkdfTlVNX1NSQ19QRVJfQ0hBTk5FTF9NQVNLICAoKHVpbnQzMl90KTB4MDAwMEZGMDApICAgICAgICAgIC8qKjwgTlVNX1NSQ19QRVJfQ0hBTk5FTCBCaXQgTWFzayAqLw0KLyogRE1BX1NXX0NIVFJJR1tDSDBdIEJpdHMgKi8NCiNkZWZpbmUgRE1BX1NXX0NIVFJJR19DSDBfT0ZTICAgICAgICAgICAgICAgICAgICAoIDApICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgQ0gwIEJpdCBPZmZzZXQgKi8NCiNkZWZpbmUgRE1BX1NXX0NIVFJJR19DSDAgICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDAwMDEpICAgICAgICAgIC8qKjwgV3JpdGUgMSwgdHJpZ2dlcnMgRE1BX0NIQU5ORUwwICovDQovKiBETUFfU1dfQ0hUUklHW0NIMV0gQml0cyAqLw0KI2RlZmluZSBETUFfU1dfQ0hUUklHX0NIMV9PRlMgICAgICAgICAgICAgICAgICAgICggMSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyoqPCBDSDEgQml0IE9mZnNldCAqLw0KI2RlZmluZSBETUFfU1dfQ0hUUklHX0NIMSAgICAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMDAwMikgICAgICAgICAgLyoqPCBXcml0ZSAxLCB0cmlnZ2VycyBETUFfQ0hBTk5FTDEgKi8NCi8qIERNQV9TV19DSFRSSUdbQ0gyXSBCaXRzICovDQojZGVmaW5lIERNQV9TV19DSFRSSUdfQ0gyX09GUyAgICAgICAgICAgICAgICAgICAgKCAyKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKio8IENIMiBCaXQgT2Zmc2V0ICovDQojZGVmaW5lIERNQV9TV19DSFRSSUdfQ0gyICAgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwMDA0KSAgICAgICAgICAvKio8IFdyaXRlIDEsIHRyaWdnZXJzIERNQV9DSEFOTkVMMiAqLw0KLyogRE1BX1NXX0NIVFJJR1tDSDNdIEJpdHMgKi8NCiNkZWZpbmUgRE1BX1NXX0NIVFJJR19DSDNfT0ZTICAgICAgICAgICAgICAgICAgICAoIDMpICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgQ0gzIEJpdCBPZmZzZXQgKi8NCiNkZWZpbmUgRE1BX1NXX0NIVFJJR19DSDMgICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDAwMDgpICAgICAgICAgIC8qKjwgV3JpdGUgMSwgdHJpZ2dlcnMgRE1BX0NIQU5ORUwzICovDQovKiBETUFfU1dfQ0hUUklHW0NINF0gQml0cyAqLw0KI2RlZmluZSBETUFfU1dfQ0hUUklHX0NINF9PRlMgICAgICAgICAgICAgICAgICAgICggNCkgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyoqPCBDSDQgQml0IE9mZnNldCAqLw0KI2RlZmluZSBETUFfU1dfQ0hUUklHX0NINCAgICAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMDAxMCkgICAgICAgICAgLyoqPCBXcml0ZSAxLCB0cmlnZ2VycyBETUFfQ0hBTk5FTDQgKi8NCi8qIERNQV9TV19DSFRSSUdbQ0g1XSBCaXRzICovDQojZGVmaW5lIERNQV9TV19DSFRSSUdfQ0g1X09GUyAgICAgICAgICAgICAgICAgICAgKCA1KSAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKio8IENINSBCaXQgT2Zmc2V0ICovDQojZGVmaW5lIERNQV9TV19DSFRSSUdfQ0g1ICAgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwMDIwKSAgICAgICAgICAvKio8IFdyaXRlIDEsIHRyaWdnZXJzIERNQV9DSEFOTkVMNSAqLw0KLyogRE1BX1NXX0NIVFJJR1tDSDZdIEJpdHMgKi8NCiNkZWZpbmUgRE1BX1NXX0NIVFJJR19DSDZfT0ZTICAgICAgICAgICAgICAgICAgICAoIDYpICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgQ0g2IEJpdCBPZmZzZXQgKi8NCiNkZWZpbmUgRE1BX1NXX0NIVFJJR19DSDYgICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDAwNDApICAgICAgICAgIC8qKjwgV3JpdGUgMSwgdHJpZ2dlcnMgRE1BX0NIQU5ORUw2ICovDQovKiBETUFfU1dfQ0hUUklHW0NIN10gQml0cyAqLw0KI2RlZmluZSBETUFfU1dfQ0hUUklHX0NIN19PRlMgICAgICAgICAgICAgICAgICAgICggNykgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyoqPCBDSDcgQml0IE9mZnNldCAqLw0KI2RlZmluZSBETUFfU1dfQ0hUUklHX0NINyAgICAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMDA4MCkgICAgICAgICAgLyoqPCBXcml0ZSAxLCB0cmlnZ2VycyBETUFfQ0hBTk5FTDcgKi8NCi8qIERNQV9TV19DSFRSSUdbQ0g4XSBCaXRzICovDQojZGVmaW5lIERNQV9TV19DSFRSSUdfQ0g4X09GUyAgICAgICAgICAgICAgICAgICAgKCA4KSAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKio8IENIOCBCaXQgT2Zmc2V0ICovDQojZGVmaW5lIERNQV9TV19DSFRSSUdfQ0g4ICAgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwMTAwKSAgICAgICAgICAvKio8IFdyaXRlIDEsIHRyaWdnZXJzIERNQV9DSEFOTkVMOCAqLw0KLyogRE1BX1NXX0NIVFJJR1tDSDldIEJpdHMgKi8NCiNkZWZpbmUgRE1BX1NXX0NIVFJJR19DSDlfT0ZTICAgICAgICAgICAgICAgICAgICAoIDkpICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgQ0g5IEJpdCBPZmZzZXQgKi8NCiNkZWZpbmUgRE1BX1NXX0NIVFJJR19DSDkgICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDAyMDApICAgICAgICAgIC8qKjwgV3JpdGUgMSwgdHJpZ2dlcnMgRE1BX0NIQU5ORUw5ICovDQovKiBETUFfU1dfQ0hUUklHW0NIMTBdIEJpdHMgKi8NCiNkZWZpbmUgRE1BX1NXX0NIVFJJR19DSDEwX09GUyAgICAgICAgICAgICAgICAgICAoMTApICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgQ0gxMCBCaXQgT2Zmc2V0ICovDQojZGVmaW5lIERNQV9TV19DSFRSSUdfQ0gxMCAgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwNDAwKSAgICAgICAgICAvKio8IFdyaXRlIDEsIHRyaWdnZXJzIERNQV9DSEFOTkVMMTAgKi8NCi8qIERNQV9TV19DSFRSSUdbQ0gxMV0gQml0cyAqLw0KI2RlZmluZSBETUFfU1dfQ0hUUklHX0NIMTFfT0ZTICAgICAgICAgICAgICAgICAgICgxMSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyoqPCBDSDExIEJpdCBPZmZzZXQgKi8NCiNkZWZpbmUgRE1BX1NXX0NIVFJJR19DSDExICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDA4MDApICAgICAgICAgIC8qKjwgV3JpdGUgMSwgdHJpZ2dlcnMgRE1BX0NIQU5ORUwxMSAqLw0KLyogRE1BX1NXX0NIVFJJR1tDSDEyXSBCaXRzICovDQojZGVmaW5lIERNQV9TV19DSFRSSUdfQ0gxMl9PRlMgICAgICAgICAgICAgICAgICAgKDEyKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKio8IENIMTIgQml0IE9mZnNldCAqLw0KI2RlZmluZSBETUFfU1dfQ0hUUklHX0NIMTIgICAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMTAwMCkgICAgICAgICAgLyoqPCBXcml0ZSAxLCB0cmlnZ2VycyBETUFfQ0hBTk5FTDEyICovDQovKiBETUFfU1dfQ0hUUklHW0NIMTNdIEJpdHMgKi8NCiNkZWZpbmUgRE1BX1NXX0NIVFJJR19DSDEzX09GUyAgICAgICAgICAgICAgICAgICAoMTMpICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgQ0gxMyBCaXQgT2Zmc2V0ICovDQojZGVmaW5lIERNQV9TV19DSFRSSUdfQ0gxMyAgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAyMDAwKSAgICAgICAgICAvKio8IFdyaXRlIDEsIHRyaWdnZXJzIERNQV9DSEFOTkVMMTMgKi8NCi8qIERNQV9TV19DSFRSSUdbQ0gxNF0gQml0cyAqLw0KI2RlZmluZSBETUFfU1dfQ0hUUklHX0NIMTRfT0ZTICAgICAgICAgICAgICAgICAgICgxNCkgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyoqPCBDSDE0IEJpdCBPZmZzZXQgKi8NCiNkZWZpbmUgRE1BX1NXX0NIVFJJR19DSDE0ICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDQwMDApICAgICAgICAgIC8qKjwgV3JpdGUgMSwgdHJpZ2dlcnMgRE1BX0NIQU5ORUwxNCAqLw0KLyogRE1BX1NXX0NIVFJJR1tDSDE1XSBCaXRzICovDQojZGVmaW5lIERNQV9TV19DSFRSSUdfQ0gxNV9PRlMgICAgICAgICAgICAgICAgICAgKDE1KSAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKio8IENIMTUgQml0IE9mZnNldCAqLw0KI2RlZmluZSBETUFfU1dfQ0hUUklHX0NIMTUgICAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwODAwMCkgICAgICAgICAgLyoqPCBXcml0ZSAxLCB0cmlnZ2VycyBETUFfQ0hBTk5FTDE1ICovDQovKiBETUFfU1dfQ0hUUklHW0NIMTZdIEJpdHMgKi8NCiNkZWZpbmUgRE1BX1NXX0NIVFJJR19DSDE2X09GUyAgICAgICAgICAgICAgICAgICAoMTYpICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgQ0gxNiBCaXQgT2Zmc2V0ICovDQojZGVmaW5lIERNQV9TV19DSFRSSUdfQ0gxNiAgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDEwMDAwKSAgICAgICAgICAvKio8IFdyaXRlIDEsIHRyaWdnZXJzIERNQV9DSEFOTkVMMTYgKi8NCi8qIERNQV9TV19DSFRSSUdbQ0gxN10gQml0cyAqLw0KI2RlZmluZSBETUFfU1dfQ0hUUklHX0NIMTdfT0ZTICAgICAgICAgICAgICAgICAgICgxNykgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyoqPCBDSDE3IEJpdCBPZmZzZXQgKi8NCiNkZWZpbmUgRE1BX1NXX0NIVFJJR19DSDE3ICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMjAwMDApICAgICAgICAgIC8qKjwgV3JpdGUgMSwgdHJpZ2dlcnMgRE1BX0NIQU5ORUwxNyAqLw0KLyogRE1BX1NXX0NIVFJJR1tDSDE4XSBCaXRzICovDQojZGVmaW5lIERNQV9TV19DSFRSSUdfQ0gxOF9PRlMgICAgICAgICAgICAgICAgICAgKDE4KSAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKio8IENIMTggQml0IE9mZnNldCAqLw0KI2RlZmluZSBETUFfU1dfQ0hUUklHX0NIMTggICAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDA0MDAwMCkgICAgICAgICAgLyoqPCBXcml0ZSAxLCB0cmlnZ2VycyBETUFfQ0hBTk5FTDE4ICovDQovKiBETUFfU1dfQ0hUUklHW0NIMTldIEJpdHMgKi8NCiNkZWZpbmUgRE1BX1NXX0NIVFJJR19DSDE5X09GUyAgICAgICAgICAgICAgICAgICAoMTkpICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgQ0gxOSBCaXQgT2Zmc2V0ICovDQojZGVmaW5lIERNQV9TV19DSFRSSUdfQ0gxOSAgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDgwMDAwKSAgICAgICAgICAvKio8IFdyaXRlIDEsIHRyaWdnZXJzIERNQV9DSEFOTkVMMTkgKi8NCi8qIERNQV9TV19DSFRSSUdbQ0gyMF0gQml0cyAqLw0KI2RlZmluZSBETUFfU1dfQ0hUUklHX0NIMjBfT0ZTICAgICAgICAgICAgICAgICAgICgyMCkgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyoqPCBDSDIwIEJpdCBPZmZzZXQgKi8NCiNkZWZpbmUgRE1BX1NXX0NIVFJJR19DSDIwICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAxMDAwMDApICAgICAgICAgIC8qKjwgV3JpdGUgMSwgdHJpZ2dlcnMgRE1BX0NIQU5ORUwyMCAqLw0KLyogRE1BX1NXX0NIVFJJR1tDSDIxXSBCaXRzICovDQojZGVmaW5lIERNQV9TV19DSFRSSUdfQ0gyMV9PRlMgICAgICAgICAgICAgICAgICAgKDIxKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKio8IENIMjEgQml0IE9mZnNldCAqLw0KI2RlZmluZSBETUFfU1dfQ0hUUklHX0NIMjEgICAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDIwMDAwMCkgICAgICAgICAgLyoqPCBXcml0ZSAxLCB0cmlnZ2VycyBETUFfQ0hBTk5FTDIxICovDQovKiBETUFfU1dfQ0hUUklHW0NIMjJdIEJpdHMgKi8NCiNkZWZpbmUgRE1BX1NXX0NIVFJJR19DSDIyX09GUyAgICAgICAgICAgICAgICAgICAoMjIpICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgQ0gyMiBCaXQgT2Zmc2V0ICovDQojZGVmaW5lIERNQV9TV19DSFRSSUdfQ0gyMiAgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwNDAwMDAwKSAgICAgICAgICAvKio8IFdyaXRlIDEsIHRyaWdnZXJzIERNQV9DSEFOTkVMMjIgKi8NCi8qIERNQV9TV19DSFRSSUdbQ0gyM10gQml0cyAqLw0KI2RlZmluZSBETUFfU1dfQ0hUUklHX0NIMjNfT0ZTICAgICAgICAgICAgICAgICAgICgyMykgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyoqPCBDSDIzIEJpdCBPZmZzZXQgKi8NCiNkZWZpbmUgRE1BX1NXX0NIVFJJR19DSDIzICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDA4MDAwMDApICAgICAgICAgIC8qKjwgV3JpdGUgMSwgdHJpZ2dlcnMgRE1BX0NIQU5ORUwyMyAqLw0KLyogRE1BX1NXX0NIVFJJR1tDSDI0XSBCaXRzICovDQojZGVmaW5lIERNQV9TV19DSFRSSUdfQ0gyNF9PRlMgICAgICAgICAgICAgICAgICAgKDI0KSAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKio8IENIMjQgQml0IE9mZnNldCAqLw0KI2RlZmluZSBETUFfU1dfQ0hUUklHX0NIMjQgICAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMTAwMDAwMCkgICAgICAgICAgLyoqPCBXcml0ZSAxLCB0cmlnZ2VycyBETUFfQ0hBTk5FTDI0ICovDQovKiBETUFfU1dfQ0hUUklHW0NIMjVdIEJpdHMgKi8NCiNkZWZpbmUgRE1BX1NXX0NIVFJJR19DSDI1X09GUyAgICAgICAgICAgICAgICAgICAoMjUpICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgQ0gyNSBCaXQgT2Zmc2V0ICovDQojZGVmaW5lIERNQV9TV19DSFRSSUdfQ0gyNSAgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAyMDAwMDAwKSAgICAgICAgICAvKio8IFdyaXRlIDEsIHRyaWdnZXJzIERNQV9DSEFOTkVMMjUgKi8NCi8qIERNQV9TV19DSFRSSUdbQ0gyNl0gQml0cyAqLw0KI2RlZmluZSBETUFfU1dfQ0hUUklHX0NIMjZfT0ZTICAgICAgICAgICAgICAgICAgICgyNikgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyoqPCBDSDI2IEJpdCBPZmZzZXQgKi8NCiNkZWZpbmUgRE1BX1NXX0NIVFJJR19DSDI2ICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDQwMDAwMDApICAgICAgICAgIC8qKjwgV3JpdGUgMSwgdHJpZ2dlcnMgRE1BX0NIQU5ORUwyNiAqLw0KLyogRE1BX1NXX0NIVFJJR1tDSDI3XSBCaXRzICovDQojZGVmaW5lIERNQV9TV19DSFRSSUdfQ0gyN19PRlMgICAgICAgICAgICAgICAgICAgKDI3KSAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKio8IENIMjcgQml0IE9mZnNldCAqLw0KI2RlZmluZSBETUFfU1dfQ0hUUklHX0NIMjcgICAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwODAwMDAwMCkgICAgICAgICAgLyoqPCBXcml0ZSAxLCB0cmlnZ2VycyBETUFfQ0hBTk5FTDI3ICovDQovKiBETUFfU1dfQ0hUUklHW0NIMjhdIEJpdHMgKi8NCiNkZWZpbmUgRE1BX1NXX0NIVFJJR19DSDI4X09GUyAgICAgICAgICAgICAgICAgICAoMjgpICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgQ0gyOCBCaXQgT2Zmc2V0ICovDQojZGVmaW5lIERNQV9TV19DSFRSSUdfQ0gyOCAgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDEwMDAwMDAwKSAgICAgICAgICAvKio8IFdyaXRlIDEsIHRyaWdnZXJzIERNQV9DSEFOTkVMMjggKi8NCi8qIERNQV9TV19DSFRSSUdbQ0gyOV0gQml0cyAqLw0KI2RlZmluZSBETUFfU1dfQ0hUUklHX0NIMjlfT0ZTICAgICAgICAgICAgICAgICAgICgyOSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyoqPCBDSDI5IEJpdCBPZmZzZXQgKi8NCiNkZWZpbmUgRE1BX1NXX0NIVFJJR19DSDI5ICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MjAwMDAwMDApICAgICAgICAgIC8qKjwgV3JpdGUgMSwgdHJpZ2dlcnMgRE1BX0NIQU5ORUwyOSAqLw0KLyogRE1BX1NXX0NIVFJJR1tDSDMwXSBCaXRzICovDQojZGVmaW5lIERNQV9TV19DSFRSSUdfQ0gzMF9PRlMgICAgICAgICAgICAgICAgICAgKDMwKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKio8IENIMzAgQml0IE9mZnNldCAqLw0KI2RlZmluZSBETUFfU1dfQ0hUUklHX0NIMzAgICAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHg0MDAwMDAwMCkgICAgICAgICAgLyoqPCBXcml0ZSAxLCB0cmlnZ2VycyBETUFfQ0hBTk5FTDMwICovDQovKiBETUFfU1dfQ0hUUklHW0NIMzFdIEJpdHMgKi8NCiNkZWZpbmUgRE1BX1NXX0NIVFJJR19DSDMxX09GUyAgICAgICAgICAgICAgICAgICAoMzEpICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgQ0gzMSBCaXQgT2Zmc2V0ICovDQojZGVmaW5lIERNQV9TV19DSFRSSUdfQ0gzMSAgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDgwMDAwMDAwKSAgICAgICAgICAvKio8IFdyaXRlIDEsIHRyaWdnZXJzIERNQV9DSEFOTkVMMzEgKi8NCi8qIERNQV9DSE5fU1JDQ0ZHW0RNQV9TUkNdIEJpdHMgKi8NCiNkZWZpbmUgRE1BX0NITl9TUkNDRkdfRE1BX1NSQ19PRlMgICAgICAgICAgICAgICAoIDApICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgRE1BX1NSQyBCaXQgT2Zmc2V0ICovDQojZGVmaW5lIERNQV9DSE5fU1JDQ0ZHX0RNQV9TUkNfTUFTSyAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwMEZGKSAgICAgICAgICAvKio8IERNQV9TUkMgQml0IE1hc2sgKi8NCi8qIERNQV9JTlQxX1NSQ0NGR1tJTlRfU1JDXSBCaXRzICovDQojZGVmaW5lIERNQV9JTlQxX1NSQ0NGR19JTlRfU1JDX09GUyAgICAgICAgICAgICAgKCAwKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKio8IElOVF9TUkMgQml0IE9mZnNldCAqLw0KI2RlZmluZSBETUFfSU5UMV9TUkNDRkdfSU5UX1NSQ19NQVNLICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMDAxRikgICAgICAgICAgLyoqPCBJTlRfU1JDIEJpdCBNYXNrICovDQovKiBETUFfSU5UMV9TUkNDRkdbRU5dIEJpdHMgKi8NCiNkZWZpbmUgRE1BX0lOVDFfU1JDQ0ZHX0VOX09GUyAgICAgICAgICAgICAgICAgICAoIDUpICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgRU4gQml0IE9mZnNldCAqLw0KI2RlZmluZSBETUFfSU5UMV9TUkNDRkdfRU4gICAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMDAyMCkgICAgICAgICAgLyoqPCBFbmFibGVzIERNQV9JTlQxIG1hcHBpbmcgKi8NCi8qIERNQV9JTlQyX1NSQ0NGR1tJTlRfU1JDXSBCaXRzICovDQojZGVmaW5lIERNQV9JTlQyX1NSQ0NGR19JTlRfU1JDX09GUyAgICAgICAgICAgICAgKCAwKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKio8IElOVF9TUkMgQml0IE9mZnNldCAqLw0KI2RlZmluZSBETUFfSU5UMl9TUkNDRkdfSU5UX1NSQ19NQVNLICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMDAxRikgICAgICAgICAgLyoqPCBJTlRfU1JDIEJpdCBNYXNrICovDQovKiBETUFfSU5UMl9TUkNDRkdbRU5dIEJpdHMgKi8NCiNkZWZpbmUgRE1BX0lOVDJfU1JDQ0ZHX0VOX09GUyAgICAgICAgICAgICAgICAgICAoIDUpICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgRU4gQml0IE9mZnNldCAqLw0KI2RlZmluZSBETUFfSU5UMl9TUkNDRkdfRU4gICAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMDAyMCkgICAgICAgICAgLyoqPCBFbmFibGVzIERNQV9JTlQyIG1hcHBpbmcgKi8NCi8qIERNQV9JTlQzX1NSQ0NGR1tJTlRfU1JDXSBCaXRzICovDQojZGVmaW5lIERNQV9JTlQzX1NSQ0NGR19JTlRfU1JDX09GUyAgICAgICAgICAgICAgKCAwKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKio8IElOVF9TUkMgQml0IE9mZnNldCAqLw0KI2RlZmluZSBETUFfSU5UM19TUkNDRkdfSU5UX1NSQ19NQVNLICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMDAxRikgICAgICAgICAgLyoqPCBJTlRfU1JDIEJpdCBNYXNrICovDQovKiBETUFfSU5UM19TUkNDRkdbRU5dIEJpdHMgKi8NCiNkZWZpbmUgRE1BX0lOVDNfU1JDQ0ZHX0VOX09GUyAgICAgICAgICAgICAgICAgICAoIDUpICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgRU4gQml0IE9mZnNldCAqLw0KI2RlZmluZSBETUFfSU5UM19TUkNDRkdfRU4gICAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMDAyMCkgICAgICAgICAgLyoqPCBFbmFibGVzIERNQV9JTlQzIG1hcHBpbmcgKi8NCi8qIERNQV9JTlQwX1NSQ0ZMR1tDSDBdIEJpdHMgKi8NCiNkZWZpbmUgRE1BX0lOVDBfU1JDRkxHX0NIMF9PRlMgICAgICAgICAgICAgICAgICAoIDApICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgQ0gwIEJpdCBPZmZzZXQgKi8NCiNkZWZpbmUgRE1BX0lOVDBfU1JDRkxHX0NIMCAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDAwMDEpICAgICAgICAgIC8qKjwgQ2hhbm5lbCAwIHdhcyB0aGUgc291cmNlIG9mIERNQV9JTlQwICovDQovKiBETUFfSU5UMF9TUkNGTEdbQ0gxXSBCaXRzICovDQojZGVmaW5lIERNQV9JTlQwX1NSQ0ZMR19DSDFfT0ZTICAgICAgICAgICAgICAgICAgKCAxKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKio8IENIMSBCaXQgT2Zmc2V0ICovDQojZGVmaW5lIERNQV9JTlQwX1NSQ0ZMR19DSDEgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwMDAyKSAgICAgICAgICAvKio8IENoYW5uZWwgMSB3YXMgdGhlIHNvdXJjZSBvZiBETUFfSU5UMCAqLw0KLyogRE1BX0lOVDBfU1JDRkxHW0NIMl0gQml0cyAqLw0KI2RlZmluZSBETUFfSU5UMF9TUkNGTEdfQ0gyX09GUyAgICAgICAgICAgICAgICAgICggMikgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyoqPCBDSDIgQml0IE9mZnNldCAqLw0KI2RlZmluZSBETUFfSU5UMF9TUkNGTEdfQ0gyICAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMDAwNCkgICAgICAgICAgLyoqPCBDaGFubmVsIDIgd2FzIHRoZSBzb3VyY2Ugb2YgRE1BX0lOVDAgKi8NCi8qIERNQV9JTlQwX1NSQ0ZMR1tDSDNdIEJpdHMgKi8NCiNkZWZpbmUgRE1BX0lOVDBfU1JDRkxHX0NIM19PRlMgICAgICAgICAgICAgICAgICAoIDMpICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgQ0gzIEJpdCBPZmZzZXQgKi8NCiNkZWZpbmUgRE1BX0lOVDBfU1JDRkxHX0NIMyAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDAwMDgpICAgICAgICAgIC8qKjwgQ2hhbm5lbCAzIHdhcyB0aGUgc291cmNlIG9mIERNQV9JTlQwICovDQovKiBETUFfSU5UMF9TUkNGTEdbQ0g0XSBCaXRzICovDQojZGVmaW5lIERNQV9JTlQwX1NSQ0ZMR19DSDRfT0ZTICAgICAgICAgICAgICAgICAgKCA0KSAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKio8IENINCBCaXQgT2Zmc2V0ICovDQojZGVmaW5lIERNQV9JTlQwX1NSQ0ZMR19DSDQgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwMDEwKSAgICAgICAgICAvKio8IENoYW5uZWwgNCB3YXMgdGhlIHNvdXJjZSBvZiBETUFfSU5UMCAqLw0KLyogRE1BX0lOVDBfU1JDRkxHW0NINV0gQml0cyAqLw0KI2RlZmluZSBETUFfSU5UMF9TUkNGTEdfQ0g1X09GUyAgICAgICAgICAgICAgICAgICggNSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyoqPCBDSDUgQml0IE9mZnNldCAqLw0KI2RlZmluZSBETUFfSU5UMF9TUkNGTEdfQ0g1ICAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMDAyMCkgICAgICAgICAgLyoqPCBDaGFubmVsIDUgd2FzIHRoZSBzb3VyY2Ugb2YgRE1BX0lOVDAgKi8NCi8qIERNQV9JTlQwX1NSQ0ZMR1tDSDZdIEJpdHMgKi8NCiNkZWZpbmUgRE1BX0lOVDBfU1JDRkxHX0NINl9PRlMgICAgICAgICAgICAgICAgICAoIDYpICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgQ0g2IEJpdCBPZmZzZXQgKi8NCiNkZWZpbmUgRE1BX0lOVDBfU1JDRkxHX0NINiAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDAwNDApICAgICAgICAgIC8qKjwgQ2hhbm5lbCA2IHdhcyB0aGUgc291cmNlIG9mIERNQV9JTlQwICovDQovKiBETUFfSU5UMF9TUkNGTEdbQ0g3XSBCaXRzICovDQojZGVmaW5lIERNQV9JTlQwX1NSQ0ZMR19DSDdfT0ZTICAgICAgICAgICAgICAgICAgKCA3KSAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKio8IENINyBCaXQgT2Zmc2V0ICovDQojZGVmaW5lIERNQV9JTlQwX1NSQ0ZMR19DSDcgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwMDgwKSAgICAgICAgICAvKio8IENoYW5uZWwgNyB3YXMgdGhlIHNvdXJjZSBvZiBETUFfSU5UMCAqLw0KLyogRE1BX0lOVDBfU1JDRkxHW0NIOF0gQml0cyAqLw0KI2RlZmluZSBETUFfSU5UMF9TUkNGTEdfQ0g4X09GUyAgICAgICAgICAgICAgICAgICggOCkgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyoqPCBDSDggQml0IE9mZnNldCAqLw0KI2RlZmluZSBETUFfSU5UMF9TUkNGTEdfQ0g4ICAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMDEwMCkgICAgICAgICAgLyoqPCBDaGFubmVsIDggd2FzIHRoZSBzb3VyY2Ugb2YgRE1BX0lOVDAgKi8NCi8qIERNQV9JTlQwX1NSQ0ZMR1tDSDldIEJpdHMgKi8NCiNkZWZpbmUgRE1BX0lOVDBfU1JDRkxHX0NIOV9PRlMgICAgICAgICAgICAgICAgICAoIDkpICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgQ0g5IEJpdCBPZmZzZXQgKi8NCiNkZWZpbmUgRE1BX0lOVDBfU1JDRkxHX0NIOSAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDAyMDApICAgICAgICAgIC8qKjwgQ2hhbm5lbCA5IHdhcyB0aGUgc291cmNlIG9mIERNQV9JTlQwICovDQovKiBETUFfSU5UMF9TUkNGTEdbQ0gxMF0gQml0cyAqLw0KI2RlZmluZSBETUFfSU5UMF9TUkNGTEdfQ0gxMF9PRlMgICAgICAgICAgICAgICAgICgxMCkgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyoqPCBDSDEwIEJpdCBPZmZzZXQgKi8NCiNkZWZpbmUgRE1BX0lOVDBfU1JDRkxHX0NIMTAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDA0MDApICAgICAgICAgIC8qKjwgQ2hhbm5lbCAxMCB3YXMgdGhlIHNvdXJjZSBvZiBETUFfSU5UMCAqLw0KLyogRE1BX0lOVDBfU1JDRkxHW0NIMTFdIEJpdHMgKi8NCiNkZWZpbmUgRE1BX0lOVDBfU1JDRkxHX0NIMTFfT0ZTICAgICAgICAgICAgICAgICAoMTEpICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgQ0gxMSBCaXQgT2Zmc2V0ICovDQojZGVmaW5lIERNQV9JTlQwX1NSQ0ZMR19DSDExICAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwODAwKSAgICAgICAgICAvKio8IENoYW5uZWwgMTEgd2FzIHRoZSBzb3VyY2Ugb2YgRE1BX0lOVDAgKi8NCi8qIERNQV9JTlQwX1NSQ0ZMR1tDSDEyXSBCaXRzICovDQojZGVmaW5lIERNQV9JTlQwX1NSQ0ZMR19DSDEyX09GUyAgICAgICAgICAgICAgICAgKDEyKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKio8IENIMTIgQml0IE9mZnNldCAqLw0KI2RlZmluZSBETUFfSU5UMF9TUkNGTEdfQ0gxMiAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMTAwMCkgICAgICAgICAgLyoqPCBDaGFubmVsIDEyIHdhcyB0aGUgc291cmNlIG9mIERNQV9JTlQwICovDQovKiBETUFfSU5UMF9TUkNGTEdbQ0gxM10gQml0cyAqLw0KI2RlZmluZSBETUFfSU5UMF9TUkNGTEdfQ0gxM19PRlMgICAgICAgICAgICAgICAgICgxMykgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyoqPCBDSDEzIEJpdCBPZmZzZXQgKi8NCiNkZWZpbmUgRE1BX0lOVDBfU1JDRkxHX0NIMTMgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDIwMDApICAgICAgICAgIC8qKjwgQ2hhbm5lbCAxMyB3YXMgdGhlIHNvdXJjZSBvZiBETUFfSU5UMCAqLw0KLyogRE1BX0lOVDBfU1JDRkxHW0NIMTRdIEJpdHMgKi8NCiNkZWZpbmUgRE1BX0lOVDBfU1JDRkxHX0NIMTRfT0ZTICAgICAgICAgICAgICAgICAoMTQpICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgQ0gxNCBCaXQgT2Zmc2V0ICovDQojZGVmaW5lIERNQV9JTlQwX1NSQ0ZMR19DSDE0ICAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDA0MDAwKSAgICAgICAgICAvKio8IENoYW5uZWwgMTQgd2FzIHRoZSBzb3VyY2Ugb2YgRE1BX0lOVDAgKi8NCi8qIERNQV9JTlQwX1NSQ0ZMR1tDSDE1XSBCaXRzICovDQojZGVmaW5lIERNQV9JTlQwX1NSQ0ZMR19DSDE1X09GUyAgICAgICAgICAgICAgICAgKDE1KSAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKio8IENIMTUgQml0IE9mZnNldCAqLw0KI2RlZmluZSBETUFfSU5UMF9TUkNGTEdfQ0gxNSAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwODAwMCkgICAgICAgICAgLyoqPCBDaGFubmVsIDE1IHdhcyB0aGUgc291cmNlIG9mIERNQV9JTlQwICovDQovKiBETUFfSU5UMF9TUkNGTEdbQ0gxNl0gQml0cyAqLw0KI2RlZmluZSBETUFfSU5UMF9TUkNGTEdfQ0gxNl9PRlMgICAgICAgICAgICAgICAgICgxNikgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyoqPCBDSDE2IEJpdCBPZmZzZXQgKi8NCiNkZWZpbmUgRE1BX0lOVDBfU1JDRkxHX0NIMTYgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMTAwMDApICAgICAgICAgIC8qKjwgQ2hhbm5lbCAxNiB3YXMgdGhlIHNvdXJjZSBvZiBETUFfSU5UMCAqLw0KLyogRE1BX0lOVDBfU1JDRkxHW0NIMTddIEJpdHMgKi8NCiNkZWZpbmUgRE1BX0lOVDBfU1JDRkxHX0NIMTdfT0ZTICAgICAgICAgICAgICAgICAoMTcpICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgQ0gxNyBCaXQgT2Zmc2V0ICovDQojZGVmaW5lIERNQV9JTlQwX1NSQ0ZMR19DSDE3ICAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDIwMDAwKSAgICAgICAgICAvKio8IENoYW5uZWwgMTcgd2FzIHRoZSBzb3VyY2Ugb2YgRE1BX0lOVDAgKi8NCi8qIERNQV9JTlQwX1NSQ0ZMR1tDSDE4XSBCaXRzICovDQojZGVmaW5lIERNQV9JTlQwX1NSQ0ZMR19DSDE4X09GUyAgICAgICAgICAgICAgICAgKDE4KSAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKio8IENIMTggQml0IE9mZnNldCAqLw0KI2RlZmluZSBETUFfSU5UMF9TUkNGTEdfQ0gxOCAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDA0MDAwMCkgICAgICAgICAgLyoqPCBDaGFubmVsIDE4IHdhcyB0aGUgc291cmNlIG9mIERNQV9JTlQwICovDQovKiBETUFfSU5UMF9TUkNGTEdbQ0gxOV0gQml0cyAqLw0KI2RlZmluZSBETUFfSU5UMF9TUkNGTEdfQ0gxOV9PRlMgICAgICAgICAgICAgICAgICgxOSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyoqPCBDSDE5IEJpdCBPZmZzZXQgKi8NCiNkZWZpbmUgRE1BX0lOVDBfU1JDRkxHX0NIMTkgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwODAwMDApICAgICAgICAgIC8qKjwgQ2hhbm5lbCAxOSB3YXMgdGhlIHNvdXJjZSBvZiBETUFfSU5UMCAqLw0KLyogRE1BX0lOVDBfU1JDRkxHW0NIMjBdIEJpdHMgKi8NCiNkZWZpbmUgRE1BX0lOVDBfU1JDRkxHX0NIMjBfT0ZTICAgICAgICAgICAgICAgICAoMjApICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgQ0gyMCBCaXQgT2Zmc2V0ICovDQojZGVmaW5lIERNQV9JTlQwX1NSQ0ZMR19DSDIwICAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMTAwMDAwKSAgICAgICAgICAvKio8IENoYW5uZWwgMjAgd2FzIHRoZSBzb3VyY2Ugb2YgRE1BX0lOVDAgKi8NCi8qIERNQV9JTlQwX1NSQ0ZMR1tDSDIxXSBCaXRzICovDQojZGVmaW5lIERNQV9JTlQwX1NSQ0ZMR19DSDIxX09GUyAgICAgICAgICAgICAgICAgKDIxKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKio8IENIMjEgQml0IE9mZnNldCAqLw0KI2RlZmluZSBETUFfSU5UMF9TUkNGTEdfQ0gyMSAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDIwMDAwMCkgICAgICAgICAgLyoqPCBDaGFubmVsIDIxIHdhcyB0aGUgc291cmNlIG9mIERNQV9JTlQwICovDQovKiBETUFfSU5UMF9TUkNGTEdbQ0gyMl0gQml0cyAqLw0KI2RlZmluZSBETUFfSU5UMF9TUkNGTEdfQ0gyMl9PRlMgICAgICAgICAgICAgICAgICgyMikgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyoqPCBDSDIyIEJpdCBPZmZzZXQgKi8NCiNkZWZpbmUgRE1BX0lOVDBfU1JDRkxHX0NIMjIgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDA0MDAwMDApICAgICAgICAgIC8qKjwgQ2hhbm5lbCAyMiB3YXMgdGhlIHNvdXJjZSBvZiBETUFfSU5UMCAqLw0KLyogRE1BX0lOVDBfU1JDRkxHW0NIMjNdIEJpdHMgKi8NCiNkZWZpbmUgRE1BX0lOVDBfU1JDRkxHX0NIMjNfT0ZTICAgICAgICAgICAgICAgICAoMjMpICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgQ0gyMyBCaXQgT2Zmc2V0ICovDQojZGVmaW5lIERNQV9JTlQwX1NSQ0ZMR19DSDIzICAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwODAwMDAwKSAgICAgICAgICAvKio8IENoYW5uZWwgMjMgd2FzIHRoZSBzb3VyY2Ugb2YgRE1BX0lOVDAgKi8NCi8qIERNQV9JTlQwX1NSQ0ZMR1tDSDI0XSBCaXRzICovDQojZGVmaW5lIERNQV9JTlQwX1NSQ0ZMR19DSDI0X09GUyAgICAgICAgICAgICAgICAgKDI0KSAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKio8IENIMjQgQml0IE9mZnNldCAqLw0KI2RlZmluZSBETUFfSU5UMF9TUkNGTEdfQ0gyNCAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMTAwMDAwMCkgICAgICAgICAgLyoqPCBDaGFubmVsIDI0IHdhcyB0aGUgc291cmNlIG9mIERNQV9JTlQwICovDQovKiBETUFfSU5UMF9TUkNGTEdbQ0gyNV0gQml0cyAqLw0KI2RlZmluZSBETUFfSU5UMF9TUkNGTEdfQ0gyNV9PRlMgICAgICAgICAgICAgICAgICgyNSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyoqPCBDSDI1IEJpdCBPZmZzZXQgKi8NCiNkZWZpbmUgRE1BX0lOVDBfU1JDRkxHX0NIMjUgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDIwMDAwMDApICAgICAgICAgIC8qKjwgQ2hhbm5lbCAyNSB3YXMgdGhlIHNvdXJjZSBvZiBETUFfSU5UMCAqLw0KLyogRE1BX0lOVDBfU1JDRkxHW0NIMjZdIEJpdHMgKi8NCiNkZWZpbmUgRE1BX0lOVDBfU1JDRkxHX0NIMjZfT0ZTICAgICAgICAgICAgICAgICAoMjYpICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgQ0gyNiBCaXQgT2Zmc2V0ICovDQojZGVmaW5lIERNQV9JTlQwX1NSQ0ZMR19DSDI2ICAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDA0MDAwMDAwKSAgICAgICAgICAvKio8IENoYW5uZWwgMjYgd2FzIHRoZSBzb3VyY2Ugb2YgRE1BX0lOVDAgKi8NCi8qIERNQV9JTlQwX1NSQ0ZMR1tDSDI3XSBCaXRzICovDQojZGVmaW5lIERNQV9JTlQwX1NSQ0ZMR19DSDI3X09GUyAgICAgICAgICAgICAgICAgKDI3KSAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKio8IENIMjcgQml0IE9mZnNldCAqLw0KI2RlZmluZSBETUFfSU5UMF9TUkNGTEdfQ0gyNyAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwODAwMDAwMCkgICAgICAgICAgLyoqPCBDaGFubmVsIDI3IHdhcyB0aGUgc291cmNlIG9mIERNQV9JTlQwICovDQovKiBETUFfSU5UMF9TUkNGTEdbQ0gyOF0gQml0cyAqLw0KI2RlZmluZSBETUFfSU5UMF9TUkNGTEdfQ0gyOF9PRlMgICAgICAgICAgICAgICAgICgyOCkgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyoqPCBDSDI4IEJpdCBPZmZzZXQgKi8NCiNkZWZpbmUgRE1BX0lOVDBfU1JDRkxHX0NIMjggICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MTAwMDAwMDApICAgICAgICAgIC8qKjwgQ2hhbm5lbCAyOCB3YXMgdGhlIHNvdXJjZSBvZiBETUFfSU5UMCAqLw0KLyogRE1BX0lOVDBfU1JDRkxHW0NIMjldIEJpdHMgKi8NCiNkZWZpbmUgRE1BX0lOVDBfU1JDRkxHX0NIMjlfT0ZTICAgICAgICAgICAgICAgICAoMjkpICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgQ0gyOSBCaXQgT2Zmc2V0ICovDQojZGVmaW5lIERNQV9JTlQwX1NSQ0ZMR19DSDI5ICAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDIwMDAwMDAwKSAgICAgICAgICAvKio8IENoYW5uZWwgMjkgd2FzIHRoZSBzb3VyY2Ugb2YgRE1BX0lOVDAgKi8NCi8qIERNQV9JTlQwX1NSQ0ZMR1tDSDMwXSBCaXRzICovDQojZGVmaW5lIERNQV9JTlQwX1NSQ0ZMR19DSDMwX09GUyAgICAgICAgICAgICAgICAgKDMwKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKio8IENIMzAgQml0IE9mZnNldCAqLw0KI2RlZmluZSBETUFfSU5UMF9TUkNGTEdfQ0gzMCAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHg0MDAwMDAwMCkgICAgICAgICAgLyoqPCBDaGFubmVsIDMwIHdhcyB0aGUgc291cmNlIG9mIERNQV9JTlQwICovDQovKiBETUFfSU5UMF9TUkNGTEdbQ0gzMV0gQml0cyAqLw0KI2RlZmluZSBETUFfSU5UMF9TUkNGTEdfQ0gzMV9PRlMgICAgICAgICAgICAgICAgICgzMSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyoqPCBDSDMxIEJpdCBPZmZzZXQgKi8NCiNkZWZpbmUgRE1BX0lOVDBfU1JDRkxHX0NIMzEgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4ODAwMDAwMDApICAgICAgICAgIC8qKjwgQ2hhbm5lbCAzMSB3YXMgdGhlIHNvdXJjZSBvZiBETUFfSU5UMCAqLw0KLyogRE1BX0lOVDBfQ0xSRkxHW0NIMF0gQml0cyAqLw0KI2RlZmluZSBETUFfSU5UMF9DTFJGTEdfQ0gwX09GUyAgICAgICAgICAgICAgICAgICggMCkgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyoqPCBDSDAgQml0IE9mZnNldCAqLw0KI2RlZmluZSBETUFfSU5UMF9DTFJGTEdfQ0gwICAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMDAwMSkgICAgICAgICAgLyoqPCBDbGVhciBjb3JyZXNwb25kaW5nIERNQV9JTlQwX1NSQ0ZMR19SRUcgKi8NCi8qIERNQV9JTlQwX0NMUkZMR1tDSDFdIEJpdHMgKi8NCiNkZWZpbmUgRE1BX0lOVDBfQ0xSRkxHX0NIMV9PRlMgICAgICAgICAgICAgICAgICAoIDEpICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgQ0gxIEJpdCBPZmZzZXQgKi8NCiNkZWZpbmUgRE1BX0lOVDBfQ0xSRkxHX0NIMSAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDAwMDIpICAgICAgICAgIC8qKjwgQ2xlYXIgY29ycmVzcG9uZGluZyBETUFfSU5UMF9TUkNGTEdfUkVHICovDQovKiBETUFfSU5UMF9DTFJGTEdbQ0gyXSBCaXRzICovDQojZGVmaW5lIERNQV9JTlQwX0NMUkZMR19DSDJfT0ZTICAgICAgICAgICAgICAgICAgKCAyKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKio8IENIMiBCaXQgT2Zmc2V0ICovDQojZGVmaW5lIERNQV9JTlQwX0NMUkZMR19DSDIgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwMDA0KSAgICAgICAgICAvKio8IENsZWFyIGNvcnJlc3BvbmRpbmcgRE1BX0lOVDBfU1JDRkxHX1JFRyAqLw0KLyogRE1BX0lOVDBfQ0xSRkxHW0NIM10gQml0cyAqLw0KI2RlZmluZSBETUFfSU5UMF9DTFJGTEdfQ0gzX09GUyAgICAgICAgICAgICAgICAgICggMykgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyoqPCBDSDMgQml0IE9mZnNldCAqLw0KI2RlZmluZSBETUFfSU5UMF9DTFJGTEdfQ0gzICAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMDAwOCkgICAgICAgICAgLyoqPCBDbGVhciBjb3JyZXNwb25kaW5nIERNQV9JTlQwX1NSQ0ZMR19SRUcgKi8NCi8qIERNQV9JTlQwX0NMUkZMR1tDSDRdIEJpdHMgKi8NCiNkZWZpbmUgRE1BX0lOVDBfQ0xSRkxHX0NINF9PRlMgICAgICAgICAgICAgICAgICAoIDQpICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgQ0g0IEJpdCBPZmZzZXQgKi8NCiNkZWZpbmUgRE1BX0lOVDBfQ0xSRkxHX0NINCAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDAwMTApICAgICAgICAgIC8qKjwgQ2xlYXIgY29ycmVzcG9uZGluZyBETUFfSU5UMF9TUkNGTEdfUkVHICovDQovKiBETUFfSU5UMF9DTFJGTEdbQ0g1XSBCaXRzICovDQojZGVmaW5lIERNQV9JTlQwX0NMUkZMR19DSDVfT0ZTICAgICAgICAgICAgICAgICAgKCA1KSAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKio8IENINSBCaXQgT2Zmc2V0ICovDQojZGVmaW5lIERNQV9JTlQwX0NMUkZMR19DSDUgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwMDIwKSAgICAgICAgICAvKio8IENsZWFyIGNvcnJlc3BvbmRpbmcgRE1BX0lOVDBfU1JDRkxHX1JFRyAqLw0KLyogRE1BX0lOVDBfQ0xSRkxHW0NINl0gQml0cyAqLw0KI2RlZmluZSBETUFfSU5UMF9DTFJGTEdfQ0g2X09GUyAgICAgICAgICAgICAgICAgICggNikgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyoqPCBDSDYgQml0IE9mZnNldCAqLw0KI2RlZmluZSBETUFfSU5UMF9DTFJGTEdfQ0g2ICAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMDA0MCkgICAgICAgICAgLyoqPCBDbGVhciBjb3JyZXNwb25kaW5nIERNQV9JTlQwX1NSQ0ZMR19SRUcgKi8NCi8qIERNQV9JTlQwX0NMUkZMR1tDSDddIEJpdHMgKi8NCiNkZWZpbmUgRE1BX0lOVDBfQ0xSRkxHX0NIN19PRlMgICAgICAgICAgICAgICAgICAoIDcpICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgQ0g3IEJpdCBPZmZzZXQgKi8NCiNkZWZpbmUgRE1BX0lOVDBfQ0xSRkxHX0NINyAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDAwODApICAgICAgICAgIC8qKjwgQ2xlYXIgY29ycmVzcG9uZGluZyBETUFfSU5UMF9TUkNGTEdfUkVHICovDQovKiBETUFfSU5UMF9DTFJGTEdbQ0g4XSBCaXRzICovDQojZGVmaW5lIERNQV9JTlQwX0NMUkZMR19DSDhfT0ZTICAgICAgICAgICAgICAgICAgKCA4KSAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKio8IENIOCBCaXQgT2Zmc2V0ICovDQojZGVmaW5lIERNQV9JTlQwX0NMUkZMR19DSDggICAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwMTAwKSAgICAgICAgICAvKio8IENsZWFyIGNvcnJlc3BvbmRpbmcgRE1BX0lOVDBfU1JDRkxHX1JFRyAqLw0KLyogRE1BX0lOVDBfQ0xSRkxHW0NIOV0gQml0cyAqLw0KI2RlZmluZSBETUFfSU5UMF9DTFJGTEdfQ0g5X09GUyAgICAgICAgICAgICAgICAgICggOSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyoqPCBDSDkgQml0IE9mZnNldCAqLw0KI2RlZmluZSBETUFfSU5UMF9DTFJGTEdfQ0g5ICAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMDIwMCkgICAgICAgICAgLyoqPCBDbGVhciBjb3JyZXNwb25kaW5nIERNQV9JTlQwX1NSQ0ZMR19SRUcgKi8NCi8qIERNQV9JTlQwX0NMUkZMR1tDSDEwXSBCaXRzICovDQojZGVmaW5lIERNQV9JTlQwX0NMUkZMR19DSDEwX09GUyAgICAgICAgICAgICAgICAgKDEwKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKio8IENIMTAgQml0IE9mZnNldCAqLw0KI2RlZmluZSBETUFfSU5UMF9DTFJGTEdfQ0gxMCAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMDQwMCkgICAgICAgICAgLyoqPCBDbGVhciBjb3JyZXNwb25kaW5nIERNQV9JTlQwX1NSQ0ZMR19SRUcgKi8NCi8qIERNQV9JTlQwX0NMUkZMR1tDSDExXSBCaXRzICovDQojZGVmaW5lIERNQV9JTlQwX0NMUkZMR19DSDExX09GUyAgICAgICAgICAgICAgICAgKDExKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKio8IENIMTEgQml0IE9mZnNldCAqLw0KI2RlZmluZSBETUFfSU5UMF9DTFJGTEdfQ0gxMSAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMDgwMCkgICAgICAgICAgLyoqPCBDbGVhciBjb3JyZXNwb25kaW5nIERNQV9JTlQwX1NSQ0ZMR19SRUcgKi8NCi8qIERNQV9JTlQwX0NMUkZMR1tDSDEyXSBCaXRzICovDQojZGVmaW5lIERNQV9JTlQwX0NMUkZMR19DSDEyX09GUyAgICAgICAgICAgICAgICAgKDEyKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKio8IENIMTIgQml0IE9mZnNldCAqLw0KI2RlZmluZSBETUFfSU5UMF9DTFJGTEdfQ0gxMiAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMTAwMCkgICAgICAgICAgLyoqPCBDbGVhciBjb3JyZXNwb25kaW5nIERNQV9JTlQwX1NSQ0ZMR19SRUcgKi8NCi8qIERNQV9JTlQwX0NMUkZMR1tDSDEzXSBCaXRzICovDQojZGVmaW5lIERNQV9JTlQwX0NMUkZMR19DSDEzX09GUyAgICAgICAgICAgICAgICAgKDEzKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKio8IENIMTMgQml0IE9mZnNldCAqLw0KI2RlZmluZSBETUFfSU5UMF9DTFJGTEdfQ0gxMyAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMjAwMCkgICAgICAgICAgLyoqPCBDbGVhciBjb3JyZXNwb25kaW5nIERNQV9JTlQwX1NSQ0ZMR19SRUcgKi8NCi8qIERNQV9JTlQwX0NMUkZMR1tDSDE0XSBCaXRzICovDQojZGVmaW5lIERNQV9JTlQwX0NMUkZMR19DSDE0X09GUyAgICAgICAgICAgICAgICAgKDE0KSAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKio8IENIMTQgQml0IE9mZnNldCAqLw0KI2RlZmluZSBETUFfSU5UMF9DTFJGTEdfQ0gxNCAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwNDAwMCkgICAgICAgICAgLyoqPCBDbGVhciBjb3JyZXNwb25kaW5nIERNQV9JTlQwX1NSQ0ZMR19SRUcgKi8NCi8qIERNQV9JTlQwX0NMUkZMR1tDSDE1XSBCaXRzICovDQojZGVmaW5lIERNQV9JTlQwX0NMUkZMR19DSDE1X09GUyAgICAgICAgICAgICAgICAgKDE1KSAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKio8IENIMTUgQml0IE9mZnNldCAqLw0KI2RlZmluZSBETUFfSU5UMF9DTFJGTEdfQ0gxNSAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwODAwMCkgICAgICAgICAgLyoqPCBDbGVhciBjb3JyZXNwb25kaW5nIERNQV9JTlQwX1NSQ0ZMR19SRUcgKi8NCi8qIERNQV9JTlQwX0NMUkZMR1tDSDE2XSBCaXRzICovDQojZGVmaW5lIERNQV9JTlQwX0NMUkZMR19DSDE2X09GUyAgICAgICAgICAgICAgICAgKDE2KSAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKio8IENIMTYgQml0IE9mZnNldCAqLw0KI2RlZmluZSBETUFfSU5UMF9DTFJGTEdfQ0gxNiAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAxMDAwMCkgICAgICAgICAgLyoqPCBDbGVhciBjb3JyZXNwb25kaW5nIERNQV9JTlQwX1NSQ0ZMR19SRUcgKi8NCi8qIERNQV9JTlQwX0NMUkZMR1tDSDE3XSBCaXRzICovDQojZGVmaW5lIERNQV9JTlQwX0NMUkZMR19DSDE3X09GUyAgICAgICAgICAgICAgICAgKDE3KSAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKio8IENIMTcgQml0IE9mZnNldCAqLw0KI2RlZmluZSBETUFfSU5UMF9DTFJGTEdfQ0gxNyAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAyMDAwMCkgICAgICAgICAgLyoqPCBDbGVhciBjb3JyZXNwb25kaW5nIERNQV9JTlQwX1NSQ0ZMR19SRUcgKi8NCi8qIERNQV9JTlQwX0NMUkZMR1tDSDE4XSBCaXRzICovDQojZGVmaW5lIERNQV9JTlQwX0NMUkZMR19DSDE4X09GUyAgICAgICAgICAgICAgICAgKDE4KSAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKio8IENIMTggQml0IE9mZnNldCAqLw0KI2RlZmluZSBETUFfSU5UMF9DTFJGTEdfQ0gxOCAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDA0MDAwMCkgICAgICAgICAgLyoqPCBDbGVhciBjb3JyZXNwb25kaW5nIERNQV9JTlQwX1NSQ0ZMR19SRUcgKi8NCi8qIERNQV9JTlQwX0NMUkZMR1tDSDE5XSBCaXRzICovDQojZGVmaW5lIERNQV9JTlQwX0NMUkZMR19DSDE5X09GUyAgICAgICAgICAgICAgICAgKDE5KSAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKio8IENIMTkgQml0IE9mZnNldCAqLw0KI2RlZmluZSBETUFfSU5UMF9DTFJGTEdfQ0gxOSAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDA4MDAwMCkgICAgICAgICAgLyoqPCBDbGVhciBjb3JyZXNwb25kaW5nIERNQV9JTlQwX1NSQ0ZMR19SRUcgKi8NCi8qIERNQV9JTlQwX0NMUkZMR1tDSDIwXSBCaXRzICovDQojZGVmaW5lIERNQV9JTlQwX0NMUkZMR19DSDIwX09GUyAgICAgICAgICAgICAgICAgKDIwKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKio8IENIMjAgQml0IE9mZnNldCAqLw0KI2RlZmluZSBETUFfSU5UMF9DTFJGTEdfQ0gyMCAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDEwMDAwMCkgICAgICAgICAgLyoqPCBDbGVhciBjb3JyZXNwb25kaW5nIERNQV9JTlQwX1NSQ0ZMR19SRUcgKi8NCi8qIERNQV9JTlQwX0NMUkZMR1tDSDIxXSBCaXRzICovDQojZGVmaW5lIERNQV9JTlQwX0NMUkZMR19DSDIxX09GUyAgICAgICAgICAgICAgICAgKDIxKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKio8IENIMjEgQml0IE9mZnNldCAqLw0KI2RlZmluZSBETUFfSU5UMF9DTFJGTEdfQ0gyMSAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDIwMDAwMCkgICAgICAgICAgLyoqPCBDbGVhciBjb3JyZXNwb25kaW5nIERNQV9JTlQwX1NSQ0ZMR19SRUcgKi8NCi8qIERNQV9JTlQwX0NMUkZMR1tDSDIyXSBCaXRzICovDQojZGVmaW5lIERNQV9JTlQwX0NMUkZMR19DSDIyX09GUyAgICAgICAgICAgICAgICAgKDIyKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKio8IENIMjIgQml0IE9mZnNldCAqLw0KI2RlZmluZSBETUFfSU5UMF9DTFJGTEdfQ0gyMiAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDQwMDAwMCkgICAgICAgICAgLyoqPCBDbGVhciBjb3JyZXNwb25kaW5nIERNQV9JTlQwX1NSQ0ZMR19SRUcgKi8NCi8qIERNQV9JTlQwX0NMUkZMR1tDSDIzXSBCaXRzICovDQojZGVmaW5lIERNQV9JTlQwX0NMUkZMR19DSDIzX09GUyAgICAgICAgICAgICAgICAgKDIzKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKio8IENIMjMgQml0IE9mZnNldCAqLw0KI2RlZmluZSBETUFfSU5UMF9DTFJGTEdfQ0gyMyAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDgwMDAwMCkgICAgICAgICAgLyoqPCBDbGVhciBjb3JyZXNwb25kaW5nIERNQV9JTlQwX1NSQ0ZMR19SRUcgKi8NCi8qIERNQV9JTlQwX0NMUkZMR1tDSDI0XSBCaXRzICovDQojZGVmaW5lIERNQV9JTlQwX0NMUkZMR19DSDI0X09GUyAgICAgICAgICAgICAgICAgKDI0KSAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKio8IENIMjQgQml0IE9mZnNldCAqLw0KI2RlZmluZSBETUFfSU5UMF9DTFJGTEdfQ0gyNCAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMTAwMDAwMCkgICAgICAgICAgLyoqPCBDbGVhciBjb3JyZXNwb25kaW5nIERNQV9JTlQwX1NSQ0ZMR19SRUcgKi8NCi8qIERNQV9JTlQwX0NMUkZMR1tDSDI1XSBCaXRzICovDQojZGVmaW5lIERNQV9JTlQwX0NMUkZMR19DSDI1X09GUyAgICAgICAgICAgICAgICAgKDI1KSAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKio8IENIMjUgQml0IE9mZnNldCAqLw0KI2RlZmluZSBETUFfSU5UMF9DTFJGTEdfQ0gyNSAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMjAwMDAwMCkgICAgICAgICAgLyoqPCBDbGVhciBjb3JyZXNwb25kaW5nIERNQV9JTlQwX1NSQ0ZMR19SRUcgKi8NCi8qIERNQV9JTlQwX0NMUkZMR1tDSDI2XSBCaXRzICovDQojZGVmaW5lIERNQV9JTlQwX0NMUkZMR19DSDI2X09GUyAgICAgICAgICAgICAgICAgKDI2KSAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKio8IENIMjYgQml0IE9mZnNldCAqLw0KI2RlZmluZSBETUFfSU5UMF9DTFJGTEdfQ0gyNiAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwNDAwMDAwMCkgICAgICAgICAgLyoqPCBDbGVhciBjb3JyZXNwb25kaW5nIERNQV9JTlQwX1NSQ0ZMR19SRUcgKi8NCi8qIERNQV9JTlQwX0NMUkZMR1tDSDI3XSBCaXRzICovDQojZGVmaW5lIERNQV9JTlQwX0NMUkZMR19DSDI3X09GUyAgICAgICAgICAgICAgICAgKDI3KSAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKio8IENIMjcgQml0IE9mZnNldCAqLw0KI2RlZmluZSBETUFfSU5UMF9DTFJGTEdfQ0gyNyAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwODAwMDAwMCkgICAgICAgICAgLyoqPCBDbGVhciBjb3JyZXNwb25kaW5nIERNQV9JTlQwX1NSQ0ZMR19SRUcgKi8NCi8qIERNQV9JTlQwX0NMUkZMR1tDSDI4XSBCaXRzICovDQojZGVmaW5lIERNQV9JTlQwX0NMUkZMR19DSDI4X09GUyAgICAgICAgICAgICAgICAgKDI4KSAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKio8IENIMjggQml0IE9mZnNldCAqLw0KI2RlZmluZSBETUFfSU5UMF9DTFJGTEdfQ0gyOCAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgxMDAwMDAwMCkgICAgICAgICAgLyoqPCBDbGVhciBjb3JyZXNwb25kaW5nIERNQV9JTlQwX1NSQ0ZMR19SRUcgKi8NCi8qIERNQV9JTlQwX0NMUkZMR1tDSDI5XSBCaXRzICovDQojZGVmaW5lIERNQV9JTlQwX0NMUkZMR19DSDI5X09GUyAgICAgICAgICAgICAgICAgKDI5KSAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKio8IENIMjkgQml0IE9mZnNldCAqLw0KI2RlZmluZSBETUFfSU5UMF9DTFJGTEdfQ0gyOSAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgyMDAwMDAwMCkgICAgICAgICAgLyoqPCBDbGVhciBjb3JyZXNwb25kaW5nIERNQV9JTlQwX1NSQ0ZMR19SRUcgKi8NCi8qIERNQV9JTlQwX0NMUkZMR1tDSDMwXSBCaXRzICovDQojZGVmaW5lIERNQV9JTlQwX0NMUkZMR19DSDMwX09GUyAgICAgICAgICAgICAgICAgKDMwKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKio8IENIMzAgQml0IE9mZnNldCAqLw0KI2RlZmluZSBETUFfSU5UMF9DTFJGTEdfQ0gzMCAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHg0MDAwMDAwMCkgICAgICAgICAgLyoqPCBDbGVhciBjb3JyZXNwb25kaW5nIERNQV9JTlQwX1NSQ0ZMR19SRUcgKi8NCi8qIERNQV9JTlQwX0NMUkZMR1tDSDMxXSBCaXRzICovDQojZGVmaW5lIERNQV9JTlQwX0NMUkZMR19DSDMxX09GUyAgICAgICAgICAgICAgICAgKDMxKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKio8IENIMzEgQml0IE9mZnNldCAqLw0KI2RlZmluZSBETUFfSU5UMF9DTFJGTEdfQ0gzMSAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHg4MDAwMDAwMCkgICAgICAgICAgLyoqPCBDbGVhciBjb3JyZXNwb25kaW5nIERNQV9JTlQwX1NSQ0ZMR19SRUcgKi8NCi8qIERNQV9TVEFUW01BU1RFTl0gQml0cyAqLw0KI2RlZmluZSBETUFfU1RBVF9NQVNURU5fT0ZTICAgICAgICAgICAgICAgICAgICAgICggMCkgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyoqPCBNQVNURU4gQml0IE9mZnNldCAqLw0KI2RlZmluZSBETUFfU1RBVF9NQVNURU4gICAgICAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMDAwMSkNCi8qIERNQV9TVEFUW1NUQVRFXSBCaXRzICovDQojZGVmaW5lIERNQV9TVEFUX1NUQVRFX09GUyAgICAgICAgICAgICAgICAgICAgICAgKCA0KSAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKio8IFNUQVRFIEJpdCBPZmZzZXQgKi8NCiNkZWZpbmUgRE1BX1NUQVRfU1RBVEVfTUFTSyAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDAwRjApICAgICAgICAgIC8qKjwgU1RBVEUgQml0IE1hc2sgKi8NCiNkZWZpbmUgRE1BX1NUQVRfU1RBVEUwICAgICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDAwMTApICAgICAgICAgIC8qKjwgU1RBVEUgQml0IDAgKi8NCiNkZWZpbmUgRE1BX1NUQVRfU1RBVEUxICAgICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDAwMjApICAgICAgICAgIC8qKjwgU1RBVEUgQml0IDEgKi8NCiNkZWZpbmUgRE1BX1NUQVRfU1RBVEUyICAgICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDAwNDApICAgICAgICAgIC8qKjwgU1RBVEUgQml0IDIgKi8NCiNkZWZpbmUgRE1BX1NUQVRfU1RBVEUzICAgICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDAwODApICAgICAgICAgIC8qKjwgU1RBVEUgQml0IDMgKi8NCiNkZWZpbmUgRE1BX1NUQVRfU1RBVEVfMCAgICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDAwMDApICAgICAgICAgIC8qKjwgaWRsZSAqLw0KI2RlZmluZSBETUFfU1RBVF9TVEFURV8xICAgICAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMDAxMCkgICAgICAgICAgLyoqPCByZWFkaW5nIGNoYW5uZWwgY29udHJvbGxlciBkYXRhICovDQojZGVmaW5lIERNQV9TVEFUX1NUQVRFXzIgICAgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwMDIwKSAgICAgICAgICAvKio8IHJlYWRpbmcgc291cmNlIGRhdGEgZW5kIHBvaW50ZXIgKi8NCiNkZWZpbmUgRE1BX1NUQVRfU1RBVEVfMyAgICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDAwMzApICAgICAgICAgIC8qKjwgcmVhZGluZyBkZXN0aW5hdGlvbiBkYXRhIGVuZCBwb2ludGVyICovDQojZGVmaW5lIERNQV9TVEFUX1NUQVRFXzQgICAgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwMDQwKSAgICAgICAgICAvKio8IHJlYWRpbmcgc291cmNlIGRhdGEgKi8NCiNkZWZpbmUgRE1BX1NUQVRfU1RBVEVfNSAgICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDAwNTApICAgICAgICAgIC8qKjwgd3JpdGluZyBkZXN0aW5hdGlvbiBkYXRhICovDQojZGVmaW5lIERNQV9TVEFUX1NUQVRFXzYgICAgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwMDYwKSAgICAgICAgICAvKio8IHdhaXRpbmcgZm9yIERNQSByZXF1ZXN0IHRvIGNsZWFyICovDQojZGVmaW5lIERNQV9TVEFUX1NUQVRFXzcgICAgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwMDcwKSAgICAgICAgICAvKio8IHdyaXRpbmcgY2hhbm5lbCBjb250cm9sbGVyIGRhdGEgKi8NCiNkZWZpbmUgRE1BX1NUQVRfU1RBVEVfOCAgICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDAwODApICAgICAgICAgIC8qKjwgc3RhbGxlZCAqLw0KI2RlZmluZSBETUFfU1RBVF9TVEFURV85ICAgICAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMDA5MCkgICAgICAgICAgLyoqPCBkb25lICovDQojZGVmaW5lIERNQV9TVEFUX1NUQVRFXzEwICAgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwMEEwKSAgICAgICAgICAvKio8IHBlcmlwaGVyYWwgc2NhdHRlci1nYXRoZXIgdHJhbnNpdGlvbiAqLw0KI2RlZmluZSBETUFfU1RBVF9TVEFURV8xMSAgICAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMDBCMCkgICAgICAgICAgLyoqPCBSZXNlcnZlZCAqLw0KI2RlZmluZSBETUFfU1RBVF9TVEFURV8xMiAgICAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMDBDMCkgICAgICAgICAgLyoqPCBSZXNlcnZlZCAqLw0KI2RlZmluZSBETUFfU1RBVF9TVEFURV8xMyAgICAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMDBEMCkgICAgICAgICAgLyoqPCBSZXNlcnZlZCAqLw0KI2RlZmluZSBETUFfU1RBVF9TVEFURV8xNCAgICAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMDBFMCkgICAgICAgICAgLyoqPCBSZXNlcnZlZCAqLw0KI2RlZmluZSBETUFfU1RBVF9TVEFURV8xNSAgICAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMDBGMCkgICAgICAgICAgLyoqPCBSZXNlcnZlZCAqLw0KLyogRE1BX1NUQVRbRE1BQ0hBTlNdIEJpdHMgKi8NCiNkZWZpbmUgRE1BX1NUQVRfRE1BQ0hBTlNfT0ZTICAgICAgICAgICAgICAgICAgICAoMTYpICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgRE1BQ0hBTlMgQml0IE9mZnNldCAqLw0KI2RlZmluZSBETUFfU1RBVF9ETUFDSEFOU19NQVNLICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDFGMDAwMCkgICAgICAgICAgLyoqPCBETUFDSEFOUyBCaXQgTWFzayAqLw0KI2RlZmluZSBETUFfU1RBVF9ETUFDSEFOUzAgICAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAxMDAwMCkgICAgICAgICAgLyoqPCBETUFDSEFOUyBCaXQgMCAqLw0KI2RlZmluZSBETUFfU1RBVF9ETUFDSEFOUzEgICAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAyMDAwMCkgICAgICAgICAgLyoqPCBETUFDSEFOUyBCaXQgMSAqLw0KI2RlZmluZSBETUFfU1RBVF9ETUFDSEFOUzIgICAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDA0MDAwMCkgICAgICAgICAgLyoqPCBETUFDSEFOUyBCaXQgMiAqLw0KI2RlZmluZSBETUFfU1RBVF9ETUFDSEFOUzMgICAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDA4MDAwMCkgICAgICAgICAgLyoqPCBETUFDSEFOUyBCaXQgMyAqLw0KI2RlZmluZSBETUFfU1RBVF9ETUFDSEFOUzQgICAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDEwMDAwMCkgICAgICAgICAgLyoqPCBETUFDSEFOUyBCaXQgNCAqLw0KI2RlZmluZSBETUFfU1RBVF9ETUFDSEFOU18wICAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMDAwMCkgICAgICAgICAgLyoqPCBDb250cm9sbGVyIGNvbmZpZ3VyZWQgdG8gdXNlIDEgRE1BIGNoYW5uZWwgKi8NCiNkZWZpbmUgRE1BX1NUQVRfRE1BQ0hBTlNfMSAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMTAwMDApICAgICAgICAgIC8qKjwgQ29udHJvbGxlciBjb25maWd1cmVkIHRvIHVzZSAyIERNQSBjaGFubmVscyAqLw0KI2RlZmluZSBETUFfU1RBVF9ETUFDSEFOU18zMCAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDFFMDAwMCkgICAgICAgICAgLyoqPCBDb250cm9sbGVyIGNvbmZpZ3VyZWQgdG8gdXNlIDMxIERNQSBjaGFubmVscyAqLw0KI2RlZmluZSBETUFfU1RBVF9ETUFDSEFOU18zMSAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDFGMDAwMCkgICAgICAgICAgLyoqPCBDb250cm9sbGVyIGNvbmZpZ3VyZWQgdG8gdXNlIDMyIERNQSBjaGFubmVscyAqLw0KLyogRE1BX1NUQVRbVEVTVFNUQVRdIEJpdHMgKi8NCiNkZWZpbmUgRE1BX1NUQVRfVEVTVFNUQVRfT0ZTICAgICAgICAgICAgICAgICAgICAoMjgpICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgVEVTVFNUQVQgQml0IE9mZnNldCAqLw0KI2RlZmluZSBETUFfU1RBVF9URVNUU1RBVF9NQVNLICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHhGMDAwMDAwMCkgICAgICAgICAgLyoqPCBURVNUU1RBVCBCaXQgTWFzayAqLw0KI2RlZmluZSBETUFfU1RBVF9URVNUU1RBVDAgICAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgxMDAwMDAwMCkgICAgICAgICAgLyoqPCBURVNUU1RBVCBCaXQgMCAqLw0KI2RlZmluZSBETUFfU1RBVF9URVNUU1RBVDEgICAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgyMDAwMDAwMCkgICAgICAgICAgLyoqPCBURVNUU1RBVCBCaXQgMSAqLw0KI2RlZmluZSBETUFfU1RBVF9URVNUU1RBVDIgICAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHg0MDAwMDAwMCkgICAgICAgICAgLyoqPCBURVNUU1RBVCBCaXQgMiAqLw0KI2RlZmluZSBETUFfU1RBVF9URVNUU1RBVDMgICAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHg4MDAwMDAwMCkgICAgICAgICAgLyoqPCBURVNUU1RBVCBCaXQgMyAqLw0KI2RlZmluZSBETUFfU1RBVF9URVNUU1RBVF8wICAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMDAwMCkgICAgICAgICAgLyoqPCBDb250cm9sbGVyIGRvZXMgbm90IGluY2x1ZGUgdGhlIGludGVncmF0aW9uIHRlc3QgbG9naWMgKi8NCiNkZWZpbmUgRE1BX1NUQVRfVEVTVFNUQVRfMSAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MTAwMDAwMDApICAgICAgICAgIC8qKjwgQ29udHJvbGxlciBpbmNsdWRlcyB0aGUgaW50ZWdyYXRpb24gdGVzdCBsb2dpYyAqLw0KLyogRE1BX0NGR1tNQVNURU5dIEJpdHMgKi8NCiNkZWZpbmUgRE1BX0NGR19NQVNURU5fT0ZTICAgICAgICAgICAgICAgICAgICAgICAoIDApICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgTUFTVEVOIEJpdCBPZmZzZXQgKi8NCiNkZWZpbmUgRE1BX0NGR19NQVNURU4gICAgICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDAwMDEpDQovKiBETUFfQ0ZHW0NIUFJPVENUUkxdIEJpdHMgKi8NCiNkZWZpbmUgRE1BX0NGR19DSFBST1RDVFJMX09GUyAgICAgICAgICAgICAgICAgICAoIDUpICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgQ0hQUk9UQ1RSTCBCaXQgT2Zmc2V0ICovDQojZGVmaW5lIERNQV9DRkdfQ0hQUk9UQ1RSTF9NQVNLICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwMEUwKSAgICAgICAgICAvKio8IENIUFJPVENUUkwgQml0IE1hc2sgKi8NCi8qIERNQV9DVExCQVNFW0FERFJdIEJpdHMgKi8NCiNkZWZpbmUgRE1BX0NUTEJBU0VfQUREUl9PRlMgICAgICAgICAgICAgICAgICAgICAoIDUpICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgQUREUiBCaXQgT2Zmc2V0ICovDQojZGVmaW5lIERNQV9DVExCQVNFX0FERFJfTUFTSyAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweEZGRkZGRkUwKSAgICAgICAgICAvKio8IEFERFIgQml0IE1hc2sgKi8NCi8qIERNQV9FUlJDTFJbRVJSQ0xSXSBCaXRzICovDQojZGVmaW5lIERNQV9FUlJDTFJfRVJSQ0xSX09GUyAgICAgICAgICAgICAgICAgICAgKCAwKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKio8IEVSUkNMUiBCaXQgT2Zmc2V0ICovDQojZGVmaW5lIERNQV9FUlJDTFJfRVJSQ0xSICAgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwMDAxKQ0KDQovKiBVRE1BX1NUQVQgQ29udHJvbCBCaXRzICovDQojZGVmaW5lIFVETUFfU1RBVF9ETUFDSEFOU19NICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAxRjAwMDApICAgICAgICAgICAvKiBBdmFpbGFibGUgdURNQSBDaGFubmVscyBNaW51cyAxICovDQojZGVmaW5lIFVETUFfU1RBVF9TVEFURV9NICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDAwRjApICAgICAgICAgICAvKiBDb250cm9sIFN0YXRlIE1hY2hpbmUgU3RhdHVzICovDQojZGVmaW5lIFVETUFfU1RBVF9TVEFURV9JRExFICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDAwMDApICAgICAgICAgICAvKiBJZGxlICovDQojZGVmaW5lIFVETUFfU1RBVF9TVEFURV9SRF9DVFJMICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDAwMTApICAgICAgICAgICAvKiBSZWFkaW5nIGNoYW5uZWwgY29udHJvbGxlciBkYXRhICovDQojZGVmaW5lIFVETUFfU1RBVF9TVEFURV9SRF9TUkNFTkRQICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDAwMjApICAgICAgICAgICAvKiBSZWFkaW5nIHNvdXJjZSBlbmQgcG9pbnRlciAqLw0KI2RlZmluZSBVRE1BX1NUQVRfU1RBVEVfUkRfRFNURU5EUCAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwMDMwKSAgICAgICAgICAgLyogUmVhZGluZyBkZXN0aW5hdGlvbiBlbmQgcG9pbnRlciAqLw0KI2RlZmluZSBVRE1BX1NUQVRfU1RBVEVfUkRfU1JDREFUICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwMDQwKSAgICAgICAgICAgLyogUmVhZGluZyBzb3VyY2UgZGF0YSAqLw0KI2RlZmluZSBVRE1BX1NUQVRfU1RBVEVfV1JfRFNUREFUICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwMDUwKSAgICAgICAgICAgLyogV3JpdGluZyBkZXN0aW5hdGlvbiBkYXRhICovDQojZGVmaW5lIFVETUFfU1RBVF9TVEFURV9XQUlUICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDAwNjApICAgICAgICAgICAvKiBXYWl0aW5nIGZvciB1RE1BIHJlcXVlc3QgdG8gY2xlYXIgKi8NCiNkZWZpbmUgVURNQV9TVEFUX1NUQVRFX1dSX0NUUkwgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMDA3MCkgICAgICAgICAgIC8qIFdyaXRpbmcgY2hhbm5lbCBjb250cm9sbGVyIGRhdGEgKi8NCiNkZWZpbmUgVURNQV9TVEFUX1NUQVRFX1NUQUxMICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMDA4MCkgICAgICAgICAgIC8qIFN0YWxsZWQgKi8NCiNkZWZpbmUgVURNQV9TVEFUX1NUQVRFX0RPTkUgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMDA5MCkgICAgICAgICAgIC8qIERvbmUgKi8NCiNkZWZpbmUgVURNQV9TVEFUX1NUQVRFX1VOREVGICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMDBBMCkgICAgICAgICAgIC8qIFVuZGVmaW5lZCAqLw0KI2RlZmluZSBVRE1BX1NUQVRfTUFTVEVOICAgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwMDAxKSAgICAgICAgICAgLyogTWFzdGVyIEVuYWJsZSBTdGF0dXMgKi8NCiNkZWZpbmUgVURNQV9TVEFUX0RNQUNIQU5TX1MgICAgICAgICAgICAgICAgICAgICgxNikNCg0KLyogVURNQV9DRkcgQ29udHJvbCBCaXRzICovDQojZGVmaW5lIFVETUFfQ0ZHX01BU1RFTiAgICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDAwMDEpICAgICAgICAgICAvKiBDb250cm9sbGVyIE1hc3RlciBFbmFibGUgKi8NCg0KLyogVURNQV9DVExCQVNFIENvbnRyb2wgQml0cyAqLw0KI2RlZmluZSBVRE1BX0NUTEJBU0VfQUREUl9NICAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweEZGRkZGQzAwKSAgICAgICAgICAgLyogQ2hhbm5lbCBDb250cm9sIEJhc2UgQWRkcmVzcyAqLw0KI2RlZmluZSBVRE1BX0NUTEJBU0VfQUREUl9TICAgICAgICAgICAgICAgICAgICAgKDEwKQ0KDQovKiBVRE1BX0FMVEJBU0UgQ29udHJvbCBCaXRzICovDQojZGVmaW5lIFVETUFfQUxUQkFTRV9BRERSX00gICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4RkZGRkZGRkYpICAgICAgICAgICAvKiBBbHRlcm5hdGUgQ2hhbm5lbCBBZGRyZXNzIFBvaW50ZXIgKi8NCiNkZWZpbmUgVURNQV9BTFRCQVNFX0FERFJfUyAgICAgICAgICAgICAgICAgICAgICggMCkNCg0KLyogVURNQV9XQUlUU1RBVCBDb250cm9sIEJpdHMgKi8NCiNkZWZpbmUgVURNQV9XQUlUU1RBVF9XQUlUUkVRX00gICAgICAgICAgICAgICAgICgodWludDMyX3QpMHhGRkZGRkZGRikgICAgICAgICAgIC8qIENoYW5uZWwgW25dIFdhaXQgU3RhdHVzICovDQoNCi8qIFVETUFfU1dSRVEgQ29udHJvbCBCaXRzICovDQojZGVmaW5lIFVETUFfU1dSRVFfTSAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4RkZGRkZGRkYpICAgICAgICAgICAvKiBDaGFubmVsIFtuXSBTb2Z0d2FyZSBSZXF1ZXN0ICovDQoNCi8qIFVETUFfVVNFQlVSU1RTRVQgQ29udHJvbCBCaXRzICovDQojZGVmaW5lIFVETUFfVVNFQlVSU1RTRVRfU0VUX00gICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4RkZGRkZGRkYpICAgICAgICAgICAvKiBDaGFubmVsIFtuXSBVc2VidXJzdCBTZXQgKi8NCg0KLyogVURNQV9VU0VCVVJTVENMUiBDb250cm9sIEJpdHMgKi8NCiNkZWZpbmUgVURNQV9VU0VCVVJTVENMUl9DTFJfTSAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHhGRkZGRkZGRikgICAgICAgICAgIC8qIENoYW5uZWwgW25dIFVzZWJ1cnN0IENsZWFyICovDQoNCi8qIFVETUFfUkVRTUFTS1NFVCBDb250cm9sIEJpdHMgKi8NCiNkZWZpbmUgVURNQV9SRVFNQVNLU0VUX1NFVF9NICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHhGRkZGRkZGRikgICAgICAgICAgIC8qIENoYW5uZWwgW25dIFJlcXVlc3QgTWFzayBTZXQgKi8NCg0KLyogVURNQV9SRVFNQVNLQ0xSIENvbnRyb2wgQml0cyAqLw0KI2RlZmluZSBVRE1BX1JFUU1BU0tDTFJfQ0xSX00gICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweEZGRkZGRkZGKSAgICAgICAgICAgLyogQ2hhbm5lbCBbbl0gUmVxdWVzdCBNYXNrIENsZWFyICovDQoNCi8qIFVETUFfRU5BU0VUIENvbnRyb2wgQml0cyAqLw0KI2RlZmluZSBVRE1BX0VOQVNFVF9TRVRfTSAgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweEZGRkZGRkZGKSAgICAgICAgICAgLyogQ2hhbm5lbCBbbl0gRW5hYmxlIFNldCAqLw0KDQovKiBVRE1BX0VOQUNMUiBDb250cm9sIEJpdHMgKi8NCiNkZWZpbmUgVURNQV9FTkFDTFJfQ0xSX00gICAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHhGRkZGRkZGRikgICAgICAgICAgIC8qIENsZWFyIENoYW5uZWwgW25dIEVuYWJsZSBDbGVhciAqLw0KDQovKiBVRE1BX0FMVFNFVCBDb250cm9sIEJpdHMgKi8NCiNkZWZpbmUgVURNQV9BTFRTRVRfU0VUX00gICAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHhGRkZGRkZGRikgICAgICAgICAgIC8qIENoYW5uZWwgW25dIEFsdGVybmF0ZSBTZXQgKi8NCg0KLyogVURNQV9BTFRDTFIgQ29udHJvbCBCaXRzICovDQojZGVmaW5lIFVETUFfQUxUQ0xSX0NMUl9NICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4RkZGRkZGRkYpICAgICAgICAgICAvKiBDaGFubmVsIFtuXSBBbHRlcm5hdGUgQ2xlYXIgKi8NCg0KLyogVURNQV9QUklPU0VUIENvbnRyb2wgQml0cyAqLw0KI2RlZmluZSBVRE1BX1BSSU9TRVRfU0VUX00gICAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweEZGRkZGRkZGKSAgICAgICAgICAgLyogQ2hhbm5lbCBbbl0gUHJpb3JpdHkgU2V0ICovDQoNCi8qIFVETUFfUFJJT0NMUiBDb250cm9sIEJpdHMgKi8NCiNkZWZpbmUgVURNQV9QUklPQ0xSX0NMUl9NICAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHhGRkZGRkZGRikgICAgICAgICAgIC8qIENoYW5uZWwgW25dIFByaW9yaXR5IENsZWFyICovDQoNCi8qIFVETUFfRVJSQ0xSIENvbnRyb2wgQml0cyAqLw0KI2RlZmluZSBVRE1BX0VSUkNMUl9FUlJDTFIgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwMDAxKSAgICAgICAgICAgLyogdURNQSBCdXMgRXJyb3IgU3RhdHVzICovDQoNCi8qIFVETUFfQ0hBU0dOIENvbnRyb2wgQml0cyAqLw0KI2RlZmluZSBVRE1BX0NIQVNHTl9NICAgICAgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweEZGRkZGRkZGKSAgICAgICAgICAgLyogQ2hhbm5lbCBbbl0gQXNzaWdubWVudCBTZWxlY3QgKi8NCiNkZWZpbmUgVURNQV9DSEFTR05fUFJJTUFSWSAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMDAwMCkgICAgICAgICAgIC8qIFVzZSB0aGUgcHJpbWFyeSBjaGFubmVsIGFzc2lnbm1lbnQgKi8NCiNkZWZpbmUgVURNQV9DSEFTR05fU0VDT05EQVJZICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMDAwMSkgICAgICAgICAgIC8qIFVzZSB0aGUgc2Vjb25kYXJ5IGNoYW5uZWwgYXNzaWdubWVudCAqLw0KDQovKiBNaWNybyBEaXJlY3QgTWVtb3J5IEFjY2VzcyAodURNQSkgb2Zmc2V0cyAqLw0KI2RlZmluZSBVRE1BX09fU1JDRU5EUCAgICAgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwMDAwKSAgICAgICAgICAgLyogRE1BIENoYW5uZWwgU291cmNlIEFkZHJlc3MgRW5kIFBvaW50ZXIgKi8NCiNkZWZpbmUgVURNQV9PX0RTVEVORFAgICAgICAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMDAwNCkgICAgICAgICAgIC8qIERNQSBDaGFubmVsIERlc3RpbmF0aW9uIEFkZHJlc3MgRW5kIFBvaW50ZXIgKi8NCiNkZWZpbmUgVURNQV9PX0NIQ1RMICAgICAgICAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMDAwOCkgICAgICAgICAgIC8qIERNQSBDaGFubmVsIENvbnRyb2wgV29yZCAqLw0KDQovKiBVRE1BX09fU1JDRU5EUCBDb250cm9sIEJpdHMgKi8NCiNkZWZpbmUgVURNQV9TUkNFTkRQX0FERFJfTSAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHhGRkZGRkZGRikgICAgICAgICAgIC8qIFNvdXJjZSBBZGRyZXNzIEVuZCBQb2ludGVyICovDQojZGVmaW5lIFVETUFfU1JDRU5EUF9BRERSX1MgICAgICAgICAgICAgICAgICAgICAoIDApDQoNCi8qIFVETUFfT19EU1RFTkRQIENvbnRyb2wgQml0cyAqLw0KI2RlZmluZSBVRE1BX0RTVEVORFBfQUREUl9NICAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweEZGRkZGRkZGKSAgICAgICAgICAgLyogRGVzdGluYXRpb24gQWRkcmVzcyBFbmQgUG9pbnRlciAqLw0KI2RlZmluZSBVRE1BX0RTVEVORFBfQUREUl9TICAgICAgICAgICAgICAgICAgICAgKCAwKQ0KDQovKiBVRE1BX09fQ0hDVEwgQ29udHJvbCBCaXRzICovDQojZGVmaW5lIFVETUFfQ0hDVExfRFNUSU5DX00gICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4QzAwMDAwMDApICAgICAgICAgICAvKiBEZXN0aW5hdGlvbiBBZGRyZXNzIEluY3JlbWVudCAqLw0KI2RlZmluZSBVRE1BX0NIQ1RMX0RTVElOQ184ICAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwMDAwKSAgICAgICAgICAgLyogQnl0ZSAqLw0KI2RlZmluZSBVRE1BX0NIQ1RMX0RTVElOQ18xNiAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDQwMDAwMDAwKSAgICAgICAgICAgLyogSGFsZi13b3JkICovDQojZGVmaW5lIFVETUFfQ0hDVExfRFNUSU5DXzMyICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4ODAwMDAwMDApICAgICAgICAgICAvKiBXb3JkICovDQojZGVmaW5lIFVETUFfQ0hDVExfRFNUSU5DX05PTkUgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4QzAwMDAwMDApICAgICAgICAgICAvKiBObyBpbmNyZW1lbnQgKi8NCiNkZWZpbmUgVURNQV9DSENUTF9EU1RTSVpFX00gICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgzMDAwMDAwMCkgICAgICAgICAgIC8qIERlc3RpbmF0aW9uIERhdGEgU2l6ZSAqLw0KI2RlZmluZSBVRE1BX0NIQ1RMX0RTVFNJWkVfOCAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwMDAwKSAgICAgICAgICAgLyogQnl0ZSAqLw0KI2RlZmluZSBVRE1BX0NIQ1RMX0RTVFNJWkVfMTYgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDEwMDAwMDAwKSAgICAgICAgICAgLyogSGFsZi13b3JkICovDQojZGVmaW5lIFVETUFfQ0hDVExfRFNUU0laRV8zMiAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MjAwMDAwMDApICAgICAgICAgICAvKiBXb3JkICovDQojZGVmaW5lIFVETUFfQ0hDVExfU1JDSU5DX00gICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MEMwMDAwMDApICAgICAgICAgICAvKiBTb3VyY2UgQWRkcmVzcyBJbmNyZW1lbnQgKi8NCiNkZWZpbmUgVURNQV9DSENUTF9TUkNJTkNfOCAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMDAwMCkgICAgICAgICAgIC8qIEJ5dGUgKi8NCiNkZWZpbmUgVURNQV9DSENUTF9TUkNJTkNfMTYgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwNDAwMDAwMCkgICAgICAgICAgIC8qIEhhbGYtd29yZCAqLw0KI2RlZmluZSBVRE1BX0NIQ1RMX1NSQ0lOQ18zMiAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDA4MDAwMDAwKSAgICAgICAgICAgLyogV29yZCAqLw0KI2RlZmluZSBVRE1BX0NIQ1RMX1NSQ0lOQ19OT05FICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDBDMDAwMDAwKSAgICAgICAgICAgLyogTm8gaW5jcmVtZW50ICovDQojZGVmaW5lIFVETUFfQ0hDVExfU1JDU0laRV9NICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDMwMDAwMDApICAgICAgICAgICAvKiBTb3VyY2UgRGF0YSBTaXplICovDQojZGVmaW5lIFVETUFfQ0hDVExfU1JDU0laRV84ICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDAwMDApICAgICAgICAgICAvKiBCeXRlICovDQojZGVmaW5lIFVETUFfQ0hDVExfU1JDU0laRV8xNiAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDEwMDAwMDApICAgICAgICAgICAvKiBIYWxmLXdvcmQgKi8NCiNkZWZpbmUgVURNQV9DSENUTF9TUkNTSVpFXzMyICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMjAwMDAwMCkgICAgICAgICAgIC8qIFdvcmQgKi8NCiNkZWZpbmUgVURNQV9DSENUTF9BUkJTSVpFX00gICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAzQzAwMCkgICAgICAgICAgIC8qIEFyYml0cmF0aW9uIFNpemUgKi8NCiNkZWZpbmUgVURNQV9DSENUTF9BUkJTSVpFXzEgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMDAwMCkgICAgICAgICAgIC8qIDEgVHJhbnNmZXIgKi8NCiNkZWZpbmUgVURNQV9DSENUTF9BUkJTSVpFXzIgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwNDAwMCkgICAgICAgICAgIC8qIDIgVHJhbnNmZXJzICovDQojZGVmaW5lIFVETUFfQ0hDVExfQVJCU0laRV80ICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDgwMDApICAgICAgICAgICAvKiA0IFRyYW5zZmVycyAqLw0KI2RlZmluZSBVRE1BX0NIQ1RMX0FSQlNJWkVfOCAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDBDMDAwKSAgICAgICAgICAgLyogOCBUcmFuc2ZlcnMgKi8NCiNkZWZpbmUgVURNQV9DSENUTF9BUkJTSVpFXzE2ICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAxMDAwMCkgICAgICAgICAgIC8qIDE2IFRyYW5zZmVycyAqLw0KI2RlZmluZSBVRE1BX0NIQ1RMX0FSQlNJWkVfMzIgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDE0MDAwKSAgICAgICAgICAgLyogMzIgVHJhbnNmZXJzICovDQojZGVmaW5lIFVETUFfQ0hDVExfQVJCU0laRV82NCAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMTgwMDApICAgICAgICAgICAvKiA2NCBUcmFuc2ZlcnMgKi8NCiNkZWZpbmUgVURNQV9DSENUTF9BUkJTSVpFXzEyOCAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAxQzAwMCkgICAgICAgICAgIC8qIDEyOCBUcmFuc2ZlcnMgKi8NCiNkZWZpbmUgVURNQV9DSENUTF9BUkJTSVpFXzI1NiAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAyMDAwMCkgICAgICAgICAgIC8qIDI1NiBUcmFuc2ZlcnMgKi8NCiNkZWZpbmUgVURNQV9DSENUTF9BUkJTSVpFXzUxMiAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAyNDAwMCkgICAgICAgICAgIC8qIDUxMiBUcmFuc2ZlcnMgKi8NCiNkZWZpbmUgVURNQV9DSENUTF9BUkJTSVpFXzEwMjQgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAyODAwMCkgICAgICAgICAgIC8qIDEwMjQgVHJhbnNmZXJzICovDQojZGVmaW5lIFVETUFfQ0hDVExfWEZFUlNJWkVfTSAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDNGRjApICAgICAgICAgICAvKiBUcmFuc2ZlciBTaXplIChtaW51cyAxKSAqLw0KI2RlZmluZSBVRE1BX0NIQ1RMX05YVFVTRUJVUlNUICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwMDA4KSAgICAgICAgICAgLyogTmV4dCBVc2VidXJzdCAqLw0KI2RlZmluZSBVRE1BX0NIQ1RMX1hGRVJNT0RFX00gICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwMDA3KSAgICAgICAgICAgLyogdURNQSBUcmFuc2ZlciBNb2RlICovDQojZGVmaW5lIFVETUFfQ0hDVExfWEZFUk1PREVfU1RPUCAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDAwMDApICAgICAgICAgICAvKiBTdG9wICovDQojZGVmaW5lIFVETUFfQ0hDVExfWEZFUk1PREVfQkFTSUMgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDAwMDEpICAgICAgICAgICAvKiBCYXNpYyAqLw0KI2RlZmluZSBVRE1BX0NIQ1RMX1hGRVJNT0RFX0FVVE8gICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwMDAyKSAgICAgICAgICAgLyogQXV0by1SZXF1ZXN0ICovDQojZGVmaW5lIFVETUFfQ0hDVExfWEZFUk1PREVfUElOR1BPTkcgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDAwMDMpICAgICAgICAgICAvKiBQaW5nLVBvbmcgKi8NCiNkZWZpbmUgVURNQV9DSENUTF9YRkVSTU9ERV9NRU1fU0cgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMDAwNCkgICAgICAgICAgIC8qIE1lbW9yeSBTY2F0dGVyLUdhdGhlciAqLw0KI2RlZmluZSBVRE1BX0NIQ1RMX1hGRVJNT0RFX01FTV9TR0EgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwMDA1KSAgICAgICAgICAgLyogQWx0ZXJuYXRlIE1lbW9yeSBTY2F0dGVyLUdhdGhlciAqLw0KI2RlZmluZSBVRE1BX0NIQ1RMX1hGRVJNT0RFX1BFUl9TRyAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwMDA2KSAgICAgICAgICAgLyogUGVyaXBoZXJhbCBTY2F0dGVyLUdhdGhlciAqLw0KI2RlZmluZSBVRE1BX0NIQ1RMX1hGRVJNT0RFX1BFUl9TR0EgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwMDA3KSAgICAgICAgICAgLyogQWx0ZXJuYXRlIFBlcmlwaGVyYWwgU2NhdHRlci1HYXRoZXIgKi8NCg0KI2RlZmluZSBVRE1BX0NIQ1RMX1hGRVJTSVpFX1MgICAgICAgICAgICAgICAgICAgKCA0KQ0KDQoNCi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioNCiogRFdUIEJpdHMNCioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8NCg0KDQovKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqDQoqIEVVU0NJX0EgQml0cw0KKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLw0KLyogRVVTQ0lfQV9DVExXMFtTV1JTVF0gQml0cyAqLw0KI2RlZmluZSBFVVNDSV9BX0NUTFcwX1NXUlNUX09GUyAgICAgICAgICAgICAgICAgICggMCkgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyoqPCBVQ1NXUlNUIEJpdCBPZmZzZXQgKi8NCiNkZWZpbmUgRVVTQ0lfQV9DVExXMF9TV1JTVCAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQxNl90KTB4MDAwMSkgICAgICAgICAgICAgIC8qKjwgU29mdHdhcmUgcmVzZXQgZW5hYmxlICovDQovKiBFVVNDSV9BX0NUTFcwW1RYQlJLXSBCaXRzICovDQojZGVmaW5lIEVVU0NJX0FfQ1RMVzBfVFhCUktfT0ZTICAgICAgICAgICAgICAgICAgKCAxKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKio8IFVDVFhCUksgQml0IE9mZnNldCAqLw0KI2RlZmluZSBFVVNDSV9BX0NUTFcwX1RYQlJLICAgICAgICAgICAgICAgICAgICAgICgodWludDE2X3QpMHgwMDAyKSAgICAgICAgICAgICAgLyoqPCBUcmFuc21pdCBicmVhayAqLw0KLyogRVVTQ0lfQV9DVExXMFtUWEFERFJdIEJpdHMgKi8NCiNkZWZpbmUgRVVTQ0lfQV9DVExXMF9UWEFERFJfT0ZTICAgICAgICAgICAgICAgICAoIDIpICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgVUNUWEFERFIgQml0IE9mZnNldCAqLw0KI2RlZmluZSBFVVNDSV9BX0NUTFcwX1RYQUREUiAgICAgICAgICAgICAgICAgICAgICgodWludDE2X3QpMHgwMDA0KSAgICAgICAgICAgICAgLyoqPCBUcmFuc21pdCBhZGRyZXNzICovDQovKiBFVVNDSV9BX0NUTFcwW0RPUk1dIEJpdHMgKi8NCiNkZWZpbmUgRVVTQ0lfQV9DVExXMF9ET1JNX09GUyAgICAgICAgICAgICAgICAgICAoIDMpICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgVUNET1JNIEJpdCBPZmZzZXQgKi8NCiNkZWZpbmUgRVVTQ0lfQV9DVExXMF9ET1JNICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQxNl90KTB4MDAwOCkgICAgICAgICAgICAgIC8qKjwgRG9ybWFudCAqLw0KLyogRVVTQ0lfQV9DVExXMFtCUktJRV0gQml0cyAqLw0KI2RlZmluZSBFVVNDSV9BX0NUTFcwX0JSS0lFX09GUyAgICAgICAgICAgICAgICAgICggNCkgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyoqPCBVQ0JSS0lFIEJpdCBPZmZzZXQgKi8NCiNkZWZpbmUgRVVTQ0lfQV9DVExXMF9CUktJRSAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQxNl90KTB4MDAxMCkgICAgICAgICAgICAgIC8qKjwgUmVjZWl2ZSBicmVhayBjaGFyYWN0ZXIgaW50ZXJydXB0IGVuYWJsZSAqLw0KLyogRVVTQ0lfQV9DVExXMFtSWEVJRV0gQml0cyAqLw0KI2RlZmluZSBFVVNDSV9BX0NUTFcwX1JYRUlFX09GUyAgICAgICAgICAgICAgICAgICggNSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyoqPCBVQ1JYRUlFIEJpdCBPZmZzZXQgKi8NCiNkZWZpbmUgRVVTQ0lfQV9DVExXMF9SWEVJRSAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQxNl90KTB4MDAyMCkgICAgICAgICAgICAgIC8qKjwgUmVjZWl2ZSBlcnJvbmVvdXMtY2hhcmFjdGVyIGludGVycnVwdCBlbmFibGUgKi8NCi8qIEVVU0NJX0FfQ1RMVzBbU1NFTF0gQml0cyAqLw0KI2RlZmluZSBFVVNDSV9BX0NUTFcwX1NTRUxfT0ZTICAgICAgICAgICAgICAgICAgICggNikgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyoqPCBVQ1NTRUwgQml0IE9mZnNldCAqLw0KI2RlZmluZSBFVVNDSV9BX0NUTFcwX1NTRUxfTUFTSyAgICAgICAgICAgICAgICAgICgodWludDE2X3QpMHgwMEMwKSAgICAgICAgICAgICAgLyoqPCBVQ1NTRUwgQml0IE1hc2sgKi8NCiNkZWZpbmUgRVVTQ0lfQV9DVExXMF9TU0VMMCAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQxNl90KTB4MDA0MCkgICAgICAgICAgICAgIC8qKjwgU1NFTCBCaXQgMCAqLw0KI2RlZmluZSBFVVNDSV9BX0NUTFcwX1NTRUwxICAgICAgICAgICAgICAgICAgICAgICgodWludDE2X3QpMHgwMDgwKSAgICAgICAgICAgICAgLyoqPCBTU0VMIEJpdCAxICovDQojZGVmaW5lIEVVU0NJX0FfQ1RMVzBfVUNTU0VMXzAgICAgICAgICAgICAgICAgICAgKCh1aW50MTZfdCkweDAwMDApICAgICAgICAgICAgICAvKio8IFVDTEsgKi8NCiNkZWZpbmUgRVVTQ0lfQV9DVExXMF9VQ1NTRUxfMSAgICAgICAgICAgICAgICAgICAoKHVpbnQxNl90KTB4MDA0MCkgICAgICAgICAgICAgIC8qKjwgQUNMSyAqLw0KI2RlZmluZSBFVVNDSV9BX0NUTFcwX1VDU1NFTF8yICAgICAgICAgICAgICAgICAgICgodWludDE2X3QpMHgwMDgwKSAgICAgICAgICAgICAgLyoqPCBTTUNMSyAqLw0KI2RlZmluZSBFVVNDSV9BX0NUTFcwX1NTRUxfX1VDTEsgICAgICAgICAgICAgICAgICgodWludDE2X3QpMHgwMDAwKSAgICAgICAgICAgICAgLyoqPCBVQ0xLICovDQojZGVmaW5lIEVVU0NJX0FfQ1RMVzBfU1NFTF9fQUNMSyAgICAgICAgICAgICAgICAgKCh1aW50MTZfdCkweDAwNDApICAgICAgICAgICAgICAvKio8IEFDTEsgKi8NCiNkZWZpbmUgRVVTQ0lfQV9DVExXMF9TU0VMX19TTUNMSyAgICAgICAgICAgICAgICAoKHVpbnQxNl90KTB4MDA4MCkgICAgICAgICAgICAgIC8qKjwgU01DTEsgKi8NCi8qIEVVU0NJX0FfQ1RMVzBbU1lOQ10gQml0cyAqLw0KI2RlZmluZSBFVVNDSV9BX0NUTFcwX1NZTkNfT0ZTICAgICAgICAgICAgICAgICAgICggOCkgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyoqPCBVQ1NZTkMgQml0IE9mZnNldCAqLw0KI2RlZmluZSBFVVNDSV9BX0NUTFcwX1NZTkMgICAgICAgICAgICAgICAgICAgICAgICgodWludDE2X3QpMHgwMTAwKSAgICAgICAgICAgICAgLyoqPCBTeW5jaHJvbm91cyBtb2RlIGVuYWJsZSAqLw0KLyogRVVTQ0lfQV9DVExXMFtNT0RFXSBCaXRzICovDQojZGVmaW5lIEVVU0NJX0FfQ1RMVzBfTU9ERV9PRlMgICAgICAgICAgICAgICAgICAgKCA5KSAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKio8IFVDTU9ERSBCaXQgT2Zmc2V0ICovDQojZGVmaW5lIEVVU0NJX0FfQ1RMVzBfTU9ERV9NQVNLICAgICAgICAgICAgICAgICAgKCh1aW50MTZfdCkweDA2MDApICAgICAgICAgICAgICAvKio8IFVDTU9ERSBCaXQgTWFzayAqLw0KI2RlZmluZSBFVVNDSV9BX0NUTFcwX01PREUwICAgICAgICAgICAgICAgICAgICAgICgodWludDE2X3QpMHgwMjAwKSAgICAgICAgICAgICAgLyoqPCBNT0RFIEJpdCAwICovDQojZGVmaW5lIEVVU0NJX0FfQ1RMVzBfTU9ERTEgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MTZfdCkweDA0MDApICAgICAgICAgICAgICAvKio8IE1PREUgQml0IDEgKi8NCiNkZWZpbmUgRVVTQ0lfQV9DVExXMF9NT0RFXzAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQxNl90KTB4MDAwMCkgICAgICAgICAgICAgIC8qKjwgVUFSVCBtb2RlICovDQojZGVmaW5lIEVVU0NJX0FfQ1RMVzBfTU9ERV8xICAgICAgICAgICAgICAgICAgICAgKCh1aW50MTZfdCkweDAyMDApICAgICAgICAgICAgICAvKio8IElkbGUtbGluZSBtdWx0aXByb2Nlc3NvciBtb2RlICovDQojZGVmaW5lIEVVU0NJX0FfQ1RMVzBfTU9ERV8yICAgICAgICAgICAgICAgICAgICAgKCh1aW50MTZfdCkweDA0MDApICAgICAgICAgICAgICAvKio8IEFkZHJlc3MtYml0IG11bHRpcHJvY2Vzc29yIG1vZGUgKi8NCiNkZWZpbmUgRVVTQ0lfQV9DVExXMF9NT0RFXzMgICAgICAgICAgICAgICAgICAgICAoKHVpbnQxNl90KTB4MDYwMCkgICAgICAgICAgICAgIC8qKjwgVUFSVCBtb2RlIHdpdGggYXV0b21hdGljIGJhdWQtcmF0ZSBkZXRlY3Rpb24gKi8NCi8qIEVVU0NJX0FfQ1RMVzBbU1BCXSBCaXRzICovDQojZGVmaW5lIEVVU0NJX0FfQ1RMVzBfU1BCX09GUyAgICAgICAgICAgICAgICAgICAgKDExKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKio8IFVDU1BCIEJpdCBPZmZzZXQgKi8NCiNkZWZpbmUgRVVTQ0lfQV9DVExXMF9TUEIgICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQxNl90KTB4MDgwMCkgICAgICAgICAgICAgIC8qKjwgU3RvcCBiaXQgc2VsZWN0ICovDQovKiBFVVNDSV9BX0NUTFcwW1NFVkVOQklUXSBCaXRzICovDQojZGVmaW5lIEVVU0NJX0FfQ1RMVzBfU0VWRU5CSVRfT0ZTICAgICAgICAgICAgICAgKDEyKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKio8IFVDN0JJVCBCaXQgT2Zmc2V0ICovDQojZGVmaW5lIEVVU0NJX0FfQ1RMVzBfU0VWRU5CSVQgICAgICAgICAgICAgICAgICAgKCh1aW50MTZfdCkweDEwMDApICAgICAgICAgICAgICAvKio8IENoYXJhY3RlciBsZW5ndGggKi8NCi8qIEVVU0NJX0FfQ1RMVzBbTVNCXSBCaXRzICovDQojZGVmaW5lIEVVU0NJX0FfQ1RMVzBfTVNCX09GUyAgICAgICAgICAgICAgICAgICAgKDEzKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKio8IFVDTVNCIEJpdCBPZmZzZXQgKi8NCiNkZWZpbmUgRVVTQ0lfQV9DVExXMF9NU0IgICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQxNl90KTB4MjAwMCkgICAgICAgICAgICAgIC8qKjwgTVNCIGZpcnN0IHNlbGVjdCAqLw0KLyogRVVTQ0lfQV9DVExXMFtQQVJdIEJpdHMgKi8NCiNkZWZpbmUgRVVTQ0lfQV9DVExXMF9QQVJfT0ZTICAgICAgICAgICAgICAgICAgICAoMTQpICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgVUNQQVIgQml0IE9mZnNldCAqLw0KI2RlZmluZSBFVVNDSV9BX0NUTFcwX1BBUiAgICAgICAgICAgICAgICAgICAgICAgICgodWludDE2X3QpMHg0MDAwKSAgICAgICAgICAgICAgLyoqPCBQYXJpdHkgc2VsZWN0ICovDQovKiBFVVNDSV9BX0NUTFcwW1BFTl0gQml0cyAqLw0KI2RlZmluZSBFVVNDSV9BX0NUTFcwX1BFTl9PRlMgICAgICAgICAgICAgICAgICAgICgxNSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyoqPCBVQ1BFTiBCaXQgT2Zmc2V0ICovDQojZGVmaW5lIEVVU0NJX0FfQ1RMVzBfUEVOICAgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MTZfdCkweDgwMDApICAgICAgICAgICAgICAvKio8IFBhcml0eSBlbmFibGUgKi8NCi8qIEVVU0NJX0FfQ1RMVzBbU1RFTV0gQml0cyAqLw0KI2RlZmluZSBFVVNDSV9BX0NUTFcwX1NURU1fT0ZTICAgICAgICAgICAgICAgICAgICggMSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyoqPCBVQ1NURU0gQml0IE9mZnNldCAqLw0KI2RlZmluZSBFVVNDSV9BX0NUTFcwX1NURU0gICAgICAgICAgICAgICAgICAgICAgICgodWludDE2X3QpMHgwMDAyKSAgICAgICAgICAgICAgLyoqPCBTVEUgbW9kZSBzZWxlY3QgaW4gbWFzdGVyIG1vZGUuICovDQovKiBFVVNDSV9BX0NUTFcwW1NTRUxdIEJpdHMgKi8NCg0KDQojZGVmaW5lIEVVU0NJX0FfQ1RMVzBfU1NFTF8wICAgICAgICAgICAgICAgICAgICAgKCh1aW50MTZfdCkweDAwMDApICAgICAgICAgICAgICAvKio8IFJlc2VydmVkICovDQoNCg0KLyogRVVTQ0lfQV9DVExXMFtNT0RFXSBCaXRzICovDQoNCg0KDQovKiBFVVNDSV9BX0NUTFcwW01TVF0gQml0cyAqLw0KI2RlZmluZSBFVVNDSV9BX0NUTFcwX01TVF9PRlMgICAgICAgICAgICAgICAgICAgICgxMSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyoqPCBVQ01TVCBCaXQgT2Zmc2V0ICovDQojZGVmaW5lIEVVU0NJX0FfQ1RMVzBfTVNUICAgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MTZfdCkweDA4MDApICAgICAgICAgICAgICAvKio8IE1hc3RlciBtb2RlIHNlbGVjdCAqLw0KLyogRVVTQ0lfQV9DVExXMFtDS1BMXSBCaXRzICovDQojZGVmaW5lIEVVU0NJX0FfQ1RMVzBfQ0tQTF9PRlMgICAgICAgICAgICAgICAgICAgKDE0KSAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKio8IFVDQ0tQTCBCaXQgT2Zmc2V0ICovDQojZGVmaW5lIEVVU0NJX0FfQ1RMVzBfQ0tQTCAgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MTZfdCkweDQwMDApICAgICAgICAgICAgICAvKio8IENsb2NrIHBvbGFyaXR5IHNlbGVjdCAqLw0KLyogRVVTQ0lfQV9DVExXMFtDS1BIXSBCaXRzICovDQojZGVmaW5lIEVVU0NJX0FfQ1RMVzBfQ0tQSF9PRlMgICAgICAgICAgICAgICAgICAgKDE1KSAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKio8IFVDQ0tQSCBCaXQgT2Zmc2V0ICovDQojZGVmaW5lIEVVU0NJX0FfQ1RMVzBfQ0tQSCAgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MTZfdCkweDgwMDApICAgICAgICAgICAgICAvKio8IENsb2NrIHBoYXNlIHNlbGVjdCAqLw0KLyogRVVTQ0lfQV9DVExXMVtHTElUXSBCaXRzICovDQojZGVmaW5lIEVVU0NJX0FfQ1RMVzFfR0xJVF9PRlMgICAgICAgICAgICAgICAgICAgKCAwKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKio8IFVDR0xJVCBCaXQgT2Zmc2V0ICovDQojZGVmaW5lIEVVU0NJX0FfQ1RMVzFfR0xJVF9NQVNLICAgICAgICAgICAgICAgICAgKCh1aW50MTZfdCkweDAwMDMpICAgICAgICAgICAgICAvKio8IFVDR0xJVCBCaXQgTWFzayAqLw0KI2RlZmluZSBFVVNDSV9BX0NUTFcxX0dMSVQwICAgICAgICAgICAgICAgICAgICAgICgodWludDE2X3QpMHgwMDAxKSAgICAgICAgICAgICAgLyoqPCBHTElUIEJpdCAwICovDQojZGVmaW5lIEVVU0NJX0FfQ1RMVzFfR0xJVDEgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MTZfdCkweDAwMDIpICAgICAgICAgICAgICAvKio8IEdMSVQgQml0IDEgKi8NCiNkZWZpbmUgRVVTQ0lfQV9DVExXMV9HTElUXzAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQxNl90KTB4MDAwMCkgICAgICAgICAgICAgIC8qKjwgQXBwcm94aW1hdGVseSAyIG5zIChlcXVpdmFsZW50IG9mIDEgZGVsYXkgZWxlbWVudCkgKi8NCiNkZWZpbmUgRVVTQ0lfQV9DVExXMV9HTElUXzEgICAgICAgICAgICAgICAgICAgICAoKHVpbnQxNl90KTB4MDAwMSkgICAgICAgICAgICAgIC8qKjwgQXBwcm94aW1hdGVseSA1MCBucyAqLw0KI2RlZmluZSBFVVNDSV9BX0NUTFcxX0dMSVRfMiAgICAgICAgICAgICAgICAgICAgICgodWludDE2X3QpMHgwMDAyKSAgICAgICAgICAgICAgLyoqPCBBcHByb3hpbWF0ZWx5IDEwMCBucyAqLw0KI2RlZmluZSBFVVNDSV9BX0NUTFcxX0dMSVRfMyAgICAgICAgICAgICAgICAgICAgICgodWludDE2X3QpMHgwMDAzKSAgICAgICAgICAgICAgLyoqPCBBcHByb3hpbWF0ZWx5IDIwMCBucyAqLw0KLyogRVVTQ0lfQV9NQ1RMV1tPUzE2XSBCaXRzICovDQojZGVmaW5lIEVVU0NJX0FfTUNUTFdfT1MxNl9PRlMgICAgICAgICAgICAgICAgICAgKCAwKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKio8IFVDT1MxNiBCaXQgT2Zmc2V0ICovDQojZGVmaW5lIEVVU0NJX0FfTUNUTFdfT1MxNiAgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MTZfdCkweDAwMDEpICAgICAgICAgICAgICAvKio8IE92ZXJzYW1wbGluZyBtb2RlIGVuYWJsZWQgKi8NCi8qIEVVU0NJX0FfTUNUTFdbQlJGXSBCaXRzICovDQojZGVmaW5lIEVVU0NJX0FfTUNUTFdfQlJGX09GUyAgICAgICAgICAgICAgICAgICAgKCA0KSAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKio8IFVDQlJGIEJpdCBPZmZzZXQgKi8NCiNkZWZpbmUgRVVTQ0lfQV9NQ1RMV19CUkZfTUFTSyAgICAgICAgICAgICAgICAgICAoKHVpbnQxNl90KTB4MDBGMCkgICAgICAgICAgICAgIC8qKjwgVUNCUkYgQml0IE1hc2sgKi8NCi8qIEVVU0NJX0FfTUNUTFdbQlJTXSBCaXRzICovDQojZGVmaW5lIEVVU0NJX0FfTUNUTFdfQlJTX09GUyAgICAgICAgICAgICAgICAgICAgKCA4KSAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKio8IFVDQlJTIEJpdCBPZmZzZXQgKi8NCiNkZWZpbmUgRVVTQ0lfQV9NQ1RMV19CUlNfTUFTSyAgICAgICAgICAgICAgICAgICAoKHVpbnQxNl90KTB4RkYwMCkgICAgICAgICAgICAgIC8qKjwgVUNCUlMgQml0IE1hc2sgKi8NCi8qIEVVU0NJX0FfU1RBVFdbQlVTWV0gQml0cyAqLw0KI2RlZmluZSBFVVNDSV9BX1NUQVRXX0JVU1lfT0ZTICAgICAgICAgICAgICAgICAgICggMCkgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyoqPCBVQ0JVU1kgQml0IE9mZnNldCAqLw0KI2RlZmluZSBFVVNDSV9BX1NUQVRXX0JVU1kgICAgICAgICAgICAgICAgICAgICAgICgodWludDE2X3QpMHgwMDAxKSAgICAgICAgICAgICAgLyoqPCBlVVNDSV9BIGJ1c3kgKi8NCi8qIEVVU0NJX0FfU1RBVFdbQUREUl9JRExFXSBCaXRzICovDQojZGVmaW5lIEVVU0NJX0FfU1RBVFdfQUREUl9JRExFX09GUyAgICAgICAgICAgICAgKCAxKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKio8IFVDQUREUl9VQ0lETEUgQml0IE9mZnNldCAqLw0KI2RlZmluZSBFVVNDSV9BX1NUQVRXX0FERFJfSURMRSAgICAgICAgICAgICAgICAgICgodWludDE2X3QpMHgwMDAyKSAgICAgICAgICAgICAgLyoqPCBBZGRyZXNzIHJlY2VpdmVkIC8gSWRsZSBsaW5lIGRldGVjdGVkICovDQovKiBFVVNDSV9BX1NUQVRXW1JYRVJSXSBCaXRzICovDQojZGVmaW5lIEVVU0NJX0FfU1RBVFdfUlhFUlJfT0ZTICAgICAgICAgICAgICAgICAgKCAyKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKio8IFVDUlhFUlIgQml0IE9mZnNldCAqLw0KI2RlZmluZSBFVVNDSV9BX1NUQVRXX1JYRVJSICAgICAgICAgICAgICAgICAgICAgICgodWludDE2X3QpMHgwMDA0KSAgICAgICAgICAgICAgLyoqPCBSZWNlaXZlIGVycm9yIGZsYWcgKi8NCi8qIEVVU0NJX0FfU1RBVFdbQlJLXSBCaXRzICovDQojZGVmaW5lIEVVU0NJX0FfU1RBVFdfQlJLX09GUyAgICAgICAgICAgICAgICAgICAgKCAzKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKio8IFVDQlJLIEJpdCBPZmZzZXQgKi8NCiNkZWZpbmUgRVVTQ0lfQV9TVEFUV19CUksgICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQxNl90KTB4MDAwOCkgICAgICAgICAgICAgIC8qKjwgQnJlYWsgZGV0ZWN0IGZsYWcgKi8NCi8qIEVVU0NJX0FfU1RBVFdbUEVdIEJpdHMgKi8NCiNkZWZpbmUgRVVTQ0lfQV9TVEFUV19QRV9PRlMgICAgICAgICAgICAgICAgICAgICAoIDQpICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgVUNQRSBCaXQgT2Zmc2V0ICovDQojZGVmaW5lIEVVU0NJX0FfU1RBVFdfUEUgICAgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MTZfdCkweDAwMTApDQovKiBFVVNDSV9BX1NUQVRXW09FXSBCaXRzICovDQojZGVmaW5lIEVVU0NJX0FfU1RBVFdfT0VfT0ZTICAgICAgICAgICAgICAgICAgICAgKCA1KSAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKio8IFVDT0UgQml0IE9mZnNldCAqLw0KI2RlZmluZSBFVVNDSV9BX1NUQVRXX09FICAgICAgICAgICAgICAgICAgICAgICAgICgodWludDE2X3QpMHgwMDIwKSAgICAgICAgICAgICAgLyoqPCBPdmVycnVuIGVycm9yIGZsYWcgKi8NCi8qIEVVU0NJX0FfU1RBVFdbRkVdIEJpdHMgKi8NCiNkZWZpbmUgRVVTQ0lfQV9TVEFUV19GRV9PRlMgICAgICAgICAgICAgICAgICAgICAoIDYpICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgVUNGRSBCaXQgT2Zmc2V0ICovDQojZGVmaW5lIEVVU0NJX0FfU1RBVFdfRkUgICAgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MTZfdCkweDAwNDApICAgICAgICAgICAgICAvKio8IEZyYW1pbmcgZXJyb3IgZmxhZyAqLw0KLyogRVVTQ0lfQV9TVEFUV1tMSVNURU5dIEJpdHMgKi8NCiNkZWZpbmUgRVVTQ0lfQV9TVEFUV19MSVNURU5fT0ZTICAgICAgICAgICAgICAgICAoIDcpICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgVUNMSVNURU4gQml0IE9mZnNldCAqLw0KI2RlZmluZSBFVVNDSV9BX1NUQVRXX0xJU1RFTiAgICAgICAgICAgICAgICAgICAgICgodWludDE2X3QpMHgwMDgwKSAgICAgICAgICAgICAgLyoqPCBMaXN0ZW4gZW5hYmxlICovDQovKiBFVVNDSV9BX1JYQlVGW1JYQlVGXSBCaXRzICovDQojZGVmaW5lIEVVU0NJX0FfUlhCVUZfUlhCVUZfT0ZTICAgICAgICAgICAgICAgICAgKCAwKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKio8IFVDUlhCVUYgQml0IE9mZnNldCAqLw0KI2RlZmluZSBFVVNDSV9BX1JYQlVGX1JYQlVGX01BU0sgICAgICAgICAgICAgICAgICgodWludDE2X3QpMHgwMEZGKSAgICAgICAgICAgICAgLyoqPCBVQ1JYQlVGIEJpdCBNYXNrICovDQovKiBFVVNDSV9BX1RYQlVGW1RYQlVGXSBCaXRzICovDQojZGVmaW5lIEVVU0NJX0FfVFhCVUZfVFhCVUZfT0ZTICAgICAgICAgICAgICAgICAgKCAwKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKio8IFVDVFhCVUYgQml0IE9mZnNldCAqLw0KI2RlZmluZSBFVVNDSV9BX1RYQlVGX1RYQlVGX01BU0sgICAgICAgICAgICAgICAgICgodWludDE2X3QpMHgwMEZGKSAgICAgICAgICAgICAgLyoqPCBVQ1RYQlVGIEJpdCBNYXNrICovDQovKiBFVVNDSV9BX0FCQ1RMW0FCREVOXSBCaXRzICovDQojZGVmaW5lIEVVU0NJX0FfQUJDVExfQUJERU5fT0ZTICAgICAgICAgICAgICAgICAgKCAwKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKio8IFVDQUJERU4gQml0IE9mZnNldCAqLw0KI2RlZmluZSBFVVNDSV9BX0FCQ1RMX0FCREVOICAgICAgICAgICAgICAgICAgICAgICgodWludDE2X3QpMHgwMDAxKSAgICAgICAgICAgICAgLyoqPCBBdXRvbWF0aWMgYmF1ZC1yYXRlIGRldGVjdCBlbmFibGUgKi8NCi8qIEVVU0NJX0FfQUJDVExbQlRPRV0gQml0cyAqLw0KI2RlZmluZSBFVVNDSV9BX0FCQ1RMX0JUT0VfT0ZTICAgICAgICAgICAgICAgICAgICggMikgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyoqPCBVQ0JUT0UgQml0IE9mZnNldCAqLw0KI2RlZmluZSBFVVNDSV9BX0FCQ1RMX0JUT0UgICAgICAgICAgICAgICAgICAgICAgICgodWludDE2X3QpMHgwMDA0KSAgICAgICAgICAgICAgLyoqPCBCcmVhayB0aW1lIG91dCBlcnJvciAqLw0KLyogRVVTQ0lfQV9BQkNUTFtTVE9FXSBCaXRzICovDQojZGVmaW5lIEVVU0NJX0FfQUJDVExfU1RPRV9PRlMgICAgICAgICAgICAgICAgICAgKCAzKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKio8IFVDU1RPRSBCaXQgT2Zmc2V0ICovDQojZGVmaW5lIEVVU0NJX0FfQUJDVExfU1RPRSAgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MTZfdCkweDAwMDgpICAgICAgICAgICAgICAvKio8IFN5bmNoIGZpZWxkIHRpbWUgb3V0IGVycm9yICovDQovKiBFVVNDSV9BX0FCQ1RMW0RFTElNXSBCaXRzICovDQojZGVmaW5lIEVVU0NJX0FfQUJDVExfREVMSU1fT0ZTICAgICAgICAgICAgICAgICAgKCA0KSAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKio8IFVDREVMSU0gQml0IE9mZnNldCAqLw0KI2RlZmluZSBFVVNDSV9BX0FCQ1RMX0RFTElNX01BU0sgICAgICAgICAgICAgICAgICgodWludDE2X3QpMHgwMDMwKSAgICAgICAgICAgICAgLyoqPCBVQ0RFTElNIEJpdCBNYXNrICovDQojZGVmaW5lIEVVU0NJX0FfQUJDVExfREVMSU0wICAgICAgICAgICAgICAgICAgICAgKCh1aW50MTZfdCkweDAwMTApICAgICAgICAgICAgICAvKio8IERFTElNIEJpdCAwICovDQojZGVmaW5lIEVVU0NJX0FfQUJDVExfREVMSU0xICAgICAgICAgICAgICAgICAgICAgKCh1aW50MTZfdCkweDAwMjApICAgICAgICAgICAgICAvKio8IERFTElNIEJpdCAxICovDQojZGVmaW5lIEVVU0NJX0FfQUJDVExfREVMSU1fMCAgICAgICAgICAgICAgICAgICAgKCh1aW50MTZfdCkweDAwMDApICAgICAgICAgICAgICAvKio8IDEgYml0IHRpbWUgKi8NCiNkZWZpbmUgRVVTQ0lfQV9BQkNUTF9ERUxJTV8xICAgICAgICAgICAgICAgICAgICAoKHVpbnQxNl90KTB4MDAxMCkgICAgICAgICAgICAgIC8qKjwgMiBiaXQgdGltZXMgKi8NCiNkZWZpbmUgRVVTQ0lfQV9BQkNUTF9ERUxJTV8yICAgICAgICAgICAgICAgICAgICAoKHVpbnQxNl90KTB4MDAyMCkgICAgICAgICAgICAgIC8qKjwgMyBiaXQgdGltZXMgKi8NCiNkZWZpbmUgRVVTQ0lfQV9BQkNUTF9ERUxJTV8zICAgICAgICAgICAgICAgICAgICAoKHVpbnQxNl90KTB4MDAzMCkgICAgICAgICAgICAgIC8qKjwgNCBiaXQgdGltZXMgKi8NCi8qIEVVU0NJX0FfSVJDVExbSVJFTl0gQml0cyAqLw0KI2RlZmluZSBFVVNDSV9BX0lSQ1RMX0lSRU5fT0ZTICAgICAgICAgICAgICAgICAgICggMCkgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyoqPCBVQ0lSRU4gQml0IE9mZnNldCAqLw0KI2RlZmluZSBFVVNDSV9BX0lSQ1RMX0lSRU4gICAgICAgICAgICAgICAgICAgICAgICgodWludDE2X3QpMHgwMDAxKSAgICAgICAgICAgICAgLyoqPCBJckRBIGVuY29kZXIvZGVjb2RlciBlbmFibGUgKi8NCi8qIEVVU0NJX0FfSVJDVExbSVJUWENMS10gQml0cyAqLw0KI2RlZmluZSBFVVNDSV9BX0lSQ1RMX0lSVFhDTEtfT0ZTICAgICAgICAgICAgICAgICggMSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyoqPCBVQ0lSVFhDTEsgQml0IE9mZnNldCAqLw0KI2RlZmluZSBFVVNDSV9BX0lSQ1RMX0lSVFhDTEsgICAgICAgICAgICAgICAgICAgICgodWludDE2X3QpMHgwMDAyKSAgICAgICAgICAgICAgLyoqPCBJckRBIHRyYW5zbWl0IHB1bHNlIGNsb2NrIHNlbGVjdCAqLw0KLyogRVVTQ0lfQV9JUkNUTFtJUlRYUExdIEJpdHMgKi8NCiNkZWZpbmUgRVVTQ0lfQV9JUkNUTF9JUlRYUExfT0ZTICAgICAgICAgICAgICAgICAoIDIpICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgVUNJUlRYUEwgQml0IE9mZnNldCAqLw0KI2RlZmluZSBFVVNDSV9BX0lSQ1RMX0lSVFhQTF9NQVNLICAgICAgICAgICAgICAgICgodWludDE2X3QpMHgwMEZDKSAgICAgICAgICAgICAgLyoqPCBVQ0lSVFhQTCBCaXQgTWFzayAqLw0KLyogRVVTQ0lfQV9JUkNUTFtJUlJYRkVdIEJpdHMgKi8NCiNkZWZpbmUgRVVTQ0lfQV9JUkNUTF9JUlJYRkVfT0ZTICAgICAgICAgICAgICAgICAoIDgpICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgVUNJUlJYRkUgQml0IE9mZnNldCAqLw0KI2RlZmluZSBFVVNDSV9BX0lSQ1RMX0lSUlhGRSAgICAgICAgICAgICAgICAgICAgICgodWludDE2X3QpMHgwMTAwKSAgICAgICAgICAgICAgLyoqPCBJckRBIHJlY2VpdmUgZmlsdGVyIGVuYWJsZWQgKi8NCi8qIEVVU0NJX0FfSVJDVExbSVJSWFBMXSBCaXRzICovDQojZGVmaW5lIEVVU0NJX0FfSVJDVExfSVJSWFBMX09GUyAgICAgICAgICAgICAgICAgKCA5KSAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKio8IFVDSVJSWFBMIEJpdCBPZmZzZXQgKi8NCiNkZWZpbmUgRVVTQ0lfQV9JUkNUTF9JUlJYUEwgICAgICAgICAgICAgICAgICAgICAoKHVpbnQxNl90KTB4MDIwMCkgICAgICAgICAgICAgIC8qKjwgSXJEQSByZWNlaXZlIGlucHV0IFVDQXhSWEQgcG9sYXJpdHkgKi8NCi8qIEVVU0NJX0FfSVJDVExbSVJSWEZMXSBCaXRzICovDQojZGVmaW5lIEVVU0NJX0FfSVJDVExfSVJSWEZMX09GUyAgICAgICAgICAgICAgICAgKDEwKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKio8IFVDSVJSWEZMIEJpdCBPZmZzZXQgKi8NCiNkZWZpbmUgRVVTQ0lfQV9JUkNUTF9JUlJYRkxfTUFTSyAgICAgICAgICAgICAgICAoKHVpbnQxNl90KTB4M0MwMCkgICAgICAgICAgICAgIC8qKjwgVUNJUlJYRkwgQml0IE1hc2sgKi8NCi8qIEVVU0NJX0FfSUVbUlhJRV0gQml0cyAqLw0KI2RlZmluZSBFVVNDSV9BX0lFX1JYSUVfT0ZTICAgICAgICAgICAgICAgICAgICAgICggMCkgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyoqPCBVQ1JYSUUgQml0IE9mZnNldCAqLw0KI2RlZmluZSBFVVNDSV9BX0lFX1JYSUUgICAgICAgICAgICAgICAgICAgICAgICAgICgodWludDE2X3QpMHgwMDAxKSAgICAgICAgICAgICAgLyoqPCBSZWNlaXZlIGludGVycnVwdCBlbmFibGUgKi8NCi8qIEVVU0NJX0FfSUVbVFhJRV0gQml0cyAqLw0KI2RlZmluZSBFVVNDSV9BX0lFX1RYSUVfT0ZTICAgICAgICAgICAgICAgICAgICAgICggMSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyoqPCBVQ1RYSUUgQml0IE9mZnNldCAqLw0KI2RlZmluZSBFVVNDSV9BX0lFX1RYSUUgICAgICAgICAgICAgICAgICAgICAgICAgICgodWludDE2X3QpMHgwMDAyKSAgICAgICAgICAgICAgLyoqPCBUcmFuc21pdCBpbnRlcnJ1cHQgZW5hYmxlICovDQovKiBFVVNDSV9BX0lFW1NUVElFXSBCaXRzICovDQojZGVmaW5lIEVVU0NJX0FfSUVfU1RUSUVfT0ZTICAgICAgICAgICAgICAgICAgICAgKCAyKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKio8IFVDU1RUSUUgQml0IE9mZnNldCAqLw0KI2RlZmluZSBFVVNDSV9BX0lFX1NUVElFICAgICAgICAgICAgICAgICAgICAgICAgICgodWludDE2X3QpMHgwMDA0KSAgICAgICAgICAgICAgLyoqPCBTdGFydCBiaXQgaW50ZXJydXB0IGVuYWJsZSAqLw0KLyogRVVTQ0lfQV9JRVtUWENQVElFXSBCaXRzICovDQojZGVmaW5lIEVVU0NJX0FfSUVfVFhDUFRJRV9PRlMgICAgICAgICAgICAgICAgICAgKCAzKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKio8IFVDVFhDUFRJRSBCaXQgT2Zmc2V0ICovDQojZGVmaW5lIEVVU0NJX0FfSUVfVFhDUFRJRSAgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MTZfdCkweDAwMDgpICAgICAgICAgICAgICAvKio8IFRyYW5zbWl0IGNvbXBsZXRlIGludGVycnVwdCBlbmFibGUgKi8NCi8qIEVVU0NJX0FfVUNBeElFX1NQSVtSWElFXSBCaXRzICovDQojZGVmaW5lIEVVU0NJX0FfX1JYSUVfT0ZTICAgICAgICAgICAgICAgICAgICAgICAgKCAwKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKio8IFVDUlhJRSBCaXQgT2Zmc2V0ICovDQojZGVmaW5lIEVVU0NJX0FfX1JYSUUgICAgICAgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MTZfdCkweDAwMDEpICAgICAgICAgICAgICAvKio8IFJlY2VpdmUgaW50ZXJydXB0IGVuYWJsZSAqLw0KLyogRVVTQ0lfQV9VQ0F4SUVfU1BJW1RYSUVdIEJpdHMgKi8NCiNkZWZpbmUgRVVTQ0lfQV9fVFhJRV9PRlMgICAgICAgICAgICAgICAgICAgICAgICAoIDEpICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgVUNUWElFIEJpdCBPZmZzZXQgKi8NCiNkZWZpbmUgRVVTQ0lfQV9fVFhJRSAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQxNl90KTB4MDAwMikgICAgICAgICAgICAgIC8qKjwgVHJhbnNtaXQgaW50ZXJydXB0IGVuYWJsZSAqLw0KLyogRVVTQ0lfQV9JRkdbUlhJRkddIEJpdHMgKi8NCiNkZWZpbmUgRVVTQ0lfQV9JRkdfUlhJRkdfT0ZTICAgICAgICAgICAgICAgICAgICAoIDApICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgVUNSWElGRyBCaXQgT2Zmc2V0ICovDQojZGVmaW5lIEVVU0NJX0FfSUZHX1JYSUZHICAgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MTZfdCkweDAwMDEpICAgICAgICAgICAgICAvKio8IFJlY2VpdmUgaW50ZXJydXB0IGZsYWcgKi8NCi8qIEVVU0NJX0FfSUZHW1RYSUZHXSBCaXRzICovDQojZGVmaW5lIEVVU0NJX0FfSUZHX1RYSUZHX09GUyAgICAgICAgICAgICAgICAgICAgKCAxKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKio8IFVDVFhJRkcgQml0IE9mZnNldCAqLw0KI2RlZmluZSBFVVNDSV9BX0lGR19UWElGRyAgICAgICAgICAgICAgICAgICAgICAgICgodWludDE2X3QpMHgwMDAyKSAgICAgICAgICAgICAgLyoqPCBUcmFuc21pdCBpbnRlcnJ1cHQgZmxhZyAqLw0KLyogRVVTQ0lfQV9JRkdbU1RUSUZHXSBCaXRzICovDQojZGVmaW5lIEVVU0NJX0FfSUZHX1NUVElGR19PRlMgICAgICAgICAgICAgICAgICAgKCAyKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKio8IFVDU1RUSUZHIEJpdCBPZmZzZXQgKi8NCiNkZWZpbmUgRVVTQ0lfQV9JRkdfU1RUSUZHICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQxNl90KTB4MDAwNCkgICAgICAgICAgICAgIC8qKjwgU3RhcnQgYml0IGludGVycnVwdCBmbGFnICovDQovKiBFVVNDSV9BX0lGR1tUWENQVElGR10gQml0cyAqLw0KI2RlZmluZSBFVVNDSV9BX0lGR19UWENQVElGR19PRlMgICAgICAgICAgICAgICAgICggMykgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyoqPCBVQ1RYQ1BUSUZHIEJpdCBPZmZzZXQgKi8NCiNkZWZpbmUgRVVTQ0lfQV9JRkdfVFhDUFRJRkcgICAgICAgICAgICAgICAgICAgICAoKHVpbnQxNl90KTB4MDAwOCkgICAgICAgICAgICAgIC8qKjwgVHJhbnNtaXQgcmVhZHkgaW50ZXJydXB0IGVuYWJsZSAqLw0KDQoNCi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioNCiogRVVTQ0lfQiBCaXRzDQoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovDQovKiBFVVNDSV9CX0NUTFcwW1NXUlNUXSBCaXRzICovDQojZGVmaW5lIEVVU0NJX0JfQ1RMVzBfU1dSU1RfT0ZTICAgICAgICAgICAgICAgICAgKCAwKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKio8IFVDU1dSU1QgQml0IE9mZnNldCAqLw0KI2RlZmluZSBFVVNDSV9CX0NUTFcwX1NXUlNUICAgICAgICAgICAgICAgICAgICAgICgodWludDE2X3QpMHgwMDAxKSAgICAgICAgICAgICAgLyoqPCBTb2Z0d2FyZSByZXNldCBlbmFibGUgKi8NCi8qIEVVU0NJX0JfQ1RMVzBbVFhTVFRdIEJpdHMgKi8NCiNkZWZpbmUgRVVTQ0lfQl9DVExXMF9UWFNUVF9PRlMgICAgICAgICAgICAgICAgICAoIDEpICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgVUNUWFNUVCBCaXQgT2Zmc2V0ICovDQojZGVmaW5lIEVVU0NJX0JfQ1RMVzBfVFhTVFQgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MTZfdCkweDAwMDIpICAgICAgICAgICAgICAvKio8IFRyYW5zbWl0IFNUQVJUIGNvbmRpdGlvbiBpbiBtYXN0ZXIgbW9kZSAqLw0KLyogRVVTQ0lfQl9DVExXMFtUWFNUUF0gQml0cyAqLw0KI2RlZmluZSBFVVNDSV9CX0NUTFcwX1RYU1RQX09GUyAgICAgICAgICAgICAgICAgICggMikgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyoqPCBVQ1RYU1RQIEJpdCBPZmZzZXQgKi8NCiNkZWZpbmUgRVVTQ0lfQl9DVExXMF9UWFNUUCAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQxNl90KTB4MDAwNCkgICAgICAgICAgICAgIC8qKjwgVHJhbnNtaXQgU1RPUCBjb25kaXRpb24gaW4gbWFzdGVyIG1vZGUgKi8NCi8qIEVVU0NJX0JfQ1RMVzBbVFhOQUNLXSBCaXRzICovDQojZGVmaW5lIEVVU0NJX0JfQ1RMVzBfVFhOQUNLX09GUyAgICAgICAgICAgICAgICAgKCAzKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKio8IFVDVFhOQUNLIEJpdCBPZmZzZXQgKi8NCiNkZWZpbmUgRVVTQ0lfQl9DVExXMF9UWE5BQ0sgICAgICAgICAgICAgICAgICAgICAoKHVpbnQxNl90KTB4MDAwOCkgICAgICAgICAgICAgIC8qKjwgVHJhbnNtaXQgYSBOQUNLICovDQovKiBFVVNDSV9CX0NUTFcwW1RSXSBCaXRzICovDQojZGVmaW5lIEVVU0NJX0JfQ1RMVzBfVFJfT0ZTICAgICAgICAgICAgICAgICAgICAgKCA0KSAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKio8IFVDVFIgQml0IE9mZnNldCAqLw0KI2RlZmluZSBFVVNDSV9CX0NUTFcwX1RSICAgICAgICAgICAgICAgICAgICAgICAgICgodWludDE2X3QpMHgwMDEwKSAgICAgICAgICAgICAgLyoqPCBUcmFuc21pdHRlci9yZWNlaXZlciAqLw0KLyogRVVTQ0lfQl9DVExXMFtUWEFDS10gQml0cyAqLw0KI2RlZmluZSBFVVNDSV9CX0NUTFcwX1RYQUNLX09GUyAgICAgICAgICAgICAgICAgICggNSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyoqPCBVQ1RYQUNLIEJpdCBPZmZzZXQgKi8NCiNkZWZpbmUgRVVTQ0lfQl9DVExXMF9UWEFDSyAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQxNl90KTB4MDAyMCkgICAgICAgICAgICAgIC8qKjwgVHJhbnNtaXQgQUNLIGNvbmRpdGlvbiBpbiBzbGF2ZSBtb2RlICovDQovKiBFVVNDSV9CX0NUTFcwW1NTRUxdIEJpdHMgKi8NCiNkZWZpbmUgRVVTQ0lfQl9DVExXMF9TU0VMX09GUyAgICAgICAgICAgICAgICAgICAoIDYpICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgVUNTU0VMIEJpdCBPZmZzZXQgKi8NCiNkZWZpbmUgRVVTQ0lfQl9DVExXMF9TU0VMX01BU0sgICAgICAgICAgICAgICAgICAoKHVpbnQxNl90KTB4MDBDMCkgICAgICAgICAgICAgIC8qKjwgVUNTU0VMIEJpdCBNYXNrICovDQojZGVmaW5lIEVVU0NJX0JfQ1RMVzBfU1NFTDAgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MTZfdCkweDAwNDApICAgICAgICAgICAgICAvKio8IFNTRUwgQml0IDAgKi8NCiNkZWZpbmUgRVVTQ0lfQl9DVExXMF9TU0VMMSAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQxNl90KTB4MDA4MCkgICAgICAgICAgICAgIC8qKjwgU1NFTCBCaXQgMSAqLw0KI2RlZmluZSBFVVNDSV9CX0NUTFcwX1VDU1NFTF8wICAgICAgICAgICAgICAgICAgICgodWludDE2X3QpMHgwMDAwKSAgICAgICAgICAgICAgLyoqPCBVQ0xLSSAqLw0KI2RlZmluZSBFVVNDSV9CX0NUTFcwX1VDU1NFTF8xICAgICAgICAgICAgICAgICAgICgodWludDE2X3QpMHgwMDQwKSAgICAgICAgICAgICAgLyoqPCBBQ0xLICovDQojZGVmaW5lIEVVU0NJX0JfQ1RMVzBfVUNTU0VMXzIgICAgICAgICAgICAgICAgICAgKCh1aW50MTZfdCkweDAwODApICAgICAgICAgICAgICAvKio8IFNNQ0xLICovDQojZGVmaW5lIEVVU0NJX0JfQ1RMVzBfU1NFTF9fVUNMS0kgICAgICAgICAgICAgICAgKCh1aW50MTZfdCkweDAwMDApICAgICAgICAgICAgICAvKio8IFVDTEtJICovDQojZGVmaW5lIEVVU0NJX0JfQ1RMVzBfU1NFTF9fQUNMSyAgICAgICAgICAgICAgICAgKCh1aW50MTZfdCkweDAwNDApICAgICAgICAgICAgICAvKio8IEFDTEsgKi8NCiNkZWZpbmUgRVVTQ0lfQl9DVExXMF9TU0VMX19TTUNMSyAgICAgICAgICAgICAgICAoKHVpbnQxNl90KTB4MDA4MCkgICAgICAgICAgICAgIC8qKjwgU01DTEsgKi8NCiNkZWZpbmUgRVVTQ0lfQl9DVExXMF9TU0VMXzMgICAgICAgICAgICAgICAgICAgICAoKHVpbnQxNl90KTB4MDBDMCkgICAgICAgICAgICAgIC8qKjwgU01DTEsgKi8NCi8qIEVVU0NJX0JfQ1RMVzBbU1lOQ10gQml0cyAqLw0KI2RlZmluZSBFVVNDSV9CX0NUTFcwX1NZTkNfT0ZTICAgICAgICAgICAgICAgICAgICggOCkgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyoqPCBVQ1NZTkMgQml0IE9mZnNldCAqLw0KI2RlZmluZSBFVVNDSV9CX0NUTFcwX1NZTkMgICAgICAgICAgICAgICAgICAgICAgICgodWludDE2X3QpMHgwMTAwKSAgICAgICAgICAgICAgLyoqPCBTeW5jaHJvbm91cyBtb2RlIGVuYWJsZSAqLw0KLyogRVVTQ0lfQl9DVExXMFtNT0RFXSBCaXRzICovDQojZGVmaW5lIEVVU0NJX0JfQ1RMVzBfTU9ERV9PRlMgICAgICAgICAgICAgICAgICAgKCA5KSAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKio8IFVDTU9ERSBCaXQgT2Zmc2V0ICovDQojZGVmaW5lIEVVU0NJX0JfQ1RMVzBfTU9ERV9NQVNLICAgICAgICAgICAgICAgICAgKCh1aW50MTZfdCkweDA2MDApICAgICAgICAgICAgICAvKio8IFVDTU9ERSBCaXQgTWFzayAqLw0KI2RlZmluZSBFVVNDSV9CX0NUTFcwX01PREUwICAgICAgICAgICAgICAgICAgICAgICgodWludDE2X3QpMHgwMjAwKSAgICAgICAgICAgICAgLyoqPCBNT0RFIEJpdCAwICovDQojZGVmaW5lIEVVU0NJX0JfQ1RMVzBfTU9ERTEgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MTZfdCkweDA0MDApICAgICAgICAgICAgICAvKio8IE1PREUgQml0IDEgKi8NCiNkZWZpbmUgRVVTQ0lfQl9DVExXMF9NT0RFXzAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQxNl90KTB4MDAwMCkgICAgICAgICAgICAgIC8qKjwgMy1waW4gU1BJICovDQojZGVmaW5lIEVVU0NJX0JfQ1RMVzBfTU9ERV8xICAgICAgICAgICAgICAgICAgICAgKCh1aW50MTZfdCkweDAyMDApICAgICAgICAgICAgICAvKio8IDQtcGluIFNQSSAobWFzdGVyIG9yIHNsYXZlIGVuYWJsZWQgaWYgU1RFID0gMSkgKi8NCiNkZWZpbmUgRVVTQ0lfQl9DVExXMF9NT0RFXzIgICAgICAgICAgICAgICAgICAgICAoKHVpbnQxNl90KTB4MDQwMCkgICAgICAgICAgICAgIC8qKjwgNC1waW4gU1BJIChtYXN0ZXIgb3Igc2xhdmUgZW5hYmxlZCBpZiBTVEUgPSAwKSAqLw0KI2RlZmluZSBFVVNDSV9CX0NUTFcwX01PREVfMyAgICAgICAgICAgICAgICAgICAgICgodWludDE2X3QpMHgwNjAwKSAgICAgICAgICAgICAgLyoqPCBJMkMgbW9kZSAqLw0KLyogRVVTQ0lfQl9DVExXMFtNU1RdIEJpdHMgKi8NCiNkZWZpbmUgRVVTQ0lfQl9DVExXMF9NU1RfT0ZTICAgICAgICAgICAgICAgICAgICAoMTEpICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgVUNNU1QgQml0IE9mZnNldCAqLw0KI2RlZmluZSBFVVNDSV9CX0NUTFcwX01TVCAgICAgICAgICAgICAgICAgICAgICAgICgodWludDE2X3QpMHgwODAwKSAgICAgICAgICAgICAgLyoqPCBNYXN0ZXIgbW9kZSBzZWxlY3QgKi8NCi8qIEVVU0NJX0JfQ1RMVzBbTU1dIEJpdHMgKi8NCiNkZWZpbmUgRVVTQ0lfQl9DVExXMF9NTV9PRlMgICAgICAgICAgICAgICAgICAgICAoMTMpICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgVUNNTSBCaXQgT2Zmc2V0ICovDQojZGVmaW5lIEVVU0NJX0JfQ1RMVzBfTU0gICAgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MTZfdCkweDIwMDApICAgICAgICAgICAgICAvKio8IE11bHRpLW1hc3RlciBlbnZpcm9ubWVudCBzZWxlY3QgKi8NCi8qIEVVU0NJX0JfQ1RMVzBbU0xBMTBdIEJpdHMgKi8NCiNkZWZpbmUgRVVTQ0lfQl9DVExXMF9TTEExMF9PRlMgICAgICAgICAgICAgICAgICAoMTQpICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgVUNTTEExMCBCaXQgT2Zmc2V0ICovDQojZGVmaW5lIEVVU0NJX0JfQ1RMVzBfU0xBMTAgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MTZfdCkweDQwMDApICAgICAgICAgICAgICAvKio8IFNsYXZlIGFkZHJlc3NpbmcgbW9kZSBzZWxlY3QgKi8NCi8qIEVVU0NJX0JfQ1RMVzBbQTEwXSBCaXRzICovDQojZGVmaW5lIEVVU0NJX0JfQ1RMVzBfQTEwX09GUyAgICAgICAgICAgICAgICAgICAgKDE1KSAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKio8IFVDQTEwIEJpdCBPZmZzZXQgKi8NCiNkZWZpbmUgRVVTQ0lfQl9DVExXMF9BMTAgICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQxNl90KTB4ODAwMCkgICAgICAgICAgICAgIC8qKjwgT3duIGFkZHJlc3NpbmcgbW9kZSBzZWxlY3QgKi8NCi8qIEVVU0NJX0JfQ1RMVzBbU1RFTV0gQml0cyAqLw0KI2RlZmluZSBFVVNDSV9CX0NUTFcwX1NURU1fT0ZTICAgICAgICAgICAgICAgICAgICggMSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyoqPCBVQ1NURU0gQml0IE9mZnNldCAqLw0KI2RlZmluZSBFVVNDSV9CX0NUTFcwX1NURU0gICAgICAgICAgICAgICAgICAgICAgICgodWludDE2X3QpMHgwMDAyKSAgICAgICAgICAgICAgLyoqPCBTVEUgbW9kZSBzZWxlY3QgaW4gbWFzdGVyIG1vZGUuICovDQovKiBFVVNDSV9CX0NUTFcwW1NTRUxdIEJpdHMgKi8NCg0KDQojZGVmaW5lIEVVU0NJX0JfQ1RMVzBfU1NFTF8wICAgICAgICAgICAgICAgICAgICAgKCh1aW50MTZfdCkweDAwMDApICAgICAgICAgICAgICAvKio8IFJlc2VydmVkICovDQoNCg0KDQovKiBFVVNDSV9CX0NUTFcwW01PREVdIEJpdHMgKi8NCg0KDQoNCg0KLyogRVVTQ0lfQl9DVExXMFtTRVZFTkJJVF0gQml0cyAqLw0KI2RlZmluZSBFVVNDSV9CX0NUTFcwX1NFVkVOQklUX09GUyAgICAgICAgICAgICAgICgxMikgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyoqPCBVQzdCSVQgQml0IE9mZnNldCAqLw0KI2RlZmluZSBFVVNDSV9CX0NUTFcwX1NFVkVOQklUICAgICAgICAgICAgICAgICAgICgodWludDE2X3QpMHgxMDAwKSAgICAgICAgICAgICAgLyoqPCBDaGFyYWN0ZXIgbGVuZ3RoICovDQovKiBFVVNDSV9CX0NUTFcwW01TQl0gQml0cyAqLw0KI2RlZmluZSBFVVNDSV9CX0NUTFcwX01TQl9PRlMgICAgICAgICAgICAgICAgICAgICgxMykgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyoqPCBVQ01TQiBCaXQgT2Zmc2V0ICovDQojZGVmaW5lIEVVU0NJX0JfQ1RMVzBfTVNCICAgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MTZfdCkweDIwMDApICAgICAgICAgICAgICAvKio8IE1TQiBmaXJzdCBzZWxlY3QgKi8NCi8qIEVVU0NJX0JfQ1RMVzBbQ0tQTF0gQml0cyAqLw0KI2RlZmluZSBFVVNDSV9CX0NUTFcwX0NLUExfT0ZTICAgICAgICAgICAgICAgICAgICgxNCkgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyoqPCBVQ0NLUEwgQml0IE9mZnNldCAqLw0KI2RlZmluZSBFVVNDSV9CX0NUTFcwX0NLUEwgICAgICAgICAgICAgICAgICAgICAgICgodWludDE2X3QpMHg0MDAwKSAgICAgICAgICAgICAgLyoqPCBDbG9jayBwb2xhcml0eSBzZWxlY3QgKi8NCi8qIEVVU0NJX0JfQ1RMVzBbQ0tQSF0gQml0cyAqLw0KI2RlZmluZSBFVVNDSV9CX0NUTFcwX0NLUEhfT0ZTICAgICAgICAgICAgICAgICAgICgxNSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyoqPCBVQ0NLUEggQml0IE9mZnNldCAqLw0KI2RlZmluZSBFVVNDSV9CX0NUTFcwX0NLUEggICAgICAgICAgICAgICAgICAgICAgICgodWludDE2X3QpMHg4MDAwKSAgICAgICAgICAgICAgLyoqPCBDbG9jayBwaGFzZSBzZWxlY3QgKi8NCi8qIEVVU0NJX0JfQ1RMVzFbR0xJVF0gQml0cyAqLw0KI2RlZmluZSBFVVNDSV9CX0NUTFcxX0dMSVRfT0ZTICAgICAgICAgICAgICAgICAgICggMCkgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyoqPCBVQ0dMSVQgQml0IE9mZnNldCAqLw0KI2RlZmluZSBFVVNDSV9CX0NUTFcxX0dMSVRfTUFTSyAgICAgICAgICAgICAgICAgICgodWludDE2X3QpMHgwMDAzKSAgICAgICAgICAgICAgLyoqPCBVQ0dMSVQgQml0IE1hc2sgKi8NCiNkZWZpbmUgRVVTQ0lfQl9DVExXMV9HTElUMCAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQxNl90KTB4MDAwMSkgICAgICAgICAgICAgIC8qKjwgR0xJVCBCaXQgMCAqLw0KI2RlZmluZSBFVVNDSV9CX0NUTFcxX0dMSVQxICAgICAgICAgICAgICAgICAgICAgICgodWludDE2X3QpMHgwMDAyKSAgICAgICAgICAgICAgLyoqPCBHTElUIEJpdCAxICovDQojZGVmaW5lIEVVU0NJX0JfQ1RMVzFfR0xJVF8wICAgICAgICAgICAgICAgICAgICAgKCh1aW50MTZfdCkweDAwMDApICAgICAgICAgICAgICAvKio8IDUwIG5zICovDQojZGVmaW5lIEVVU0NJX0JfQ1RMVzFfR0xJVF8xICAgICAgICAgICAgICAgICAgICAgKCh1aW50MTZfdCkweDAwMDEpICAgICAgICAgICAgICAvKio8IDI1IG5zICovDQojZGVmaW5lIEVVU0NJX0JfQ1RMVzFfR0xJVF8yICAgICAgICAgICAgICAgICAgICAgKCh1aW50MTZfdCkweDAwMDIpICAgICAgICAgICAgICAvKio8IDEyLjUgbnMgKi8NCiNkZWZpbmUgRVVTQ0lfQl9DVExXMV9HTElUXzMgICAgICAgICAgICAgICAgICAgICAoKHVpbnQxNl90KTB4MDAwMykgICAgICAgICAgICAgIC8qKjwgNi4yNSBucyAqLw0KLyogRVVTQ0lfQl9DVExXMVtBU1RQXSBCaXRzICovDQojZGVmaW5lIEVVU0NJX0JfQ1RMVzFfQVNUUF9PRlMgICAgICAgICAgICAgICAgICAgKCAyKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKio8IFVDQVNUUCBCaXQgT2Zmc2V0ICovDQojZGVmaW5lIEVVU0NJX0JfQ1RMVzFfQVNUUF9NQVNLICAgICAgICAgICAgICAgICAgKCh1aW50MTZfdCkweDAwMEMpICAgICAgICAgICAgICAvKio8IFVDQVNUUCBCaXQgTWFzayAqLw0KI2RlZmluZSBFVVNDSV9CX0NUTFcxX0FTVFAwICAgICAgICAgICAgICAgICAgICAgICgodWludDE2X3QpMHgwMDA0KSAgICAgICAgICAgICAgLyoqPCBBU1RQIEJpdCAwICovDQojZGVmaW5lIEVVU0NJX0JfQ1RMVzFfQVNUUDEgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MTZfdCkweDAwMDgpICAgICAgICAgICAgICAvKio8IEFTVFAgQml0IDEgKi8NCiNkZWZpbmUgRVVTQ0lfQl9DVExXMV9BU1RQXzAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQxNl90KTB4MDAwMCkgICAgICAgICAgICAgIC8qKjwgTm8gYXV0b21hdGljIFNUT1AgZ2VuZXJhdGlvbi4gVGhlIFNUT1AgY29uZGl0aW9uIGlzIGdlbmVyYXRlZCBhZnRlciB0aGUgdXNlciAgKi8NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qIHNldHMgdGhlIFVDVFhTVFAgYml0LiBUaGUgdmFsdWUgaW4gVUNCeFRCQ05UIGlzIGEgZG9uJ3QgY2FyZS4gKi8NCiNkZWZpbmUgRVVTQ0lfQl9DVExXMV9BU1RQXzEgICAgICAgICAgICAgICAgICAgICAoKHVpbnQxNl90KTB4MDAwNCkgICAgICAgICAgICAgIC8qKjwgVUNCQ05USUZHIGlzIHNldCB3aXRoIHRoZSBieXRlIGNvdW50ZXIgcmVhY2hlcyB0aGUgdGhyZXNob2xkIGRlZmluZWQgaW4gICovDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiBVQ0J4VEJDTlQgKi8NCiNkZWZpbmUgRVVTQ0lfQl9DVExXMV9BU1RQXzIgICAgICAgICAgICAgICAgICAgICAoKHVpbnQxNl90KTB4MDAwOCkgICAgICAgICAgICAgIC8qKjwgQSBTVE9QIGNvbmRpdGlvbiBpcyBnZW5lcmF0ZWQgYXV0b21hdGljYWxseSBhZnRlciB0aGUgYnl0ZSBjb3VudGVyIHZhbHVlICAqLw0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyogcmVhY2hlZCBVQ0J4VEJDTlQuIFVDQkNOVElGRyBpcyBzZXQgd2l0aCB0aGUgYnl0ZSBjb3VudGVyIHJlYWNoaW5nIHRoZSAgKi8NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qIHRocmVzaG9sZCAqLw0KLyogRVVTQ0lfQl9DVExXMVtTV0FDS10gQml0cyAqLw0KI2RlZmluZSBFVVNDSV9CX0NUTFcxX1NXQUNLX09GUyAgICAgICAgICAgICAgICAgICggNCkgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyoqPCBVQ1NXQUNLIEJpdCBPZmZzZXQgKi8NCiNkZWZpbmUgRVVTQ0lfQl9DVExXMV9TV0FDSyAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQxNl90KTB4MDAxMCkgICAgICAgICAgICAgIC8qKjwgU1cgb3IgSFcgQUNLIGNvbnRyb2wgKi8NCi8qIEVVU0NJX0JfQ1RMVzFbU1RQTkFDS10gQml0cyAqLw0KI2RlZmluZSBFVVNDSV9CX0NUTFcxX1NUUE5BQ0tfT0ZTICAgICAgICAgICAgICAgICggNSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyoqPCBVQ1NUUE5BQ0sgQml0IE9mZnNldCAqLw0KI2RlZmluZSBFVVNDSV9CX0NUTFcxX1NUUE5BQ0sgICAgICAgICAgICAgICAgICAgICgodWludDE2X3QpMHgwMDIwKSAgICAgICAgICAgICAgLyoqPCBBQ0sgYWxsIG1hc3RlciBieXRlcyAqLw0KLyogRVVTQ0lfQl9DVExXMVtDTFRPXSBCaXRzICovDQojZGVmaW5lIEVVU0NJX0JfQ1RMVzFfQ0xUT19PRlMgICAgICAgICAgICAgICAgICAgKCA2KSAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKio8IFVDQ0xUTyBCaXQgT2Zmc2V0ICovDQojZGVmaW5lIEVVU0NJX0JfQ1RMVzFfQ0xUT19NQVNLICAgICAgICAgICAgICAgICAgKCh1aW50MTZfdCkweDAwQzApICAgICAgICAgICAgICAvKio8IFVDQ0xUTyBCaXQgTWFzayAqLw0KI2RlZmluZSBFVVNDSV9CX0NUTFcxX0NMVE8wICAgICAgICAgICAgICAgICAgICAgICgodWludDE2X3QpMHgwMDQwKSAgICAgICAgICAgICAgLyoqPCBDTFRPIEJpdCAwICovDQojZGVmaW5lIEVVU0NJX0JfQ1RMVzFfQ0xUTzEgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MTZfdCkweDAwODApICAgICAgICAgICAgICAvKio8IENMVE8gQml0IDEgKi8NCiNkZWZpbmUgRVVTQ0lfQl9DVExXMV9DTFRPXzAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQxNl90KTB4MDAwMCkgICAgICAgICAgICAgIC8qKjwgRGlzYWJsZSBjbG9jayBsb3cgdGltZW91dCBjb3VudGVyICovDQojZGVmaW5lIEVVU0NJX0JfQ1RMVzFfQ0xUT18xICAgICAgICAgICAgICAgICAgICAgKCh1aW50MTZfdCkweDAwNDApICAgICAgICAgICAgICAvKio8IDEzNSAwMDAgU1lTQ0xLIGN5Y2xlcyAoYXBwcm94aW1hdGVseSAyOCBtcykgKi8NCiNkZWZpbmUgRVVTQ0lfQl9DVExXMV9DTFRPXzIgICAgICAgICAgICAgICAgICAgICAoKHVpbnQxNl90KTB4MDA4MCkgICAgICAgICAgICAgIC8qKjwgMTUwIDAwMCBTWVNDTEsgY3ljbGVzIChhcHByb3hpbWF0ZWx5IDMxIG1zKSAqLw0KI2RlZmluZSBFVVNDSV9CX0NUTFcxX0NMVE9fMyAgICAgICAgICAgICAgICAgICAgICgodWludDE2X3QpMHgwMEMwKSAgICAgICAgICAgICAgLyoqPCAxNjUgMDAwIFNZU0NMSyBjeWNsZXMgKGFwcHJveGltYXRlbHkgMzQgbXMpICovDQovKiBFVVNDSV9CX0NUTFcxW0VUWElOVF0gQml0cyAqLw0KI2RlZmluZSBFVVNDSV9CX0NUTFcxX0VUWElOVF9PRlMgICAgICAgICAgICAgICAgICggOCkgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyoqPCBVQ0VUWElOVCBCaXQgT2Zmc2V0ICovDQojZGVmaW5lIEVVU0NJX0JfQ1RMVzFfRVRYSU5UICAgICAgICAgICAgICAgICAgICAgKCh1aW50MTZfdCkweDAxMDApICAgICAgICAgICAgICAvKio8IEVhcmx5IFVDVFhJRkcwICovDQovKiBFVVNDSV9CX1NUQVRXW0JCVVNZXSBCaXRzICovDQojZGVmaW5lIEVVU0NJX0JfU1RBVFdfQkJVU1lfT0ZTICAgICAgICAgICAgICAgICAgKCA0KSAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKio8IFVDQkJVU1kgQml0IE9mZnNldCAqLw0KI2RlZmluZSBFVVNDSV9CX1NUQVRXX0JCVVNZICAgICAgICAgICAgICAgICAgICAgICgodWludDE2X3QpMHgwMDEwKSAgICAgICAgICAgICAgLyoqPCBCdXMgYnVzeSAqLw0KLyogRVVTQ0lfQl9TVEFUV1tHQ10gQml0cyAqLw0KI2RlZmluZSBFVVNDSV9CX1NUQVRXX0dDX09GUyAgICAgICAgICAgICAgICAgICAgICggNSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyoqPCBVQ0dDIEJpdCBPZmZzZXQgKi8NCiNkZWZpbmUgRVVTQ0lfQl9TVEFUV19HQyAgICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQxNl90KTB4MDAyMCkgICAgICAgICAgICAgIC8qKjwgR2VuZXJhbCBjYWxsIGFkZHJlc3MgcmVjZWl2ZWQgKi8NCi8qIEVVU0NJX0JfU1RBVFdbU0NMTE9XXSBCaXRzICovDQojZGVmaW5lIEVVU0NJX0JfU1RBVFdfU0NMTE9XX09GUyAgICAgICAgICAgICAgICAgKCA2KSAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKio8IFVDU0NMTE9XIEJpdCBPZmZzZXQgKi8NCiNkZWZpbmUgRVVTQ0lfQl9TVEFUV19TQ0xMT1cgICAgICAgICAgICAgICAgICAgICAoKHVpbnQxNl90KTB4MDA0MCkgICAgICAgICAgICAgIC8qKjwgU0NMIGxvdyAqLw0KLyogRVVTQ0lfQl9TVEFUV1tCQ05UXSBCaXRzICovDQojZGVmaW5lIEVVU0NJX0JfU1RBVFdfQkNOVF9PRlMgICAgICAgICAgICAgICAgICAgKCA4KSAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKio8IFVDQkNOVCBCaXQgT2Zmc2V0ICovDQojZGVmaW5lIEVVU0NJX0JfU1RBVFdfQkNOVF9NQVNLICAgICAgICAgICAgICAgICAgKCh1aW50MTZfdCkweEZGMDApICAgICAgICAgICAgICAvKio8IFVDQkNOVCBCaXQgTWFzayAqLw0KLyogRVVTQ0lfQl9TVEFUV1tCVVNZXSBCaXRzICovDQojZGVmaW5lIEVVU0NJX0JfU1RBVFdfQlVTWV9PRlMgICAgICAgICAgICAgICAgICAgKCAwKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKio8IFVDQlVTWSBCaXQgT2Zmc2V0ICovDQojZGVmaW5lIEVVU0NJX0JfU1RBVFdfQlVTWSAgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MTZfdCkweDAwMDEpICAgICAgICAgICAgICAvKio8IGVVU0NJX0IgYnVzeSAqLw0KLyogRVVTQ0lfQl9TVEFUV1tPRV0gQml0cyAqLw0KI2RlZmluZSBFVVNDSV9CX1NUQVRXX09FX09GUyAgICAgICAgICAgICAgICAgICAgICggNSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyoqPCBVQ09FIEJpdCBPZmZzZXQgKi8NCiNkZWZpbmUgRVVTQ0lfQl9TVEFUV19PRSAgICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQxNl90KTB4MDAyMCkgICAgICAgICAgICAgIC8qKjwgT3ZlcnJ1biBlcnJvciBmbGFnICovDQovKiBFVVNDSV9CX1NUQVRXW0ZFXSBCaXRzICovDQojZGVmaW5lIEVVU0NJX0JfU1RBVFdfRkVfT0ZTICAgICAgICAgICAgICAgICAgICAgKCA2KSAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKio8IFVDRkUgQml0IE9mZnNldCAqLw0KI2RlZmluZSBFVVNDSV9CX1NUQVRXX0ZFICAgICAgICAgICAgICAgICAgICAgICAgICgodWludDE2X3QpMHgwMDQwKSAgICAgICAgICAgICAgLyoqPCBGcmFtaW5nIGVycm9yIGZsYWcgKi8NCi8qIEVVU0NJX0JfU1RBVFdbTElTVEVOXSBCaXRzICovDQojZGVmaW5lIEVVU0NJX0JfU1RBVFdfTElTVEVOX09GUyAgICAgICAgICAgICAgICAgKCA3KSAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKio8IFVDTElTVEVOIEJpdCBPZmZzZXQgKi8NCiNkZWZpbmUgRVVTQ0lfQl9TVEFUV19MSVNURU4gICAgICAgICAgICAgICAgICAgICAoKHVpbnQxNl90KTB4MDA4MCkgICAgICAgICAgICAgIC8qKjwgTGlzdGVuIGVuYWJsZSAqLw0KLyogRVVTQ0lfQl9UQkNOVFtUQkNOVF0gQml0cyAqLw0KI2RlZmluZSBFVVNDSV9CX1RCQ05UX1RCQ05UX09GUyAgICAgICAgICAgICAgICAgICggMCkgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyoqPCBVQ1RCQ05UIEJpdCBPZmZzZXQgKi8NCiNkZWZpbmUgRVVTQ0lfQl9UQkNOVF9UQkNOVF9NQVNLICAgICAgICAgICAgICAgICAoKHVpbnQxNl90KTB4MDBGRikgICAgICAgICAgICAgIC8qKjwgVUNUQkNOVCBCaXQgTWFzayAqLw0KLyogRVVTQ0lfQl9SWEJVRltSWEJVRl0gQml0cyAqLw0KI2RlZmluZSBFVVNDSV9CX1JYQlVGX1JYQlVGX09GUyAgICAgICAgICAgICAgICAgICggMCkgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyoqPCBVQ1JYQlVGIEJpdCBPZmZzZXQgKi8NCiNkZWZpbmUgRVVTQ0lfQl9SWEJVRl9SWEJVRl9NQVNLICAgICAgICAgICAgICAgICAoKHVpbnQxNl90KTB4MDBGRikgICAgICAgICAgICAgIC8qKjwgVUNSWEJVRiBCaXQgTWFzayAqLw0KLyogRVVTQ0lfQl9UWEJVRltUWEJVRl0gQml0cyAqLw0KI2RlZmluZSBFVVNDSV9CX1RYQlVGX1RYQlVGX09GUyAgICAgICAgICAgICAgICAgICggMCkgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyoqPCBVQ1RYQlVGIEJpdCBPZmZzZXQgKi8NCiNkZWZpbmUgRVVTQ0lfQl9UWEJVRl9UWEJVRl9NQVNLICAgICAgICAgICAgICAgICAoKHVpbnQxNl90KTB4MDBGRikgICAgICAgICAgICAgIC8qKjwgVUNUWEJVRiBCaXQgTWFzayAqLw0KLyogRVVTQ0lfQl9JMkNPQTBbSTJDT0EwXSBCaXRzICovDQojZGVmaW5lIEVVU0NJX0JfSTJDT0EwX0kyQ09BMF9PRlMgICAgICAgICAgICAgICAgKCAwKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKio8IEkyQ09BMCBCaXQgT2Zmc2V0ICovDQojZGVmaW5lIEVVU0NJX0JfSTJDT0EwX0kyQ09BMF9NQVNLICAgICAgICAgICAgICAgKCh1aW50MTZfdCkweDAzRkYpICAgICAgICAgICAgICAvKio8IEkyQ09BMCBCaXQgTWFzayAqLw0KLyogRVVTQ0lfQl9JMkNPQTBbT0FFTl0gQml0cyAqLw0KI2RlZmluZSBFVVNDSV9CX0kyQ09BMF9PQUVOX09GUyAgICAgICAgICAgICAgICAgICgxMCkgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyoqPCBVQ09BRU4gQml0IE9mZnNldCAqLw0KI2RlZmluZSBFVVNDSV9CX0kyQ09BMF9PQUVOICAgICAgICAgICAgICAgICAgICAgICgodWludDE2X3QpMHgwNDAwKSAgICAgICAgICAgICAgLyoqPCBPd24gQWRkcmVzcyBlbmFibGUgcmVnaXN0ZXIgKi8NCi8qIEVVU0NJX0JfSTJDT0EwW0dDRU5dIEJpdHMgKi8NCiNkZWZpbmUgRVVTQ0lfQl9JMkNPQTBfR0NFTl9PRlMgICAgICAgICAgICAgICAgICAoMTUpICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgVUNHQ0VOIEJpdCBPZmZzZXQgKi8NCiNkZWZpbmUgRVVTQ0lfQl9JMkNPQTBfR0NFTiAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQxNl90KTB4ODAwMCkgICAgICAgICAgICAgIC8qKjwgR2VuZXJhbCBjYWxsIHJlc3BvbnNlIGVuYWJsZSAqLw0KLyogRVVTQ0lfQl9JMkNPQTFbSTJDT0ExXSBCaXRzICovDQojZGVmaW5lIEVVU0NJX0JfSTJDT0ExX0kyQ09BMV9PRlMgICAgICAgICAgICAgICAgKCAwKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKio8IEkyQ09BMSBCaXQgT2Zmc2V0ICovDQojZGVmaW5lIEVVU0NJX0JfSTJDT0ExX0kyQ09BMV9NQVNLICAgICAgICAgICAgICAgKCh1aW50MTZfdCkweDAzRkYpICAgICAgICAgICAgICAvKio8IEkyQ09BMSBCaXQgTWFzayAqLw0KLyogRVVTQ0lfQl9JMkNPQTFbT0FFTl0gQml0cyAqLw0KI2RlZmluZSBFVVNDSV9CX0kyQ09BMV9PQUVOX09GUyAgICAgICAgICAgICAgICAgICgxMCkgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyoqPCBVQ09BRU4gQml0IE9mZnNldCAqLw0KI2RlZmluZSBFVVNDSV9CX0kyQ09BMV9PQUVOICAgICAgICAgICAgICAgICAgICAgICgodWludDE2X3QpMHgwNDAwKSAgICAgICAgICAgICAgLyoqPCBPd24gQWRkcmVzcyBlbmFibGUgcmVnaXN0ZXIgKi8NCi8qIEVVU0NJX0JfSTJDT0EyW0kyQ09BMl0gQml0cyAqLw0KI2RlZmluZSBFVVNDSV9CX0kyQ09BMl9JMkNPQTJfT0ZTICAgICAgICAgICAgICAgICggMCkgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyoqPCBJMkNPQTIgQml0IE9mZnNldCAqLw0KI2RlZmluZSBFVVNDSV9CX0kyQ09BMl9JMkNPQTJfTUFTSyAgICAgICAgICAgICAgICgodWludDE2X3QpMHgwM0ZGKSAgICAgICAgICAgICAgLyoqPCBJMkNPQTIgQml0IE1hc2sgKi8NCi8qIEVVU0NJX0JfSTJDT0EyW09BRU5dIEJpdHMgKi8NCiNkZWZpbmUgRVVTQ0lfQl9JMkNPQTJfT0FFTl9PRlMgICAgICAgICAgICAgICAgICAoMTApICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgVUNPQUVOIEJpdCBPZmZzZXQgKi8NCiNkZWZpbmUgRVVTQ0lfQl9JMkNPQTJfT0FFTiAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQxNl90KTB4MDQwMCkgICAgICAgICAgICAgIC8qKjwgT3duIEFkZHJlc3MgZW5hYmxlIHJlZ2lzdGVyICovDQovKiBFVVNDSV9CX0kyQ09BM1tJMkNPQTNdIEJpdHMgKi8NCiNkZWZpbmUgRVVTQ0lfQl9JMkNPQTNfSTJDT0EzX09GUyAgICAgICAgICAgICAgICAoIDApICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgSTJDT0EzIEJpdCBPZmZzZXQgKi8NCiNkZWZpbmUgRVVTQ0lfQl9JMkNPQTNfSTJDT0EzX01BU0sgICAgICAgICAgICAgICAoKHVpbnQxNl90KTB4MDNGRikgICAgICAgICAgICAgIC8qKjwgSTJDT0EzIEJpdCBNYXNrICovDQovKiBFVVNDSV9CX0kyQ09BM1tPQUVOXSBCaXRzICovDQojZGVmaW5lIEVVU0NJX0JfSTJDT0EzX09BRU5fT0ZTICAgICAgICAgICAgICAgICAgKDEwKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKio8IFVDT0FFTiBCaXQgT2Zmc2V0ICovDQojZGVmaW5lIEVVU0NJX0JfSTJDT0EzX09BRU4gICAgICAgICAgICAgICAgICAgICAgKCh1aW50MTZfdCkweDA0MDApICAgICAgICAgICAgICAvKio8IE93biBBZGRyZXNzIGVuYWJsZSByZWdpc3RlciAqLw0KLyogRVVTQ0lfQl9BRERSWFtBRERSWF0gQml0cyAqLw0KI2RlZmluZSBFVVNDSV9CX0FERFJYX0FERFJYX09GUyAgICAgICAgICAgICAgICAgICggMCkgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyoqPCBBRERSWCBCaXQgT2Zmc2V0ICovDQojZGVmaW5lIEVVU0NJX0JfQUREUlhfQUREUlhfTUFTSyAgICAgICAgICAgICAgICAgKCh1aW50MTZfdCkweDAzRkYpICAgICAgICAgICAgICAvKio8IEFERFJYIEJpdCBNYXNrICovDQovKiBFVVNDSV9CX0FERE1BU0tbQURETUFTS10gQml0cyAqLw0KI2RlZmluZSBFVVNDSV9CX0FERE1BU0tfQURETUFTS19PRlMgICAgICAgICAgICAgICggMCkgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyoqPCBBRERNQVNLIEJpdCBPZmZzZXQgKi8NCiNkZWZpbmUgRVVTQ0lfQl9BRERNQVNLX0FERE1BU0tfTUFTSyAgICAgICAgICAgICAoKHVpbnQxNl90KTB4MDNGRikgICAgICAgICAgICAgIC8qKjwgQURETUFTSyBCaXQgTWFzayAqLw0KLyogRVVTQ0lfQl9JMkNTQVtJMkNTQV0gQml0cyAqLw0KI2RlZmluZSBFVVNDSV9CX0kyQ1NBX0kyQ1NBX09GUyAgICAgICAgICAgICAgICAgICggMCkgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyoqPCBJMkNTQSBCaXQgT2Zmc2V0ICovDQojZGVmaW5lIEVVU0NJX0JfSTJDU0FfSTJDU0FfTUFTSyAgICAgICAgICAgICAgICAgKCh1aW50MTZfdCkweDAzRkYpICAgICAgICAgICAgICAvKio8IEkyQ1NBIEJpdCBNYXNrICovDQovKiBFVVNDSV9CX0lFW1JYSUUwXSBCaXRzICovDQojZGVmaW5lIEVVU0NJX0JfSUVfUlhJRTBfT0ZTICAgICAgICAgICAgICAgICAgICAgKCAwKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKio8IFVDUlhJRTAgQml0IE9mZnNldCAqLw0KI2RlZmluZSBFVVNDSV9CX0lFX1JYSUUwICAgICAgICAgICAgICAgICAgICAgICAgICgodWludDE2X3QpMHgwMDAxKSAgICAgICAgICAgICAgLyoqPCBSZWNlaXZlIGludGVycnVwdCBlbmFibGUgMCAqLw0KLyogRVVTQ0lfQl9JRVtUWElFMF0gQml0cyAqLw0KI2RlZmluZSBFVVNDSV9CX0lFX1RYSUUwX09GUyAgICAgICAgICAgICAgICAgICAgICggMSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyoqPCBVQ1RYSUUwIEJpdCBPZmZzZXQgKi8NCiNkZWZpbmUgRVVTQ0lfQl9JRV9UWElFMCAgICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQxNl90KTB4MDAwMikgICAgICAgICAgICAgIC8qKjwgVHJhbnNtaXQgaW50ZXJydXB0IGVuYWJsZSAwICovDQovKiBFVVNDSV9CX0lFW1NUVElFXSBCaXRzICovDQojZGVmaW5lIEVVU0NJX0JfSUVfU1RUSUVfT0ZTICAgICAgICAgICAgICAgICAgICAgKCAyKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKio8IFVDU1RUSUUgQml0IE9mZnNldCAqLw0KI2RlZmluZSBFVVNDSV9CX0lFX1NUVElFICAgICAgICAgICAgICAgICAgICAgICAgICgodWludDE2X3QpMHgwMDA0KSAgICAgICAgICAgICAgLyoqPCBTVEFSVCBjb25kaXRpb24gaW50ZXJydXB0IGVuYWJsZSAqLw0KLyogRVVTQ0lfQl9JRVtTVFBJRV0gQml0cyAqLw0KI2RlZmluZSBFVVNDSV9CX0lFX1NUUElFX09GUyAgICAgICAgICAgICAgICAgICAgICggMykgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyoqPCBVQ1NUUElFIEJpdCBPZmZzZXQgKi8NCiNkZWZpbmUgRVVTQ0lfQl9JRV9TVFBJRSAgICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQxNl90KTB4MDAwOCkgICAgICAgICAgICAgIC8qKjwgU1RPUCBjb25kaXRpb24gaW50ZXJydXB0IGVuYWJsZSAqLw0KLyogRVVTQ0lfQl9JRVtBTElFXSBCaXRzICovDQojZGVmaW5lIEVVU0NJX0JfSUVfQUxJRV9PRlMgICAgICAgICAgICAgICAgICAgICAgKCA0KSAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKio8IFVDQUxJRSBCaXQgT2Zmc2V0ICovDQojZGVmaW5lIEVVU0NJX0JfSUVfQUxJRSAgICAgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MTZfdCkweDAwMTApICAgICAgICAgICAgICAvKio8IEFyYml0cmF0aW9uIGxvc3QgaW50ZXJydXB0IGVuYWJsZSAqLw0KLyogRVVTQ0lfQl9JRVtOQUNLSUVdIEJpdHMgKi8NCiNkZWZpbmUgRVVTQ0lfQl9JRV9OQUNLSUVfT0ZTICAgICAgICAgICAgICAgICAgICAoIDUpICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgVUNOQUNLSUUgQml0IE9mZnNldCAqLw0KI2RlZmluZSBFVVNDSV9CX0lFX05BQ0tJRSAgICAgICAgICAgICAgICAgICAgICAgICgodWludDE2X3QpMHgwMDIwKSAgICAgICAgICAgICAgLyoqPCBOb3QtYWNrbm93bGVkZ2UgaW50ZXJydXB0IGVuYWJsZSAqLw0KLyogRVVTQ0lfQl9JRVtCQ05USUVdIEJpdHMgKi8NCiNkZWZpbmUgRVVTQ0lfQl9JRV9CQ05USUVfT0ZTICAgICAgICAgICAgICAgICAgICAoIDYpICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgVUNCQ05USUUgQml0IE9mZnNldCAqLw0KI2RlZmluZSBFVVNDSV9CX0lFX0JDTlRJRSAgICAgICAgICAgICAgICAgICAgICAgICgodWludDE2X3QpMHgwMDQwKSAgICAgICAgICAgICAgLyoqPCBCeXRlIGNvdW50ZXIgaW50ZXJydXB0IGVuYWJsZSAqLw0KLyogRVVTQ0lfQl9JRVtDTFRPSUVdIEJpdHMgKi8NCiNkZWZpbmUgRVVTQ0lfQl9JRV9DTFRPSUVfT0ZTICAgICAgICAgICAgICAgICAgICAoIDcpICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgVUNDTFRPSUUgQml0IE9mZnNldCAqLw0KI2RlZmluZSBFVVNDSV9CX0lFX0NMVE9JRSAgICAgICAgICAgICAgICAgICAgICAgICgodWludDE2X3QpMHgwMDgwKSAgICAgICAgICAgICAgLyoqPCBDbG9jayBsb3cgdGltZW91dCBpbnRlcnJ1cHQgZW5hYmxlICovDQovKiBFVVNDSV9CX0lFW1JYSUUxXSBCaXRzICovDQojZGVmaW5lIEVVU0NJX0JfSUVfUlhJRTFfT0ZTICAgICAgICAgICAgICAgICAgICAgKCA4KSAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKio8IFVDUlhJRTEgQml0IE9mZnNldCAqLw0KI2RlZmluZSBFVVNDSV9CX0lFX1JYSUUxICAgICAgICAgICAgICAgICAgICAgICAgICgodWludDE2X3QpMHgwMTAwKSAgICAgICAgICAgICAgLyoqPCBSZWNlaXZlIGludGVycnVwdCBlbmFibGUgMSAqLw0KLyogRVVTQ0lfQl9JRVtUWElFMV0gQml0cyAqLw0KI2RlZmluZSBFVVNDSV9CX0lFX1RYSUUxX09GUyAgICAgICAgICAgICAgICAgICAgICggOSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyoqPCBVQ1RYSUUxIEJpdCBPZmZzZXQgKi8NCiNkZWZpbmUgRVVTQ0lfQl9JRV9UWElFMSAgICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQxNl90KTB4MDIwMCkgICAgICAgICAgICAgIC8qKjwgVHJhbnNtaXQgaW50ZXJydXB0IGVuYWJsZSAxICovDQovKiBFVVNDSV9CX0lFW1JYSUUyXSBCaXRzICovDQojZGVmaW5lIEVVU0NJX0JfSUVfUlhJRTJfT0ZTICAgICAgICAgICAgICAgICAgICAgKDEwKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKio8IFVDUlhJRTIgQml0IE9mZnNldCAqLw0KI2RlZmluZSBFVVNDSV9CX0lFX1JYSUUyICAgICAgICAgICAgICAgICAgICAgICAgICgodWludDE2X3QpMHgwNDAwKSAgICAgICAgICAgICAgLyoqPCBSZWNlaXZlIGludGVycnVwdCBlbmFibGUgMiAqLw0KLyogRVVTQ0lfQl9JRVtUWElFMl0gQml0cyAqLw0KI2RlZmluZSBFVVNDSV9CX0lFX1RYSUUyX09GUyAgICAgICAgICAgICAgICAgICAgICgxMSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyoqPCBVQ1RYSUUyIEJpdCBPZmZzZXQgKi8NCiNkZWZpbmUgRVVTQ0lfQl9JRV9UWElFMiAgICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQxNl90KTB4MDgwMCkgICAgICAgICAgICAgIC8qKjwgVHJhbnNtaXQgaW50ZXJydXB0IGVuYWJsZSAyICovDQovKiBFVVNDSV9CX0lFW1JYSUUzXSBCaXRzICovDQojZGVmaW5lIEVVU0NJX0JfSUVfUlhJRTNfT0ZTICAgICAgICAgICAgICAgICAgICAgKDEyKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKio8IFVDUlhJRTMgQml0IE9mZnNldCAqLw0KI2RlZmluZSBFVVNDSV9CX0lFX1JYSUUzICAgICAgICAgICAgICAgICAgICAgICAgICgodWludDE2X3QpMHgxMDAwKSAgICAgICAgICAgICAgLyoqPCBSZWNlaXZlIGludGVycnVwdCBlbmFibGUgMyAqLw0KLyogRVVTQ0lfQl9JRVtUWElFM10gQml0cyAqLw0KI2RlZmluZSBFVVNDSV9CX0lFX1RYSUUzX09GUyAgICAgICAgICAgICAgICAgICAgICgxMykgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyoqPCBVQ1RYSUUzIEJpdCBPZmZzZXQgKi8NCiNkZWZpbmUgRVVTQ0lfQl9JRV9UWElFMyAgICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQxNl90KTB4MjAwMCkgICAgICAgICAgICAgIC8qKjwgVHJhbnNtaXQgaW50ZXJydXB0IGVuYWJsZSAzICovDQovKiBFVVNDSV9CX0lFW0JJVDlJRV0gQml0cyAqLw0KI2RlZmluZSBFVVNDSV9CX0lFX0JJVDlJRV9PRlMgICAgICAgICAgICAgICAgICAgICgxNCkgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyoqPCBVQ0JJVDlJRSBCaXQgT2Zmc2V0ICovDQojZGVmaW5lIEVVU0NJX0JfSUVfQklUOUlFICAgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MTZfdCkweDQwMDApICAgICAgICAgICAgICAvKio8IEJpdCBwb3NpdGlvbiA5IGludGVycnVwdCBlbmFibGUgKi8NCi8qIEVVU0NJX0JfVUNCeElFX1NQSVtSWElFXSBCaXRzICovDQojZGVmaW5lIEVVU0NJX0JfX1JYSUVfT0ZTICAgICAgICAgICAgICAgICAgICAgICAgKCAwKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKio8IFVDUlhJRSBCaXQgT2Zmc2V0ICovDQojZGVmaW5lIEVVU0NJX0JfX1JYSUUgICAgICAgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MTZfdCkweDAwMDEpICAgICAgICAgICAgICAvKio8IFJlY2VpdmUgaW50ZXJydXB0IGVuYWJsZSAqLw0KLyogRVVTQ0lfQl9VQ0J4SUVfU1BJW1RYSUVdIEJpdHMgKi8NCiNkZWZpbmUgRVVTQ0lfQl9fVFhJRV9PRlMgICAgICAgICAgICAgICAgICAgICAgICAoIDEpICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgVUNUWElFIEJpdCBPZmZzZXQgKi8NCiNkZWZpbmUgRVVTQ0lfQl9fVFhJRSAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQxNl90KTB4MDAwMikgICAgICAgICAgICAgIC8qKjwgVHJhbnNtaXQgaW50ZXJydXB0IGVuYWJsZSAqLw0KLyogRVVTQ0lfQl9JRkdbUlhJRkcwXSBCaXRzICovDQojZGVmaW5lIEVVU0NJX0JfSUZHX1JYSUZHMF9PRlMgICAgICAgICAgICAgICAgICAgKCAwKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKio8IFVDUlhJRkcwIEJpdCBPZmZzZXQgKi8NCiNkZWZpbmUgRVVTQ0lfQl9JRkdfUlhJRkcwICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQxNl90KTB4MDAwMSkgICAgICAgICAgICAgIC8qKjwgZVVTQ0lfQiByZWNlaXZlIGludGVycnVwdCBmbGFnIDAgKi8NCi8qIEVVU0NJX0JfSUZHW1RYSUZHMF0gQml0cyAqLw0KI2RlZmluZSBFVVNDSV9CX0lGR19UWElGRzBfT0ZTICAgICAgICAgICAgICAgICAgICggMSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyoqPCBVQ1RYSUZHMCBCaXQgT2Zmc2V0ICovDQojZGVmaW5lIEVVU0NJX0JfSUZHX1RYSUZHMCAgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MTZfdCkweDAwMDIpICAgICAgICAgICAgICAvKio8IGVVU0NJX0IgdHJhbnNtaXQgaW50ZXJydXB0IGZsYWcgMCAqLw0KLyogRVVTQ0lfQl9JRkdbU1RUSUZHXSBCaXRzICovDQojZGVmaW5lIEVVU0NJX0JfSUZHX1NUVElGR19PRlMgICAgICAgICAgICAgICAgICAgKCAyKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKio8IFVDU1RUSUZHIEJpdCBPZmZzZXQgKi8NCiNkZWZpbmUgRVVTQ0lfQl9JRkdfU1RUSUZHICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQxNl90KTB4MDAwNCkgICAgICAgICAgICAgIC8qKjwgU1RBUlQgY29uZGl0aW9uIGludGVycnVwdCBmbGFnICovDQovKiBFVVNDSV9CX0lGR1tTVFBJRkddIEJpdHMgKi8NCiNkZWZpbmUgRVVTQ0lfQl9JRkdfU1RQSUZHX09GUyAgICAgICAgICAgICAgICAgICAoIDMpICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgVUNTVFBJRkcgQml0IE9mZnNldCAqLw0KI2RlZmluZSBFVVNDSV9CX0lGR19TVFBJRkcgICAgICAgICAgICAgICAgICAgICAgICgodWludDE2X3QpMHgwMDA4KSAgICAgICAgICAgICAgLyoqPCBTVE9QIGNvbmRpdGlvbiBpbnRlcnJ1cHQgZmxhZyAqLw0KLyogRVVTQ0lfQl9JRkdbQUxJRkddIEJpdHMgKi8NCiNkZWZpbmUgRVVTQ0lfQl9JRkdfQUxJRkdfT0ZTICAgICAgICAgICAgICAgICAgICAoIDQpICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgVUNBTElGRyBCaXQgT2Zmc2V0ICovDQojZGVmaW5lIEVVU0NJX0JfSUZHX0FMSUZHICAgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MTZfdCkweDAwMTApICAgICAgICAgICAgICAvKio8IEFyYml0cmF0aW9uIGxvc3QgaW50ZXJydXB0IGZsYWcgKi8NCi8qIEVVU0NJX0JfSUZHW05BQ0tJRkddIEJpdHMgKi8NCiNkZWZpbmUgRVVTQ0lfQl9JRkdfTkFDS0lGR19PRlMgICAgICAgICAgICAgICAgICAoIDUpICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgVUNOQUNLSUZHIEJpdCBPZmZzZXQgKi8NCiNkZWZpbmUgRVVTQ0lfQl9JRkdfTkFDS0lGRyAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQxNl90KTB4MDAyMCkgICAgICAgICAgICAgIC8qKjwgTm90LWFja25vd2xlZGdlIHJlY2VpdmVkIGludGVycnVwdCBmbGFnICovDQovKiBFVVNDSV9CX0lGR1tCQ05USUZHXSBCaXRzICovDQojZGVmaW5lIEVVU0NJX0JfSUZHX0JDTlRJRkdfT0ZTICAgICAgICAgICAgICAgICAgKCA2KSAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKio8IFVDQkNOVElGRyBCaXQgT2Zmc2V0ICovDQojZGVmaW5lIEVVU0NJX0JfSUZHX0JDTlRJRkcgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MTZfdCkweDAwNDApICAgICAgICAgICAgICAvKio8IEJ5dGUgY291bnRlciBpbnRlcnJ1cHQgZmxhZyAqLw0KLyogRVVTQ0lfQl9JRkdbQ0xUT0lGR10gQml0cyAqLw0KI2RlZmluZSBFVVNDSV9CX0lGR19DTFRPSUZHX09GUyAgICAgICAgICAgICAgICAgICggNykgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyoqPCBVQ0NMVE9JRkcgQml0IE9mZnNldCAqLw0KI2RlZmluZSBFVVNDSV9CX0lGR19DTFRPSUZHICAgICAgICAgICAgICAgICAgICAgICgodWludDE2X3QpMHgwMDgwKSAgICAgICAgICAgICAgLyoqPCBDbG9jayBsb3cgdGltZW91dCBpbnRlcnJ1cHQgZmxhZyAqLw0KLyogRVVTQ0lfQl9JRkdbUlhJRkcxXSBCaXRzICovDQojZGVmaW5lIEVVU0NJX0JfSUZHX1JYSUZHMV9PRlMgICAgICAgICAgICAgICAgICAgKCA4KSAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKio8IFVDUlhJRkcxIEJpdCBPZmZzZXQgKi8NCiNkZWZpbmUgRVVTQ0lfQl9JRkdfUlhJRkcxICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQxNl90KTB4MDEwMCkgICAgICAgICAgICAgIC8qKjwgZVVTQ0lfQiByZWNlaXZlIGludGVycnVwdCBmbGFnIDEgKi8NCi8qIEVVU0NJX0JfSUZHW1RYSUZHMV0gQml0cyAqLw0KI2RlZmluZSBFVVNDSV9CX0lGR19UWElGRzFfT0ZTICAgICAgICAgICAgICAgICAgICggOSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyoqPCBVQ1RYSUZHMSBCaXQgT2Zmc2V0ICovDQojZGVmaW5lIEVVU0NJX0JfSUZHX1RYSUZHMSAgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MTZfdCkweDAyMDApICAgICAgICAgICAgICAvKio8IGVVU0NJX0IgdHJhbnNtaXQgaW50ZXJydXB0IGZsYWcgMSAqLw0KLyogRVVTQ0lfQl9JRkdbUlhJRkcyXSBCaXRzICovDQojZGVmaW5lIEVVU0NJX0JfSUZHX1JYSUZHMl9PRlMgICAgICAgICAgICAgICAgICAgKDEwKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKio8IFVDUlhJRkcyIEJpdCBPZmZzZXQgKi8NCiNkZWZpbmUgRVVTQ0lfQl9JRkdfUlhJRkcyICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQxNl90KTB4MDQwMCkgICAgICAgICAgICAgIC8qKjwgZVVTQ0lfQiByZWNlaXZlIGludGVycnVwdCBmbGFnIDIgKi8NCi8qIEVVU0NJX0JfSUZHW1RYSUZHMl0gQml0cyAqLw0KI2RlZmluZSBFVVNDSV9CX0lGR19UWElGRzJfT0ZTICAgICAgICAgICAgICAgICAgICgxMSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyoqPCBVQ1RYSUZHMiBCaXQgT2Zmc2V0ICovDQojZGVmaW5lIEVVU0NJX0JfSUZHX1RYSUZHMiAgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MTZfdCkweDA4MDApICAgICAgICAgICAgICAvKio8IGVVU0NJX0IgdHJhbnNtaXQgaW50ZXJydXB0IGZsYWcgMiAqLw0KLyogRVVTQ0lfQl9JRkdbUlhJRkczXSBCaXRzICovDQojZGVmaW5lIEVVU0NJX0JfSUZHX1JYSUZHM19PRlMgICAgICAgICAgICAgICAgICAgKDEyKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKio8IFVDUlhJRkczIEJpdCBPZmZzZXQgKi8NCiNkZWZpbmUgRVVTQ0lfQl9JRkdfUlhJRkczICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQxNl90KTB4MTAwMCkgICAgICAgICAgICAgIC8qKjwgZVVTQ0lfQiByZWNlaXZlIGludGVycnVwdCBmbGFnIDMgKi8NCi8qIEVVU0NJX0JfSUZHW1RYSUZHM10gQml0cyAqLw0KI2RlZmluZSBFVVNDSV9CX0lGR19UWElGRzNfT0ZTICAgICAgICAgICAgICAgICAgICgxMykgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyoqPCBVQ1RYSUZHMyBCaXQgT2Zmc2V0ICovDQojZGVmaW5lIEVVU0NJX0JfSUZHX1RYSUZHMyAgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MTZfdCkweDIwMDApICAgICAgICAgICAgICAvKio8IGVVU0NJX0IgdHJhbnNtaXQgaW50ZXJydXB0IGZsYWcgMyAqLw0KLyogRVVTQ0lfQl9JRkdbQklUOUlGR10gQml0cyAqLw0KI2RlZmluZSBFVVNDSV9CX0lGR19CSVQ5SUZHX09GUyAgICAgICAgICAgICAgICAgICgxNCkgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyoqPCBVQ0JJVDlJRkcgQml0IE9mZnNldCAqLw0KI2RlZmluZSBFVVNDSV9CX0lGR19CSVQ5SUZHICAgICAgICAgICAgICAgICAgICAgICgodWludDE2X3QpMHg0MDAwKSAgICAgICAgICAgICAgLyoqPCBCaXQgcG9zaXRpb24gOSBpbnRlcnJ1cHQgZmxhZyAqLw0KLyogRVVTQ0lfQl9JRkdbUlhJRkddIEJpdHMgKi8NCiNkZWZpbmUgRVVTQ0lfQl9JRkdfUlhJRkdfT0ZTICAgICAgICAgICAgICAgICAgICAoIDApICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgVUNSWElGRyBCaXQgT2Zmc2V0ICovDQojZGVmaW5lIEVVU0NJX0JfSUZHX1JYSUZHICAgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MTZfdCkweDAwMDEpICAgICAgICAgICAgICAvKio8IFJlY2VpdmUgaW50ZXJydXB0IGZsYWcgKi8NCi8qIEVVU0NJX0JfSUZHW1RYSUZHXSBCaXRzICovDQojZGVmaW5lIEVVU0NJX0JfSUZHX1RYSUZHX09GUyAgICAgICAgICAgICAgICAgICAgKCAxKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKio8IFVDVFhJRkcgQml0IE9mZnNldCAqLw0KI2RlZmluZSBFVVNDSV9CX0lGR19UWElGRyAgICAgICAgICAgICAgICAgICAgICAgICgodWludDE2X3QpMHgwMDAyKSAgICAgICAgICAgICAgLyoqPCBUcmFuc21pdCBpbnRlcnJ1cHQgZmxhZyAqLw0KDQoNCi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioNCiogRkxDVEwgQml0cw0KKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLw0KLyogRkxDVExfUE9XRVJfU1RBVFtQU1RBVF0gQml0cyAqLw0KI2RlZmluZSBGTENUTF9QT1dFUl9TVEFUX1BTVEFUX09GUyAgICAgICAgICAgICAgICggMCkgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyoqPCBQU1RBVCBCaXQgT2Zmc2V0ICovDQojZGVmaW5lIEZMQ1RMX1BPV0VSX1NUQVRfUFNUQVRfTUFTSyAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwMDA3KSAgICAgICAgICAvKio8IFBTVEFUIEJpdCBNYXNrICovDQojZGVmaW5lIEZMQ1RMX1BPV0VSX1NUQVRfUFNUQVQwICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwMDAxKSAgICAgICAgICAvKio8IFBTVEFUIEJpdCAwICovDQojZGVmaW5lIEZMQ1RMX1BPV0VSX1NUQVRfUFNUQVQxICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwMDAyKSAgICAgICAgICAvKio8IFBTVEFUIEJpdCAxICovDQojZGVmaW5lIEZMQ1RMX1BPV0VSX1NUQVRfUFNUQVQyICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwMDA0KSAgICAgICAgICAvKio8IFBTVEFUIEJpdCAyICovDQojZGVmaW5lIEZMQ1RMX1BPV0VSX1NUQVRfUFNUQVRfMCAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwMDAwKSAgICAgICAgICAvKio8IEZsYXNoIElQIGluIHBvd2VyLWRvd24gbW9kZSAqLw0KI2RlZmluZSBGTENUTF9QT1dFUl9TVEFUX1BTVEFUXzEgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMDAwMSkgICAgICAgICAgLyoqPCBGbGFzaCBJUCBWZGQgZG9tYWluIHBvd2VyLXVwIGluIHByb2dyZXNzICovDQojZGVmaW5lIEZMQ1RMX1BPV0VSX1NUQVRfUFNUQVRfMiAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwMDAyKSAgICAgICAgICAvKio8IFBTUyBMRE9fR09PRCwgSVJFRl9PSyBhbmQgVlJFRl9PSyBjaGVjayBpbiBwcm9ncmVzcyAqLw0KI2RlZmluZSBGTENUTF9QT1dFUl9TVEFUX1BTVEFUXzMgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMDAwMykgICAgICAgICAgLyoqPCBGbGFzaCBJUCBTQUZFX0xWIGNoZWNrIGluIHByb2dyZXNzICovDQojZGVmaW5lIEZMQ1RMX1BPV0VSX1NUQVRfUFNUQVRfNCAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwMDA0KSAgICAgICAgICAvKio8IEZsYXNoIElQIEFjdGl2ZSAqLw0KI2RlZmluZSBGTENUTF9QT1dFUl9TVEFUX1BTVEFUXzUgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMDAwNSkgICAgICAgICAgLyoqPCBGbGFzaCBJUCBBY3RpdmUgaW4gTG93LUZyZXF1ZW5jeSBBY3RpdmUgYW5kIExvdy1GcmVxdWVuY3kgTFBNMCBtb2Rlcy4gKi8NCiNkZWZpbmUgRkxDVExfUE9XRVJfU1RBVF9QU1RBVF82ICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDAwMDYpICAgICAgICAgIC8qKjwgRmxhc2ggSVAgaW4gU3RhbmRieSBtb2RlICovDQojZGVmaW5lIEZMQ1RMX1BPV0VSX1NUQVRfUFNUQVRfNyAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwMDA3KSAgICAgICAgICAvKio8IEZsYXNoIElQIGluIEN1cnJlbnQgbWlycm9yIGJvb3N0IHN0YXRlICovDQovKiBGTENUTF9QT1dFUl9TVEFUW0xET1NUQVRdIEJpdHMgKi8NCiNkZWZpbmUgRkxDVExfUE9XRVJfU1RBVF9MRE9TVEFUX09GUyAgICAgICAgICAgICAoIDMpICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgTERPU1RBVCBCaXQgT2Zmc2V0ICovDQojZGVmaW5lIEZMQ1RMX1BPV0VSX1NUQVRfTERPU1RBVCAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwMDA4KSAgICAgICAgICAvKio8IFBTUyBGTERPIEdPT0Qgc3RhdHVzICovDQovKiBGTENUTF9QT1dFUl9TVEFUW1ZSRUZTVEFUXSBCaXRzICovDQojZGVmaW5lIEZMQ1RMX1BPV0VSX1NUQVRfVlJFRlNUQVRfT0ZTICAgICAgICAgICAgKCA0KSAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKio8IFZSRUZTVEFUIEJpdCBPZmZzZXQgKi8NCiNkZWZpbmUgRkxDVExfUE9XRVJfU1RBVF9WUkVGU1RBVCAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDAwMTApICAgICAgICAgIC8qKjwgUFNTIFZSRUYgc3RhYmxlIHN0YXR1cyAqLw0KLyogRkxDVExfUE9XRVJfU1RBVFtJUkVGU1RBVF0gQml0cyAqLw0KI2RlZmluZSBGTENUTF9QT1dFUl9TVEFUX0lSRUZTVEFUX09GUyAgICAgICAgICAgICggNSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyoqPCBJUkVGU1RBVCBCaXQgT2Zmc2V0ICovDQojZGVmaW5lIEZMQ1RMX1BPV0VSX1NUQVRfSVJFRlNUQVQgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwMDIwKSAgICAgICAgICAvKio8IFBTUyBJUkVGIHN0YWJsZSBzdGF0dXMgKi8NCi8qIEZMQ1RMX1BPV0VSX1NUQVRbVFJJTVNUQVRdIEJpdHMgKi8NCiNkZWZpbmUgRkxDVExfUE9XRVJfU1RBVF9UUklNU1RBVF9PRlMgICAgICAgICAgICAoIDYpICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgVFJJTVNUQVQgQml0IE9mZnNldCAqLw0KI2RlZmluZSBGTENUTF9QT1dFUl9TVEFUX1RSSU1TVEFUICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMDA0MCkgICAgICAgICAgLyoqPCBQU1MgdHJpbSBkb25lIHN0YXR1cyAqLw0KLyogRkxDVExfUE9XRVJfU1RBVFtSRF8yVF0gQml0cyAqLw0KI2RlZmluZSBGTENUTF9QT1dFUl9TVEFUX1JEXzJUX09GUyAgICAgICAgICAgICAgICggNykgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyoqPCBSRF8yVCBCaXQgT2Zmc2V0ICovDQojZGVmaW5lIEZMQ1RMX1BPV0VSX1NUQVRfUkRfMlQgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwMDgwKSAgICAgICAgICAvKio8IEluZGljYXRlcyBpZiBGbGFzaCBpcyBiZWluZyBhY2Nlc3NlZCBpbiAyVCBtb2RlICovDQovKiBGTENUTF9CQU5LMF9SRENUTFtSRF9NT0RFXSBCaXRzICovDQojZGVmaW5lIEZMQ1RMX0JBTkswX1JEQ1RMX1JEX01PREVfT0ZTICAgICAgICAgICAgKCAwKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKio8IFJEX01PREUgQml0IE9mZnNldCAqLw0KI2RlZmluZSBGTENUTF9CQU5LMF9SRENUTF9SRF9NT0RFX01BU0sgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMDAwRikgICAgICAgICAgLyoqPCBSRF9NT0RFIEJpdCBNYXNrICovDQojZGVmaW5lIEZMQ1RMX0JBTkswX1JEQ1RMX1JEX01PREUwICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwMDAxKSAgICAgICAgICAvKio8IFJEX01PREUgQml0IDAgKi8NCiNkZWZpbmUgRkxDVExfQkFOSzBfUkRDVExfUkRfTU9ERTEgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDAwMDIpICAgICAgICAgIC8qKjwgUkRfTU9ERSBCaXQgMSAqLw0KI2RlZmluZSBGTENUTF9CQU5LMF9SRENUTF9SRF9NT0RFMiAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMDAwNCkgICAgICAgICAgLyoqPCBSRF9NT0RFIEJpdCAyICovDQojZGVmaW5lIEZMQ1RMX0JBTkswX1JEQ1RMX1JEX01PREUzICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwMDA4KSAgICAgICAgICAvKio8IFJEX01PREUgQml0IDMgKi8NCiNkZWZpbmUgRkxDVExfQkFOSzBfUkRDVExfUkRfTU9ERV8wICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDAwMDApICAgICAgICAgIC8qKjwgTm9ybWFsIHJlYWQgbW9kZSAqLw0KI2RlZmluZSBGTENUTF9CQU5LMF9SRENUTF9SRF9NT0RFXzEgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMDAwMSkgICAgICAgICAgLyoqPCBSZWFkIE1hcmdpbiAwICovDQojZGVmaW5lIEZMQ1RMX0JBTkswX1JEQ1RMX1JEX01PREVfMiAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwMDAyKSAgICAgICAgICAvKio8IFJlYWQgTWFyZ2luIDEgKi8NCiNkZWZpbmUgRkxDVExfQkFOSzBfUkRDVExfUkRfTU9ERV8zICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDAwMDMpICAgICAgICAgIC8qKjwgUHJvZ3JhbSBWZXJpZnkgKi8NCiNkZWZpbmUgRkxDVExfQkFOSzBfUkRDVExfUkRfTU9ERV80ICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDAwMDQpICAgICAgICAgIC8qKjwgRXJhc2UgVmVyaWZ5ICovDQojZGVmaW5lIEZMQ1RMX0JBTkswX1JEQ1RMX1JEX01PREVfNSAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwMDA1KSAgICAgICAgICAvKio8IExlYWthZ2UgVmVyaWZ5ICovDQojZGVmaW5lIEZMQ1RMX0JBTkswX1JEQ1RMX1JEX01PREVfOSAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwMDA5KSAgICAgICAgICAvKio8IFJlYWQgTWFyZ2luIDBCICovDQojZGVmaW5lIEZMQ1RMX0JBTkswX1JEQ1RMX1JEX01PREVfMTAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwMDBBKSAgICAgICAgICAvKio8IFJlYWQgTWFyZ2luIDFCICovDQovKiBGTENUTF9CQU5LMF9SRENUTFtCVUZJXSBCaXRzICovDQojZGVmaW5lIEZMQ1RMX0JBTkswX1JEQ1RMX0JVRklfT0ZTICAgICAgICAgICAgICAgKCA0KSAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKio8IEJVRkkgQml0IE9mZnNldCAqLw0KI2RlZmluZSBGTENUTF9CQU5LMF9SRENUTF9CVUZJICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMDAxMCkgICAgICAgICAgLyoqPCBFbmFibGVzIHJlYWQgYnVmZmVyaW5nIGZlYXR1cmUgZm9yIGluc3RydWN0aW9uIGZldGNoZXMgdG8gdGhpcyBCYW5rICovDQovKiBGTENUTF9CQU5LMF9SRENUTFtCVUZEXSBCaXRzICovDQojZGVmaW5lIEZMQ1RMX0JBTkswX1JEQ1RMX0JVRkRfT0ZTICAgICAgICAgICAgICAgKCA1KSAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKio8IEJVRkQgQml0IE9mZnNldCAqLw0KI2RlZmluZSBGTENUTF9CQU5LMF9SRENUTF9CVUZEICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMDAyMCkgICAgICAgICAgLyoqPCBFbmFibGVzIHJlYWQgYnVmZmVyaW5nIGZlYXR1cmUgZm9yIGRhdGEgcmVhZHMgdG8gdGhpcyBCYW5rICovDQovKiBGTENUTF9CQU5LMF9SRENUTFtXQUlUXSBCaXRzICovDQojZGVmaW5lIEZMQ1RMX0JBTkswX1JEQ1RMX1dBSVRfT0ZTICAgICAgICAgICAgICAgKDEyKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKio8IFdBSVQgQml0IE9mZnNldCAqLw0KI2RlZmluZSBGTENUTF9CQU5LMF9SRENUTF9XQUlUX01BU0sgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwRjAwMCkgICAgICAgICAgLyoqPCBXQUlUIEJpdCBNYXNrICovDQojZGVmaW5lIEZMQ1RMX0JBTkswX1JEQ1RMX1dBSVQwICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAxMDAwKSAgICAgICAgICAvKio8IFdBSVQgQml0IDAgKi8NCiNkZWZpbmUgRkxDVExfQkFOSzBfUkRDVExfV0FJVDEgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDIwMDApICAgICAgICAgIC8qKjwgV0FJVCBCaXQgMSAqLw0KI2RlZmluZSBGTENUTF9CQU5LMF9SRENUTF9XQUlUMiAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwNDAwMCkgICAgICAgICAgLyoqPCBXQUlUIEJpdCAyICovDQojZGVmaW5lIEZMQ1RMX0JBTkswX1JEQ1RMX1dBSVQzICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDA4MDAwKSAgICAgICAgICAvKio8IFdBSVQgQml0IDMgKi8NCiNkZWZpbmUgRkxDVExfQkFOSzBfUkRDVExfV0FJVF8wICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDAwMDApICAgICAgICAgIC8qKjwgMCB3YWl0IHN0YXRlcyAqLw0KI2RlZmluZSBGTENUTF9CQU5LMF9SRENUTF9XQUlUXzEgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMTAwMCkgICAgICAgICAgLyoqPCAxIHdhaXQgc3RhdGVzICovDQojZGVmaW5lIEZMQ1RMX0JBTkswX1JEQ1RMX1dBSVRfMiAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAyMDAwKSAgICAgICAgICAvKio8IDIgd2FpdCBzdGF0ZXMgKi8NCiNkZWZpbmUgRkxDVExfQkFOSzBfUkRDVExfV0FJVF8zICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDMwMDApICAgICAgICAgIC8qKjwgMyB3YWl0IHN0YXRlcyAqLw0KI2RlZmluZSBGTENUTF9CQU5LMF9SRENUTF9XQUlUXzQgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwNDAwMCkgICAgICAgICAgLyoqPCA0IHdhaXQgc3RhdGVzICovDQojZGVmaW5lIEZMQ1RMX0JBTkswX1JEQ1RMX1dBSVRfNSAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDA1MDAwKSAgICAgICAgICAvKio8IDUgd2FpdCBzdGF0ZXMgKi8NCiNkZWZpbmUgRkxDVExfQkFOSzBfUkRDVExfV0FJVF82ICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDYwMDApICAgICAgICAgIC8qKjwgNiB3YWl0IHN0YXRlcyAqLw0KI2RlZmluZSBGTENUTF9CQU5LMF9SRENUTF9XQUlUXzcgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwNzAwMCkgICAgICAgICAgLyoqPCA3IHdhaXQgc3RhdGVzICovDQojZGVmaW5lIEZMQ1RMX0JBTkswX1JEQ1RMX1dBSVRfOCAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDA4MDAwKSAgICAgICAgICAvKio8IDggd2FpdCBzdGF0ZXMgKi8NCiNkZWZpbmUgRkxDVExfQkFOSzBfUkRDVExfV0FJVF85ICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDkwMDApICAgICAgICAgIC8qKjwgOSB3YWl0IHN0YXRlcyAqLw0KI2RlZmluZSBGTENUTF9CQU5LMF9SRENUTF9XQUlUXzEwICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwQTAwMCkgICAgICAgICAgLyoqPCAxMCB3YWl0IHN0YXRlcyAqLw0KI2RlZmluZSBGTENUTF9CQU5LMF9SRENUTF9XQUlUXzExICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwQjAwMCkgICAgICAgICAgLyoqPCAxMSB3YWl0IHN0YXRlcyAqLw0KI2RlZmluZSBGTENUTF9CQU5LMF9SRENUTF9XQUlUXzEyICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwQzAwMCkgICAgICAgICAgLyoqPCAxMiB3YWl0IHN0YXRlcyAqLw0KI2RlZmluZSBGTENUTF9CQU5LMF9SRENUTF9XQUlUXzEzICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwRDAwMCkgICAgICAgICAgLyoqPCAxMyB3YWl0IHN0YXRlcyAqLw0KI2RlZmluZSBGTENUTF9CQU5LMF9SRENUTF9XQUlUXzE0ICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwRTAwMCkgICAgICAgICAgLyoqPCAxNCB3YWl0IHN0YXRlcyAqLw0KI2RlZmluZSBGTENUTF9CQU5LMF9SRENUTF9XQUlUXzE1ICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwRjAwMCkgICAgICAgICAgLyoqPCAxNSB3YWl0IHN0YXRlcyAqLw0KLyogRkxDVExfQkFOSzBfUkRDVExbUkRfTU9ERV9TVEFUVVNdIEJpdHMgKi8NCiNkZWZpbmUgRkxDVExfQkFOSzBfUkRDVExfUkRfTU9ERV9TVEFUVVNfT0ZTICAgICAoMTYpICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgUkRfTU9ERV9TVEFUVVMgQml0IE9mZnNldCAqLw0KI2RlZmluZSBGTENUTF9CQU5LMF9SRENUTF9SRF9NT0RFX1NUQVRVU19NQVNLICAgICgodWludDMyX3QpMHgwMDBGMDAwMCkgICAgICAgICAgLyoqPCBSRF9NT0RFX1NUQVRVUyBCaXQgTWFzayAqLw0KI2RlZmluZSBGTENUTF9CQU5LMF9SRENUTF9SRF9NT0RFX1NUQVRVUzAgICAgICAgICgodWludDMyX3QpMHgwMDAxMDAwMCkgICAgICAgICAgLyoqPCBSRF9NT0RFX1NUQVRVUyBCaXQgMCAqLw0KI2RlZmluZSBGTENUTF9CQU5LMF9SRENUTF9SRF9NT0RFX1NUQVRVUzEgICAgICAgICgodWludDMyX3QpMHgwMDAyMDAwMCkgICAgICAgICAgLyoqPCBSRF9NT0RFX1NUQVRVUyBCaXQgMSAqLw0KI2RlZmluZSBGTENUTF9CQU5LMF9SRENUTF9SRF9NT0RFX1NUQVRVUzIgICAgICAgICgodWludDMyX3QpMHgwMDA0MDAwMCkgICAgICAgICAgLyoqPCBSRF9NT0RFX1NUQVRVUyBCaXQgMiAqLw0KI2RlZmluZSBGTENUTF9CQU5LMF9SRENUTF9SRF9NT0RFX1NUQVRVUzMgICAgICAgICgodWludDMyX3QpMHgwMDA4MDAwMCkgICAgICAgICAgLyoqPCBSRF9NT0RFX1NUQVRVUyBCaXQgMyAqLw0KI2RlZmluZSBGTENUTF9CQU5LMF9SRENUTF9SRF9NT0RFX1NUQVRVU18wICAgICAgICgodWludDMyX3QpMHgwMDAwMDAwMCkgICAgICAgICAgLyoqPCBOb3JtYWwgcmVhZCBtb2RlICovDQojZGVmaW5lIEZMQ1RMX0JBTkswX1JEQ1RMX1JEX01PREVfU1RBVFVTXzEgICAgICAgKCh1aW50MzJfdCkweDAwMDEwMDAwKSAgICAgICAgICAvKio8IFJlYWQgTWFyZ2luIDAgKi8NCiNkZWZpbmUgRkxDVExfQkFOSzBfUkRDVExfUkRfTU9ERV9TVEFUVVNfMiAgICAgICAoKHVpbnQzMl90KTB4MDAwMjAwMDApICAgICAgICAgIC8qKjwgUmVhZCBNYXJnaW4gMSAqLw0KI2RlZmluZSBGTENUTF9CQU5LMF9SRENUTF9SRF9NT0RFX1NUQVRVU18zICAgICAgICgodWludDMyX3QpMHgwMDAzMDAwMCkgICAgICAgICAgLyoqPCBQcm9ncmFtIFZlcmlmeSAqLw0KI2RlZmluZSBGTENUTF9CQU5LMF9SRENUTF9SRF9NT0RFX1NUQVRVU180ICAgICAgICgodWludDMyX3QpMHgwMDA0MDAwMCkgICAgICAgICAgLyoqPCBFcmFzZSBWZXJpZnkgKi8NCiNkZWZpbmUgRkxDVExfQkFOSzBfUkRDVExfUkRfTU9ERV9TVEFUVVNfNSAgICAgICAoKHVpbnQzMl90KTB4MDAwNTAwMDApICAgICAgICAgIC8qKjwgTGVha2FnZSBWZXJpZnkgKi8NCiNkZWZpbmUgRkxDVExfQkFOSzBfUkRDVExfUkRfTU9ERV9TVEFUVVNfOSAgICAgICAoKHVpbnQzMl90KTB4MDAwOTAwMDApICAgICAgICAgIC8qKjwgUmVhZCBNYXJnaW4gMEIgKi8NCiNkZWZpbmUgRkxDVExfQkFOSzBfUkRDVExfUkRfTU9ERV9TVEFUVVNfMTAgICAgICAoKHVpbnQzMl90KTB4MDAwQTAwMDApICAgICAgICAgIC8qKjwgUmVhZCBNYXJnaW4gMUIgKi8NCi8qIEZMQ1RMX0JBTksxX1JEQ1RMW1JEX01PREVdIEJpdHMgKi8NCiNkZWZpbmUgRkxDVExfQkFOSzFfUkRDVExfUkRfTU9ERV9PRlMgICAgICAgICAgICAoIDApICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgUkRfTU9ERSBCaXQgT2Zmc2V0ICovDQojZGVmaW5lIEZMQ1RMX0JBTksxX1JEQ1RMX1JEX01PREVfTUFTSyAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwMDBGKSAgICAgICAgICAvKio8IFJEX01PREUgQml0IE1hc2sgKi8NCiNkZWZpbmUgRkxDVExfQkFOSzFfUkRDVExfUkRfTU9ERTAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDAwMDEpICAgICAgICAgIC8qKjwgUkRfTU9ERSBCaXQgMCAqLw0KI2RlZmluZSBGTENUTF9CQU5LMV9SRENUTF9SRF9NT0RFMSAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMDAwMikgICAgICAgICAgLyoqPCBSRF9NT0RFIEJpdCAxICovDQojZGVmaW5lIEZMQ1RMX0JBTksxX1JEQ1RMX1JEX01PREUyICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwMDA0KSAgICAgICAgICAvKio8IFJEX01PREUgQml0IDIgKi8NCiNkZWZpbmUgRkxDVExfQkFOSzFfUkRDVExfUkRfTU9ERTMgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDAwMDgpICAgICAgICAgIC8qKjwgUkRfTU9ERSBCaXQgMyAqLw0KI2RlZmluZSBGTENUTF9CQU5LMV9SRENUTF9SRF9NT0RFXzAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMDAwMCkgICAgICAgICAgLyoqPCBOb3JtYWwgcmVhZCBtb2RlICovDQojZGVmaW5lIEZMQ1RMX0JBTksxX1JEQ1RMX1JEX01PREVfMSAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwMDAxKSAgICAgICAgICAvKio8IFJlYWQgTWFyZ2luIDAgKi8NCiNkZWZpbmUgRkxDVExfQkFOSzFfUkRDVExfUkRfTU9ERV8yICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDAwMDIpICAgICAgICAgIC8qKjwgUmVhZCBNYXJnaW4gMSAqLw0KI2RlZmluZSBGTENUTF9CQU5LMV9SRENUTF9SRF9NT0RFXzMgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMDAwMykgICAgICAgICAgLyoqPCBQcm9ncmFtIFZlcmlmeSAqLw0KI2RlZmluZSBGTENUTF9CQU5LMV9SRENUTF9SRF9NT0RFXzQgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMDAwNCkgICAgICAgICAgLyoqPCBFcmFzZSBWZXJpZnkgKi8NCiNkZWZpbmUgRkxDVExfQkFOSzFfUkRDVExfUkRfTU9ERV81ICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDAwMDUpICAgICAgICAgIC8qKjwgTGVha2FnZSBWZXJpZnkgKi8NCiNkZWZpbmUgRkxDVExfQkFOSzFfUkRDVExfUkRfTU9ERV85ICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDAwMDkpICAgICAgICAgIC8qKjwgUmVhZCBNYXJnaW4gMEIgKi8NCiNkZWZpbmUgRkxDVExfQkFOSzFfUkRDVExfUkRfTU9ERV8xMCAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDAwMEEpICAgICAgICAgIC8qKjwgUmVhZCBNYXJnaW4gMUIgKi8NCi8qIEZMQ1RMX0JBTksxX1JEQ1RMW0JVRkldIEJpdHMgKi8NCiNkZWZpbmUgRkxDVExfQkFOSzFfUkRDVExfQlVGSV9PRlMgICAgICAgICAgICAgICAoIDQpICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgQlVGSSBCaXQgT2Zmc2V0ICovDQojZGVmaW5lIEZMQ1RMX0JBTksxX1JEQ1RMX0JVRkkgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwMDEwKSAgICAgICAgICAvKio8IEVuYWJsZXMgcmVhZCBidWZmZXJpbmcgZmVhdHVyZSBmb3IgaW5zdHJ1Y3Rpb24gZmV0Y2hlcyB0byB0aGlzIEJhbmsgKi8NCi8qIEZMQ1RMX0JBTksxX1JEQ1RMW0JVRkRdIEJpdHMgKi8NCiNkZWZpbmUgRkxDVExfQkFOSzFfUkRDVExfQlVGRF9PRlMgICAgICAgICAgICAgICAoIDUpICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgQlVGRCBCaXQgT2Zmc2V0ICovDQojZGVmaW5lIEZMQ1RMX0JBTksxX1JEQ1RMX0JVRkQgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwMDIwKSAgICAgICAgICAvKio8IEVuYWJsZXMgcmVhZCBidWZmZXJpbmcgZmVhdHVyZSBmb3IgZGF0YSByZWFkcyB0byB0aGlzIEJhbmsgKi8NCi8qIEZMQ1RMX0JBTksxX1JEQ1RMW1JEX01PREVfU1RBVFVTXSBCaXRzICovDQojZGVmaW5lIEZMQ1RMX0JBTksxX1JEQ1RMX1JEX01PREVfU1RBVFVTX09GUyAgICAgKDE2KSAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKio8IFJEX01PREVfU1RBVFVTIEJpdCBPZmZzZXQgKi8NCiNkZWZpbmUgRkxDVExfQkFOSzFfUkRDVExfUkRfTU9ERV9TVEFUVVNfTUFTSyAgICAoKHVpbnQzMl90KTB4MDAwRjAwMDApICAgICAgICAgIC8qKjwgUkRfTU9ERV9TVEFUVVMgQml0IE1hc2sgKi8NCiNkZWZpbmUgRkxDVExfQkFOSzFfUkRDVExfUkRfTU9ERV9TVEFUVVMwICAgICAgICAoKHVpbnQzMl90KTB4MDAwMTAwMDApICAgICAgICAgIC8qKjwgUkRfTU9ERV9TVEFUVVMgQml0IDAgKi8NCiNkZWZpbmUgRkxDVExfQkFOSzFfUkRDVExfUkRfTU9ERV9TVEFUVVMxICAgICAgICAoKHVpbnQzMl90KTB4MDAwMjAwMDApICAgICAgICAgIC8qKjwgUkRfTU9ERV9TVEFUVVMgQml0IDEgKi8NCiNkZWZpbmUgRkxDVExfQkFOSzFfUkRDVExfUkRfTU9ERV9TVEFUVVMyICAgICAgICAoKHVpbnQzMl90KTB4MDAwNDAwMDApICAgICAgICAgIC8qKjwgUkRfTU9ERV9TVEFUVVMgQml0IDIgKi8NCiNkZWZpbmUgRkxDVExfQkFOSzFfUkRDVExfUkRfTU9ERV9TVEFUVVMzICAgICAgICAoKHVpbnQzMl90KTB4MDAwODAwMDApICAgICAgICAgIC8qKjwgUkRfTU9ERV9TVEFUVVMgQml0IDMgKi8NCiNkZWZpbmUgRkxDVExfQkFOSzFfUkRDVExfUkRfTU9ERV9TVEFUVVNfMCAgICAgICAoKHVpbnQzMl90KTB4MDAwMDAwMDApICAgICAgICAgIC8qKjwgTm9ybWFsIHJlYWQgbW9kZSAqLw0KI2RlZmluZSBGTENUTF9CQU5LMV9SRENUTF9SRF9NT0RFX1NUQVRVU18xICAgICAgICgodWludDMyX3QpMHgwMDAxMDAwMCkgICAgICAgICAgLyoqPCBSZWFkIE1hcmdpbiAwICovDQojZGVmaW5lIEZMQ1RMX0JBTksxX1JEQ1RMX1JEX01PREVfU1RBVFVTXzIgICAgICAgKCh1aW50MzJfdCkweDAwMDIwMDAwKSAgICAgICAgICAvKio8IFJlYWQgTWFyZ2luIDEgKi8NCiNkZWZpbmUgRkxDVExfQkFOSzFfUkRDVExfUkRfTU9ERV9TVEFUVVNfMyAgICAgICAoKHVpbnQzMl90KTB4MDAwMzAwMDApICAgICAgICAgIC8qKjwgUHJvZ3JhbSBWZXJpZnkgKi8NCiNkZWZpbmUgRkxDVExfQkFOSzFfUkRDVExfUkRfTU9ERV9TVEFUVVNfNCAgICAgICAoKHVpbnQzMl90KTB4MDAwNDAwMDApICAgICAgICAgIC8qKjwgRXJhc2UgVmVyaWZ5ICovDQojZGVmaW5lIEZMQ1RMX0JBTksxX1JEQ1RMX1JEX01PREVfU1RBVFVTXzUgICAgICAgKCh1aW50MzJfdCkweDAwMDUwMDAwKSAgICAgICAgICAvKio8IExlYWthZ2UgVmVyaWZ5ICovDQojZGVmaW5lIEZMQ1RMX0JBTksxX1JEQ1RMX1JEX01PREVfU1RBVFVTXzkgICAgICAgKCh1aW50MzJfdCkweDAwMDkwMDAwKSAgICAgICAgICAvKio8IFJlYWQgTWFyZ2luIDBCICovDQojZGVmaW5lIEZMQ1RMX0JBTksxX1JEQ1RMX1JEX01PREVfU1RBVFVTXzEwICAgICAgKCh1aW50MzJfdCkweDAwMEEwMDAwKSAgICAgICAgICAvKio8IFJlYWQgTWFyZ2luIDFCICovDQovKiBGTENUTF9CQU5LMV9SRENUTFtXQUlUXSBCaXRzICovDQojZGVmaW5lIEZMQ1RMX0JBTksxX1JEQ1RMX1dBSVRfT0ZTICAgICAgICAgICAgICAgKDEyKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKio8IFdBSVQgQml0IE9mZnNldCAqLw0KI2RlZmluZSBGTENUTF9CQU5LMV9SRENUTF9XQUlUX01BU0sgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwRjAwMCkgICAgICAgICAgLyoqPCBXQUlUIEJpdCBNYXNrICovDQojZGVmaW5lIEZMQ1RMX0JBTksxX1JEQ1RMX1dBSVQwICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAxMDAwKSAgICAgICAgICAvKio8IFdBSVQgQml0IDAgKi8NCiNkZWZpbmUgRkxDVExfQkFOSzFfUkRDVExfV0FJVDEgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDIwMDApICAgICAgICAgIC8qKjwgV0FJVCBCaXQgMSAqLw0KI2RlZmluZSBGTENUTF9CQU5LMV9SRENUTF9XQUlUMiAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwNDAwMCkgICAgICAgICAgLyoqPCBXQUlUIEJpdCAyICovDQojZGVmaW5lIEZMQ1RMX0JBTksxX1JEQ1RMX1dBSVQzICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDA4MDAwKSAgICAgICAgICAvKio8IFdBSVQgQml0IDMgKi8NCiNkZWZpbmUgRkxDVExfQkFOSzFfUkRDVExfV0FJVF8wICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDAwMDApICAgICAgICAgIC8qKjwgMCB3YWl0IHN0YXRlcyAqLw0KI2RlZmluZSBGTENUTF9CQU5LMV9SRENUTF9XQUlUXzEgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMTAwMCkgICAgICAgICAgLyoqPCAxIHdhaXQgc3RhdGVzICovDQojZGVmaW5lIEZMQ1RMX0JBTksxX1JEQ1RMX1dBSVRfMiAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAyMDAwKSAgICAgICAgICAvKio8IDIgd2FpdCBzdGF0ZXMgKi8NCiNkZWZpbmUgRkxDVExfQkFOSzFfUkRDVExfV0FJVF8zICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDMwMDApICAgICAgICAgIC8qKjwgMyB3YWl0IHN0YXRlcyAqLw0KI2RlZmluZSBGTENUTF9CQU5LMV9SRENUTF9XQUlUXzQgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwNDAwMCkgICAgICAgICAgLyoqPCA0IHdhaXQgc3RhdGVzICovDQojZGVmaW5lIEZMQ1RMX0JBTksxX1JEQ1RMX1dBSVRfNSAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDA1MDAwKSAgICAgICAgICAvKio8IDUgd2FpdCBzdGF0ZXMgKi8NCiNkZWZpbmUgRkxDVExfQkFOSzFfUkRDVExfV0FJVF82ICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDYwMDApICAgICAgICAgIC8qKjwgNiB3YWl0IHN0YXRlcyAqLw0KI2RlZmluZSBGTENUTF9CQU5LMV9SRENUTF9XQUlUXzcgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwNzAwMCkgICAgICAgICAgLyoqPCA3IHdhaXQgc3RhdGVzICovDQojZGVmaW5lIEZMQ1RMX0JBTksxX1JEQ1RMX1dBSVRfOCAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDA4MDAwKSAgICAgICAgICAvKio8IDggd2FpdCBzdGF0ZXMgKi8NCiNkZWZpbmUgRkxDVExfQkFOSzFfUkRDVExfV0FJVF85ICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDkwMDApICAgICAgICAgIC8qKjwgOSB3YWl0IHN0YXRlcyAqLw0KI2RlZmluZSBGTENUTF9CQU5LMV9SRENUTF9XQUlUXzEwICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwQTAwMCkgICAgICAgICAgLyoqPCAxMCB3YWl0IHN0YXRlcyAqLw0KI2RlZmluZSBGTENUTF9CQU5LMV9SRENUTF9XQUlUXzExICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwQjAwMCkgICAgICAgICAgLyoqPCAxMSB3YWl0IHN0YXRlcyAqLw0KI2RlZmluZSBGTENUTF9CQU5LMV9SRENUTF9XQUlUXzEyICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwQzAwMCkgICAgICAgICAgLyoqPCAxMiB3YWl0IHN0YXRlcyAqLw0KI2RlZmluZSBGTENUTF9CQU5LMV9SRENUTF9XQUlUXzEzICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwRDAwMCkgICAgICAgICAgLyoqPCAxMyB3YWl0IHN0YXRlcyAqLw0KI2RlZmluZSBGTENUTF9CQU5LMV9SRENUTF9XQUlUXzE0ICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwRTAwMCkgICAgICAgICAgLyoqPCAxNCB3YWl0IHN0YXRlcyAqLw0KI2RlZmluZSBGTENUTF9CQU5LMV9SRENUTF9XQUlUXzE1ICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwRjAwMCkgICAgICAgICAgLyoqPCAxNSB3YWl0IHN0YXRlcyAqLw0KLyogRkxDVExfUkRCUlNUX0NUTFNUQVRbU1RBUlRdIEJpdHMgKi8NCiNkZWZpbmUgRkxDVExfUkRCUlNUX0NUTFNUQVRfU1RBUlRfT0ZTICAgICAgICAgICAoIDApICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgU1RBUlQgQml0IE9mZnNldCAqLw0KI2RlZmluZSBGTENUTF9SREJSU1RfQ1RMU1RBVF9TVEFSVCAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMDAwMSkgICAgICAgICAgLyoqPCBTdGFydCBvZiBidXJzdC9jb21wYXJlIG9wZXJhdGlvbiAqLw0KLyogRkxDVExfUkRCUlNUX0NUTFNUQVRbTUVNX1RZUEVdIEJpdHMgKi8NCiNkZWZpbmUgRkxDVExfUkRCUlNUX0NUTFNUQVRfTUVNX1RZUEVfT0ZTICAgICAgICAoIDEpICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgTUVNX1RZUEUgQml0IE9mZnNldCAqLw0KI2RlZmluZSBGTENUTF9SREJSU1RfQ1RMU1RBVF9NRU1fVFlQRV9NQVNLICAgICAgICgodWludDMyX3QpMHgwMDAwMDAwNikgICAgICAgICAgLyoqPCBNRU1fVFlQRSBCaXQgTWFzayAqLw0KI2RlZmluZSBGTENUTF9SREJSU1RfQ1RMU1RBVF9NRU1fVFlQRTAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMDAwMikgICAgICAgICAgLyoqPCBNRU1fVFlQRSBCaXQgMCAqLw0KI2RlZmluZSBGTENUTF9SREJSU1RfQ1RMU1RBVF9NRU1fVFlQRTEgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMDAwNCkgICAgICAgICAgLyoqPCBNRU1fVFlQRSBCaXQgMSAqLw0KI2RlZmluZSBGTENUTF9SREJSU1RfQ1RMU1RBVF9NRU1fVFlQRV8wICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMDAwMCkgICAgICAgICAgLyoqPCBNYWluIE1lbW9yeSAqLw0KI2RlZmluZSBGTENUTF9SREJSU1RfQ1RMU1RBVF9NRU1fVFlQRV8xICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMDAwMikgICAgICAgICAgLyoqPCBJbmZvcm1hdGlvbiBNZW1vcnkgKi8NCiNkZWZpbmUgRkxDVExfUkRCUlNUX0NUTFNUQVRfTUVNX1RZUEVfMiAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDAwMDQpICAgICAgICAgIC8qKjwgUmVzZXJ2ZWQgKi8NCiNkZWZpbmUgRkxDVExfUkRCUlNUX0NUTFNUQVRfTUVNX1RZUEVfMyAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDAwMDYpICAgICAgICAgIC8qKjwgRW5naW5lZXJpbmcgTWVtb3J5ICovDQovKiBGTENUTF9SREJSU1RfQ1RMU1RBVFtTVE9QX0ZBSUxdIEJpdHMgKi8NCiNkZWZpbmUgRkxDVExfUkRCUlNUX0NUTFNUQVRfU1RPUF9GQUlMX09GUyAgICAgICAoIDMpICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgU1RPUF9GQUlMIEJpdCBPZmZzZXQgKi8NCiNkZWZpbmUgRkxDVExfUkRCUlNUX0NUTFNUQVRfU1RPUF9GQUlMICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDAwMDgpICAgICAgICAgIC8qKjwgVGVybWluYXRlIGJ1cnN0L2NvbXBhcmUgb3BlcmF0aW9uICovDQovKiBGTENUTF9SREJSU1RfQ1RMU1RBVFtEQVRBX0NNUF0gQml0cyAqLw0KI2RlZmluZSBGTENUTF9SREJSU1RfQ1RMU1RBVF9EQVRBX0NNUF9PRlMgICAgICAgICggNCkgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyoqPCBEQVRBX0NNUCBCaXQgT2Zmc2V0ICovDQojZGVmaW5lIEZMQ1RMX1JEQlJTVF9DVExTVEFUX0RBVEFfQ01QICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwMDEwKSAgICAgICAgICAvKio8IERhdGEgcGF0dGVybiB1c2VkIGZvciBjb21wYXJpc29uIGFnYWluc3QgbWVtb3J5IHJlYWQgZGF0YSAqLw0KLyogRkxDVExfUkRCUlNUX0NUTFNUQVRbVEVTVF9FTl0gQml0cyAqLw0KI2RlZmluZSBGTENUTF9SREJSU1RfQ1RMU1RBVF9URVNUX0VOX09GUyAgICAgICAgICggNikgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyoqPCBURVNUX0VOIEJpdCBPZmZzZXQgKi8NCiNkZWZpbmUgRkxDVExfUkRCUlNUX0NUTFNUQVRfVEVTVF9FTiAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDAwNDApICAgICAgICAgIC8qKjwgRW5hYmxlIGNvbXBhcmlzb24gYWdhaW5zdCB0ZXN0IGRhdGEgY29tcGFyZSByZWdpc3RlcnMgKi8NCi8qIEZMQ1RMX1JEQlJTVF9DVExTVEFUW0JSU1RfU1RBVF0gQml0cyAqLw0KI2RlZmluZSBGTENUTF9SREJSU1RfQ1RMU1RBVF9CUlNUX1NUQVRfT0ZTICAgICAgICgxNikgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyoqPCBCUlNUX1NUQVQgQml0IE9mZnNldCAqLw0KI2RlZmluZSBGTENUTF9SREJSU1RfQ1RMU1RBVF9CUlNUX1NUQVRfTUFTSyAgICAgICgodWludDMyX3QpMHgwMDAzMDAwMCkgICAgICAgICAgLyoqPCBCUlNUX1NUQVQgQml0IE1hc2sgKi8NCiNkZWZpbmUgRkxDVExfUkRCUlNUX0NUTFNUQVRfQlJTVF9TVEFUMCAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMTAwMDApICAgICAgICAgIC8qKjwgQlJTVF9TVEFUIEJpdCAwICovDQojZGVmaW5lIEZMQ1RMX1JEQlJTVF9DVExTVEFUX0JSU1RfU1RBVDEgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDIwMDAwKSAgICAgICAgICAvKio8IEJSU1RfU1RBVCBCaXQgMSAqLw0KI2RlZmluZSBGTENUTF9SREJSU1RfQ1RMU1RBVF9CUlNUX1NUQVRfMCAgICAgICAgICgodWludDMyX3QpMHgwMDAwMDAwMCkgICAgICAgICAgLyoqPCBJZGxlICovDQojZGVmaW5lIEZMQ1RMX1JEQlJTVF9DVExTVEFUX0JSU1RfU1RBVF8xICAgICAgICAgKCh1aW50MzJfdCkweDAwMDEwMDAwKSAgICAgICAgICAvKio8IEJ1cnN0L0NvbXBhcmUgU1RBUlQgYml0IHdyaXR0ZW4sIGJ1dCBvcGVyYXRpb24gcGVuZGluZyAqLw0KI2RlZmluZSBGTENUTF9SREJSU1RfQ1RMU1RBVF9CUlNUX1NUQVRfMiAgICAgICAgICgodWludDMyX3QpMHgwMDAyMDAwMCkgICAgICAgICAgLyoqPCBCdXJzdC9Db21wYXJlIGluIHByb2dyZXNzICovDQojZGVmaW5lIEZMQ1RMX1JEQlJTVF9DVExTVEFUX0JSU1RfU1RBVF8zICAgICAgICAgKCh1aW50MzJfdCkweDAwMDMwMDAwKSAgICAgICAgICAvKio8IEJ1cnN0IGNvbXBsZXRlIChzdGF0dXMgb2YgY29tcGxldGVkIGJ1cnN0IHJlbWFpbnMgaW4gdGhpcyBzdGF0ZSB1bmxlc3MgICovDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiBleHBsaWNpdGx5IGNsZWFyZWQgYnkgU1cpICovDQovKiBGTENUTF9SREJSU1RfQ1RMU1RBVFtDTVBfRVJSXSBCaXRzICovDQojZGVmaW5lIEZMQ1RMX1JEQlJTVF9DVExTVEFUX0NNUF9FUlJfT0ZTICAgICAgICAgKDE4KSAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKio8IENNUF9FUlIgQml0IE9mZnNldCAqLw0KI2RlZmluZSBGTENUTF9SREJSU1RfQ1RMU1RBVF9DTVBfRVJSICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDA0MDAwMCkgICAgICAgICAgLyoqPCBCdXJzdC9Db21wYXJlIE9wZXJhdGlvbiBlbmNvdW50ZXJlZCBhdGxlYXN0IG9uZSBkYXRhICovDQovKiBGTENUTF9SREJSU1RfQ1RMU1RBVFtBRERSX0VSUl0gQml0cyAqLw0KI2RlZmluZSBGTENUTF9SREJSU1RfQ1RMU1RBVF9BRERSX0VSUl9PRlMgICAgICAgICgxOSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyoqPCBBRERSX0VSUiBCaXQgT2Zmc2V0ICovDQojZGVmaW5lIEZMQ1RMX1JEQlJTVF9DVExTVEFUX0FERFJfRVJSICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDgwMDAwKSAgICAgICAgICAvKio8IEJ1cnN0L0NvbXBhcmUgT3BlcmF0aW9uIHdhcyB0ZXJtaW5hdGVkIGR1ZSB0byBhY2Nlc3MgdG8gKi8NCi8qIEZMQ1RMX1JEQlJTVF9DVExTVEFUW0NMUl9TVEFUXSBCaXRzICovDQojZGVmaW5lIEZMQ1RMX1JEQlJTVF9DVExTVEFUX0NMUl9TVEFUX09GUyAgICAgICAgKDIzKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKio8IENMUl9TVEFUIEJpdCBPZmZzZXQgKi8NCiNkZWZpbmUgRkxDVExfUkRCUlNUX0NUTFNUQVRfQ0xSX1NUQVQgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDA4MDAwMDApICAgICAgICAgIC8qKjwgQ2xlYXIgc3RhdHVzIGJpdHMgMTktMTYgb2YgdGhpcyByZWdpc3RlciAqLw0KLyogRkxDVExfUkRCUlNUX1NUQVJUQUREUltTVEFSVF9BRERSRVNTXSBCaXRzICovDQojZGVmaW5lIEZMQ1RMX1JEQlJTVF9TVEFSVEFERFJfU1RBUlRfQUREUkVTU19PRlMgKCAwKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKio8IFNUQVJUX0FERFJFU1MgQml0IE9mZnNldCAqLw0KI2RlZmluZSBGTENUTF9SREJSU1RfU1RBUlRBRERSX1NUQVJUX0FERFJFU1NfTUFTSyAoKHVpbnQzMl90KTB4MDAxRkZGRkYpICAgICAgICAgIC8qKjwgU1RBUlRfQUREUkVTUyBCaXQgTWFzayAqLw0KLyogRkxDVExfUkRCUlNUX0xFTltCVVJTVF9MRU5HVEhdIEJpdHMgKi8NCiNkZWZpbmUgRkxDVExfUkRCUlNUX0xFTl9CVVJTVF9MRU5HVEhfT0ZTICAgICAgICAoIDApICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgQlVSU1RfTEVOR1RIIEJpdCBPZmZzZXQgKi8NCiNkZWZpbmUgRkxDVExfUkRCUlNUX0xFTl9CVVJTVF9MRU5HVEhfTUFTSyAgICAgICAoKHVpbnQzMl90KTB4MDAxRkZGRkYpICAgICAgICAgIC8qKjwgQlVSU1RfTEVOR1RIIEJpdCBNYXNrICovDQovKiBGTENUTF9SREJSU1RfRkFJTEFERFJbRkFJTF9BRERSRVNTXSBCaXRzICovDQojZGVmaW5lIEZMQ1RMX1JEQlJTVF9GQUlMQUREUl9GQUlMX0FERFJFU1NfT0ZTICAgKCAwKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKio8IEZBSUxfQUREUkVTUyBCaXQgT2Zmc2V0ICovDQojZGVmaW5lIEZMQ1RMX1JEQlJTVF9GQUlMQUREUl9GQUlMX0FERFJFU1NfTUFTSyAgKCh1aW50MzJfdCkweDAwMUZGRkZGKSAgICAgICAgICAvKio8IEZBSUxfQUREUkVTUyBCaXQgTWFzayAqLw0KLyogRkxDVExfUkRCUlNUX0ZBSUxDTlRbRkFJTF9DT1VOVF0gQml0cyAqLw0KI2RlZmluZSBGTENUTF9SREJSU1RfRkFJTENOVF9GQUlMX0NPVU5UX09GUyAgICAgICggMCkgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyoqPCBGQUlMX0NPVU5UIEJpdCBPZmZzZXQgKi8NCiNkZWZpbmUgRkxDVExfUkRCUlNUX0ZBSUxDTlRfRkFJTF9DT1VOVF9NQVNLICAgICAoKHVpbnQzMl90KTB4MDAwMUZGRkYpICAgICAgICAgIC8qKjwgRkFJTF9DT1VOVCBCaXQgTWFzayAqLw0KLyogRkxDVExfUFJHX0NUTFNUQVRbRU5BQkxFXSBCaXRzICovDQojZGVmaW5lIEZMQ1RMX1BSR19DVExTVEFUX0VOQUJMRV9PRlMgICAgICAgICAgICAgKCAwKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKio8IEVOQUJMRSBCaXQgT2Zmc2V0ICovDQojZGVmaW5lIEZMQ1RMX1BSR19DVExTVEFUX0VOQUJMRSAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwMDAxKSAgICAgICAgICAvKio8IE1hc3RlciBjb250cm9sIGZvciBhbGwgd29yZCBwcm9ncmFtIG9wZXJhdGlvbnMgKi8NCi8qIEZMQ1RMX1BSR19DVExTVEFUW01PREVdIEJpdHMgKi8NCiNkZWZpbmUgRkxDVExfUFJHX0NUTFNUQVRfTU9ERV9PRlMgICAgICAgICAgICAgICAoIDEpICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgTU9ERSBCaXQgT2Zmc2V0ICovDQojZGVmaW5lIEZMQ1RMX1BSR19DVExTVEFUX01PREUgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwMDAyKSAgICAgICAgICAvKio8IFdyaXRlIG1vZGUgKi8NCi8qIEZMQ1RMX1BSR19DVExTVEFUW1ZFUl9QUkVdIEJpdHMgKi8NCiNkZWZpbmUgRkxDVExfUFJHX0NUTFNUQVRfVkVSX1BSRV9PRlMgICAgICAgICAgICAoIDIpICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgVkVSX1BSRSBCaXQgT2Zmc2V0ICovDQojZGVmaW5lIEZMQ1RMX1BSR19DVExTVEFUX1ZFUl9QUkUgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwMDA0KSAgICAgICAgICAvKio8IENvbnRyb2xzIGF1dG9tYXRpYyBwcmUgcHJvZ3JhbSB2ZXJpZnkgb3BlcmF0aW9ucyAqLw0KLyogRkxDVExfUFJHX0NUTFNUQVRbVkVSX1BTVF0gQml0cyAqLw0KI2RlZmluZSBGTENUTF9QUkdfQ1RMU1RBVF9WRVJfUFNUX09GUyAgICAgICAgICAgICggMykgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyoqPCBWRVJfUFNUIEJpdCBPZmZzZXQgKi8NCiNkZWZpbmUgRkxDVExfUFJHX0NUTFNUQVRfVkVSX1BTVCAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDAwMDgpICAgICAgICAgIC8qKjwgQ29udHJvbHMgYXV0b21hdGljIHBvc3QgcHJvZ3JhbSB2ZXJpZnkgb3BlcmF0aW9ucyAqLw0KLyogRkxDVExfUFJHX0NUTFNUQVRbU1RBVFVTXSBCaXRzICovDQojZGVmaW5lIEZMQ1RMX1BSR19DVExTVEFUX1NUQVRVU19PRlMgICAgICAgICAgICAgKDE2KSAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKio8IFNUQVRVUyBCaXQgT2Zmc2V0ICovDQojZGVmaW5lIEZMQ1RMX1BSR19DVExTVEFUX1NUQVRVU19NQVNLICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDMwMDAwKSAgICAgICAgICAvKio8IFNUQVRVUyBCaXQgTWFzayAqLw0KI2RlZmluZSBGTENUTF9QUkdfQ1RMU1RBVF9TVEFUVVMwICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAxMDAwMCkgICAgICAgICAgLyoqPCBTVEFUVVMgQml0IDAgKi8NCiNkZWZpbmUgRkxDVExfUFJHX0NUTFNUQVRfU1RBVFVTMSAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMjAwMDApICAgICAgICAgIC8qKjwgU1RBVFVTIEJpdCAxICovDQojZGVmaW5lIEZMQ1RMX1BSR19DVExTVEFUX1NUQVRVU18wICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwMDAwKSAgICAgICAgICAvKio8IElkbGUgKG5vIHByb2dyYW0gb3BlcmF0aW9uIGN1cnJlbnRseSBhY3RpdmUpICovDQojZGVmaW5lIEZMQ1RMX1BSR19DVExTVEFUX1NUQVRVU18xICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDEwMDAwKSAgICAgICAgICAvKio8IFNpbmdsZSB3b3JkIHByb2dyYW0gb3BlcmF0aW9uIHRyaWdnZXJlZCwgYnV0IHBlbmRpbmcgKi8NCiNkZWZpbmUgRkxDVExfUFJHX0NUTFNUQVRfU1RBVFVTXzIgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMjAwMDApICAgICAgICAgIC8qKjwgU2luZ2xlIHdvcmQgcHJvZ3JhbSBpbiBwcm9ncmVzcyAqLw0KI2RlZmluZSBGTENUTF9QUkdfQ1RMU1RBVF9TVEFUVVNfMyAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAzMDAwMCkgICAgICAgICAgLyoqPCBSZXNlcnZlZCAoSWRsZSkgKi8NCi8qIEZMQ1RMX1BSR19DVExTVEFUW0JOS19BQ1RdIEJpdHMgKi8NCiNkZWZpbmUgRkxDVExfUFJHX0NUTFNUQVRfQk5LX0FDVF9PRlMgICAgICAgICAgICAoMTgpICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgQk5LX0FDVCBCaXQgT2Zmc2V0ICovDQojZGVmaW5lIEZMQ1RMX1BSR19DVExTVEFUX0JOS19BQ1QgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDQwMDAwKSAgICAgICAgICAvKio8IEJhbmsgYWN0aXZlICovDQovKiBGTENUTF9QUkdCUlNUX0NUTFNUQVRbU1RBUlRdIEJpdHMgKi8NCiNkZWZpbmUgRkxDVExfUFJHQlJTVF9DVExTVEFUX1NUQVJUX09GUyAgICAgICAgICAoIDApICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgU1RBUlQgQml0IE9mZnNldCAqLw0KI2RlZmluZSBGTENUTF9QUkdCUlNUX0NUTFNUQVRfU1RBUlQgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMDAwMSkgICAgICAgICAgLyoqPCBUcmlnZ2VyIHN0YXJ0IG9mIGJ1cnN0IHByb2dyYW0gb3BlcmF0aW9uICovDQovKiBGTENUTF9QUkdCUlNUX0NUTFNUQVRbVFlQRV0gQml0cyAqLw0KI2RlZmluZSBGTENUTF9QUkdCUlNUX0NUTFNUQVRfVFlQRV9PRlMgICAgICAgICAgICggMSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyoqPCBUWVBFIEJpdCBPZmZzZXQgKi8NCiNkZWZpbmUgRkxDVExfUFJHQlJTVF9DVExTVEFUX1RZUEVfTUFTSyAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDAwMDYpICAgICAgICAgIC8qKjwgVFlQRSBCaXQgTWFzayAqLw0KI2RlZmluZSBGTENUTF9QUkdCUlNUX0NUTFNUQVRfVFlQRTAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMDAwMikgICAgICAgICAgLyoqPCBUWVBFIEJpdCAwICovDQojZGVmaW5lIEZMQ1RMX1BSR0JSU1RfQ1RMU1RBVF9UWVBFMSAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwMDA0KSAgICAgICAgICAvKio8IFRZUEUgQml0IDEgKi8NCiNkZWZpbmUgRkxDVExfUFJHQlJTVF9DVExTVEFUX1RZUEVfMCAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDAwMDApICAgICAgICAgIC8qKjwgTWFpbiBNZW1vcnkgKi8NCiNkZWZpbmUgRkxDVExfUFJHQlJTVF9DVExTVEFUX1RZUEVfMSAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDAwMDIpICAgICAgICAgIC8qKjwgSW5mb3JtYXRpb24gTWVtb3J5ICovDQojZGVmaW5lIEZMQ1RMX1BSR0JSU1RfQ1RMU1RBVF9UWVBFXzIgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwMDA0KSAgICAgICAgICAvKio8IFJlc2VydmVkICovDQojZGVmaW5lIEZMQ1RMX1BSR0JSU1RfQ1RMU1RBVF9UWVBFXzMgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwMDA2KSAgICAgICAgICAvKio8IEVuZ2luZWVyaW5nIE1lbW9yeSAqLw0KLyogRkxDVExfUFJHQlJTVF9DVExTVEFUW0xFTl0gQml0cyAqLw0KI2RlZmluZSBGTENUTF9QUkdCUlNUX0NUTFNUQVRfTEVOX09GUyAgICAgICAgICAgICggMykgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyoqPCBMRU4gQml0IE9mZnNldCAqLw0KI2RlZmluZSBGTENUTF9QUkdCUlNUX0NUTFNUQVRfTEVOX01BU0sgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMDAzOCkgICAgICAgICAgLyoqPCBMRU4gQml0IE1hc2sgKi8NCiNkZWZpbmUgRkxDVExfUFJHQlJTVF9DVExTVEFUX0xFTjAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDAwMDgpICAgICAgICAgIC8qKjwgTEVOIEJpdCAwICovDQojZGVmaW5lIEZMQ1RMX1BSR0JSU1RfQ1RMU1RBVF9MRU4xICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwMDEwKSAgICAgICAgICAvKio8IExFTiBCaXQgMSAqLw0KI2RlZmluZSBGTENUTF9QUkdCUlNUX0NUTFNUQVRfTEVOMiAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMDAyMCkgICAgICAgICAgLyoqPCBMRU4gQml0IDIgKi8NCiNkZWZpbmUgRkxDVExfUFJHQlJTVF9DVExTVEFUX0xFTl8wICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDAwMDApICAgICAgICAgIC8qKjwgTm8gYnVyc3Qgb3BlcmF0aW9uICovDQojZGVmaW5lIEZMQ1RMX1BSR0JSU1RfQ1RMU1RBVF9MRU5fMSAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwMDA4KSAgICAgICAgICAvKio8IDEgd29yZCBidXJzdCBvZiAxMjggYml0cywgc3RhcnRpbmcgd2l0aCBhZGRyZXNzIGluIHRoZSBGTENUTF9QUkdCUlNUX1NUQVJUQUREUiAqLw0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyogUmVnaXN0ZXIgKi8NCiNkZWZpbmUgRkxDVExfUFJHQlJTVF9DVExTVEFUX0xFTl8yICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDAwMTApICAgICAgICAgIC8qKjwgMioxMjggYml0cyBidXJzdCB3cml0ZSwgc3RhcnRpbmcgd2l0aCBhZGRyZXNzIGluIHRoZSBGTENUTF9QUkdCUlNUX1NUQVJUQUREUiAgKi8NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qIFJlZ2lzdGVyICovDQojZGVmaW5lIEZMQ1RMX1BSR0JSU1RfQ1RMU1RBVF9MRU5fMyAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwMDE4KSAgICAgICAgICAvKio8IDMqMTI4IGJpdHMgYnVyc3Qgd3JpdGUsIHN0YXJ0aW5nIHdpdGggYWRkcmVzcyBpbiB0aGUgRkxDVExfUFJHQlJTVF9TVEFSVEFERFIgICovDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiBSZWdpc3RlciAqLw0KI2RlZmluZSBGTENUTF9QUkdCUlNUX0NUTFNUQVRfTEVOXzQgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMDAyMCkgICAgICAgICAgLyoqPCA0KjEyOCBiaXRzIGJ1cnN0IHdyaXRlLCBzdGFydGluZyB3aXRoIGFkZHJlc3MgaW4gdGhlIEZMQ1RMX1BSR0JSU1RfU1RBUlRBRERSICAqLw0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyogUmVnaXN0ZXIgKi8NCi8qIEZMQ1RMX1BSR0JSU1RfQ1RMU1RBVFtBVVRPX1BSRV0gQml0cyAqLw0KI2RlZmluZSBGTENUTF9QUkdCUlNUX0NUTFNUQVRfQVVUT19QUkVfT0ZTICAgICAgICggNikgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyoqPCBBVVRPX1BSRSBCaXQgT2Zmc2V0ICovDQojZGVmaW5lIEZMQ1RMX1BSR0JSU1RfQ1RMU1RBVF9BVVRPX1BSRSAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwMDQwKSAgICAgICAgICAvKio8IEF1dG8tVmVyaWZ5IG9wZXJhdGlvbiBiZWZvcmUgdGhlIEJ1cnN0IFByb2dyYW0gKi8NCi8qIEZMQ1RMX1BSR0JSU1RfQ1RMU1RBVFtBVVRPX1BTVF0gQml0cyAqLw0KI2RlZmluZSBGTENUTF9QUkdCUlNUX0NUTFNUQVRfQVVUT19QU1RfT0ZTICAgICAgICggNykgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyoqPCBBVVRPX1BTVCBCaXQgT2Zmc2V0ICovDQojZGVmaW5lIEZMQ1RMX1BSR0JSU1RfQ1RMU1RBVF9BVVRPX1BTVCAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwMDgwKSAgICAgICAgICAvKio8IEF1dG8tVmVyaWZ5IG9wZXJhdGlvbiBhZnRlciB0aGUgQnVyc3QgUHJvZ3JhbSAqLw0KLyogRkxDVExfUFJHQlJTVF9DVExTVEFUW0JVUlNUX1NUQVRVU10gQml0cyAqLw0KI2RlZmluZSBGTENUTF9QUkdCUlNUX0NUTFNUQVRfQlVSU1RfU1RBVFVTX09GUyAgICgxNikgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyoqPCBCVVJTVF9TVEFUVVMgQml0IE9mZnNldCAqLw0KI2RlZmluZSBGTENUTF9QUkdCUlNUX0NUTFNUQVRfQlVSU1RfU1RBVFVTX01BU0sgICgodWludDMyX3QpMHgwMDA3MDAwMCkgICAgICAgICAgLyoqPCBCVVJTVF9TVEFUVVMgQml0IE1hc2sgKi8NCiNkZWZpbmUgRkxDVExfUFJHQlJTVF9DVExTVEFUX0JVUlNUX1NUQVRVUzAgICAgICAoKHVpbnQzMl90KTB4MDAwMTAwMDApICAgICAgICAgIC8qKjwgQlVSU1RfU1RBVFVTIEJpdCAwICovDQojZGVmaW5lIEZMQ1RMX1BSR0JSU1RfQ1RMU1RBVF9CVVJTVF9TVEFUVVMxICAgICAgKCh1aW50MzJfdCkweDAwMDIwMDAwKSAgICAgICAgICAvKio8IEJVUlNUX1NUQVRVUyBCaXQgMSAqLw0KI2RlZmluZSBGTENUTF9QUkdCUlNUX0NUTFNUQVRfQlVSU1RfU1RBVFVTMiAgICAgICgodWludDMyX3QpMHgwMDA0MDAwMCkgICAgICAgICAgLyoqPCBCVVJTVF9TVEFUVVMgQml0IDIgKi8NCiNkZWZpbmUgRkxDVExfUFJHQlJTVF9DVExTVEFUX0JVUlNUX1NUQVRVU18wICAgICAoKHVpbnQzMl90KTB4MDAwMDAwMDApICAgICAgICAgIC8qKjwgSWRsZSAoQnVyc3Qgbm90IGFjdGl2ZSkgKi8NCiNkZWZpbmUgRkxDVExfUFJHQlJTVF9DVExTVEFUX0JVUlNUX1NUQVRVU18xICAgICAoKHVpbnQzMl90KTB4MDAwMTAwMDApICAgICAgICAgIC8qKjwgQnVyc3QgcHJvZ3JhbSBzdGFydGVkIGJ1dCBwZW5kaW5nICovDQojZGVmaW5lIEZMQ1RMX1BSR0JSU1RfQ1RMU1RBVF9CVVJTVF9TVEFUVVNfMiAgICAgKCh1aW50MzJfdCkweDAwMDIwMDAwKSAgICAgICAgICAvKio8IEJ1cnN0IGFjdGl2ZSwgd2l0aCAxc3QgMTI4IGJpdCB3b3JkIGJlaW5nIHdyaXR0ZW4gaW50byBGbGFzaCAqLw0KI2RlZmluZSBGTENUTF9QUkdCUlNUX0NUTFNUQVRfQlVSU1RfU1RBVFVTXzMgICAgICgodWludDMyX3QpMHgwMDAzMDAwMCkgICAgICAgICAgLyoqPCBCdXJzdCBhY3RpdmUsIHdpdGggMm5kIDEyOCBiaXQgd29yZCBiZWluZyB3cml0dGVuIGludG8gRmxhc2ggKi8NCiNkZWZpbmUgRkxDVExfUFJHQlJTVF9DVExTVEFUX0JVUlNUX1NUQVRVU180ICAgICAoKHVpbnQzMl90KTB4MDAwNDAwMDApICAgICAgICAgIC8qKjwgQnVyc3QgYWN0aXZlLCB3aXRoIDNyZCAxMjggYml0IHdvcmQgYmVpbmcgd3JpdHRlbiBpbnRvIEZsYXNoICovDQojZGVmaW5lIEZMQ1RMX1BSR0JSU1RfQ1RMU1RBVF9CVVJTVF9TVEFUVVNfNSAgICAgKCh1aW50MzJfdCkweDAwMDUwMDAwKSAgICAgICAgICAvKio8IEJ1cnN0IGFjdGl2ZSwgd2l0aCA0dGggMTI4IGJpdCB3b3JkIGJlaW5nIHdyaXR0ZW4gaW50byBGbGFzaCAqLw0KI2RlZmluZSBGTENUTF9QUkdCUlNUX0NUTFNUQVRfQlVSU1RfU1RBVFVTXzYgICAgICgodWludDMyX3QpMHgwMDA2MDAwMCkgICAgICAgICAgLyoqPCBSZXNlcnZlZCAoSWRsZSkgKi8NCiNkZWZpbmUgRkxDVExfUFJHQlJTVF9DVExTVEFUX0JVUlNUX1NUQVRVU183ICAgICAoKHVpbnQzMl90KTB4MDAwNzAwMDApICAgICAgICAgIC8qKjwgQnVyc3QgQ29tcGxldGUgKHN0YXR1cyBvZiBjb21wbGV0ZWQgYnVyc3QgcmVtYWlucyBpbiB0aGlzIHN0YXRlIHVubGVzcyAgKi8NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qIGV4cGxpY2l0bHkgY2xlYXJlZCBieSBTVykgKi8NCi8qIEZMQ1RMX1BSR0JSU1RfQ1RMU1RBVFtQUkVfRVJSXSBCaXRzICovDQojZGVmaW5lIEZMQ1RMX1BSR0JSU1RfQ1RMU1RBVF9QUkVfRVJSX09GUyAgICAgICAgKDE5KSAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKio8IFBSRV9FUlIgQml0IE9mZnNldCAqLw0KI2RlZmluZSBGTENUTF9QUkdCUlNUX0NUTFNUQVRfUFJFX0VSUiAgICAgICAgICAgICgodWludDMyX3QpMHgwMDA4MDAwMCkgICAgICAgICAgLyoqPCBCdXJzdCBPcGVyYXRpb24gZW5jb3VudGVyZWQgcHJlcHJvZ3JhbSBhdXRvLXZlcmlmeSBlcnJvcnMgKi8NCi8qIEZMQ1RMX1BSR0JSU1RfQ1RMU1RBVFtQU1RfRVJSXSBCaXRzICovDQojZGVmaW5lIEZMQ1RMX1BSR0JSU1RfQ1RMU1RBVF9QU1RfRVJSX09GUyAgICAgICAgKDIwKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKio8IFBTVF9FUlIgQml0IE9mZnNldCAqLw0KI2RlZmluZSBGTENUTF9QUkdCUlNUX0NUTFNUQVRfUFNUX0VSUiAgICAgICAgICAgICgodWludDMyX3QpMHgwMDEwMDAwMCkgICAgICAgICAgLyoqPCBCdXJzdCBPcGVyYXRpb24gZW5jb3VudGVyZWQgcG9zdHByb2dyYW0gYXV0by12ZXJpZnkgZXJyb3JzICovDQovKiBGTENUTF9QUkdCUlNUX0NUTFNUQVRbQUREUl9FUlJdIEJpdHMgKi8NCiNkZWZpbmUgRkxDVExfUFJHQlJTVF9DVExTVEFUX0FERFJfRVJSX09GUyAgICAgICAoMjEpICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgQUREUl9FUlIgQml0IE9mZnNldCAqLw0KI2RlZmluZSBGTENUTF9QUkdCUlNUX0NUTFNUQVRfQUREUl9FUlIgICAgICAgICAgICgodWludDMyX3QpMHgwMDIwMDAwMCkgICAgICAgICAgLyoqPCBCdXJzdCBPcGVyYXRpb24gd2FzIHRlcm1pbmF0ZWQgZHVlIHRvIGF0dGVtcHRlZCBwcm9ncmFtIG9mIHJlc2VydmVkIG1lbW9yeSAqLw0KLyogRkxDVExfUFJHQlJTVF9DVExTVEFUW0NMUl9TVEFUXSBCaXRzICovDQojZGVmaW5lIEZMQ1RMX1BSR0JSU1RfQ1RMU1RBVF9DTFJfU1RBVF9PRlMgICAgICAgKDIzKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKio8IENMUl9TVEFUIEJpdCBPZmZzZXQgKi8NCiNkZWZpbmUgRkxDVExfUFJHQlJTVF9DVExTVEFUX0NMUl9TVEFUICAgICAgICAgICAoKHVpbnQzMl90KTB4MDA4MDAwMDApICAgICAgICAgIC8qKjwgQ2xlYXIgc3RhdHVzIGJpdHMgMjEtMTYgb2YgdGhpcyByZWdpc3RlciAqLw0KLyogRkxDVExfUFJHQlJTVF9TVEFSVEFERFJbU1RBUlRfQUREUkVTU10gQml0cyAqLw0KI2RlZmluZSBGTENUTF9QUkdCUlNUX1NUQVJUQUREUl9TVEFSVF9BRERSRVNTX09GUyAoIDApICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgU1RBUlRfQUREUkVTUyBCaXQgT2Zmc2V0ICovDQojZGVmaW5lIEZMQ1RMX1BSR0JSU1RfU1RBUlRBRERSX1NUQVJUX0FERFJFU1NfTUFTSyAoKHVpbnQzMl90KTB4MDAzRkZGRkYpICAgICAgICAgIC8qKjwgU1RBUlRfQUREUkVTUyBCaXQgTWFzayAqLw0KLyogRkxDVExfRVJBU0VfQ1RMU1RBVFtTVEFSVF0gQml0cyAqLw0KI2RlZmluZSBGTENUTF9FUkFTRV9DVExTVEFUX1NUQVJUX09GUyAgICAgICAgICAgICggMCkgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyoqPCBTVEFSVCBCaXQgT2Zmc2V0ICovDQojZGVmaW5lIEZMQ1RMX0VSQVNFX0NUTFNUQVRfU1RBUlQgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwMDAxKSAgICAgICAgICAvKio8IFN0YXJ0IG9mIEVyYXNlIG9wZXJhdGlvbiAqLw0KLyogRkxDVExfRVJBU0VfQ1RMU1RBVFtNT0RFXSBCaXRzICovDQojZGVmaW5lIEZMQ1RMX0VSQVNFX0NUTFNUQVRfTU9ERV9PRlMgICAgICAgICAgICAgKCAxKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKio8IE1PREUgQml0IE9mZnNldCAqLw0KI2RlZmluZSBGTENUTF9FUkFTRV9DVExTVEFUX01PREUgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMDAwMikgICAgICAgICAgLyoqPCBFcmFzZSBtb2RlIHNlbGVjdGVkIGJ5IGFwcGxpY2F0aW9uICovDQovKiBGTENUTF9FUkFTRV9DVExTVEFUW1RZUEVdIEJpdHMgKi8NCiNkZWZpbmUgRkxDVExfRVJBU0VfQ1RMU1RBVF9UWVBFX09GUyAgICAgICAgICAgICAoIDIpICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgVFlQRSBCaXQgT2Zmc2V0ICovDQojZGVmaW5lIEZMQ1RMX0VSQVNFX0NUTFNUQVRfVFlQRV9NQVNLICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwMDBDKSAgICAgICAgICAvKio8IFRZUEUgQml0IE1hc2sgKi8NCiNkZWZpbmUgRkxDVExfRVJBU0VfQ1RMU1RBVF9UWVBFMCAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDAwMDQpICAgICAgICAgIC8qKjwgVFlQRSBCaXQgMCAqLw0KI2RlZmluZSBGTENUTF9FUkFTRV9DVExTVEFUX1RZUEUxICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMDAwOCkgICAgICAgICAgLyoqPCBUWVBFIEJpdCAxICovDQojZGVmaW5lIEZMQ1RMX0VSQVNFX0NUTFNUQVRfVFlQRV8wICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwMDAwKSAgICAgICAgICAvKio8IE1haW4gTWVtb3J5ICovDQojZGVmaW5lIEZMQ1RMX0VSQVNFX0NUTFNUQVRfVFlQRV8xICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwMDA0KSAgICAgICAgICAvKio8IEluZm9ybWF0aW9uIE1lbW9yeSAqLw0KI2RlZmluZSBGTENUTF9FUkFTRV9DVExTVEFUX1RZUEVfMiAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMDAwOCkgICAgICAgICAgLyoqPCBSZXNlcnZlZCAqLw0KI2RlZmluZSBGTENUTF9FUkFTRV9DVExTVEFUX1RZUEVfMyAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMDAwQykgICAgICAgICAgLyoqPCBFbmdpbmVlcmluZyBNZW1vcnkgKi8NCi8qIEZMQ1RMX0VSQVNFX0NUTFNUQVRbU1RBVFVTXSBCaXRzICovDQojZGVmaW5lIEZMQ1RMX0VSQVNFX0NUTFNUQVRfU1RBVFVTX09GUyAgICAgICAgICAgKDE2KSAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKio8IFNUQVRVUyBCaXQgT2Zmc2V0ICovDQojZGVmaW5lIEZMQ1RMX0VSQVNFX0NUTFNUQVRfU1RBVFVTX01BU0sgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDMwMDAwKSAgICAgICAgICAvKio8IFNUQVRVUyBCaXQgTWFzayAqLw0KI2RlZmluZSBGTENUTF9FUkFTRV9DVExTVEFUX1NUQVRVUzAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAxMDAwMCkgICAgICAgICAgLyoqPCBTVEFUVVMgQml0IDAgKi8NCiNkZWZpbmUgRkxDVExfRVJBU0VfQ1RMU1RBVF9TVEFUVVMxICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMjAwMDApICAgICAgICAgIC8qKjwgU1RBVFVTIEJpdCAxICovDQojZGVmaW5lIEZMQ1RMX0VSQVNFX0NUTFNUQVRfU1RBVFVTXzAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwMDAwKSAgICAgICAgICAvKio8IElkbGUgKG5vIHByb2dyYW0gb3BlcmF0aW9uIGN1cnJlbnRseSBhY3RpdmUpICovDQojZGVmaW5lIEZMQ1RMX0VSQVNFX0NUTFNUQVRfU1RBVFVTXzEgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDEwMDAwKSAgICAgICAgICAvKio8IEVyYXNlIG9wZXJhdGlvbiB0cmlnZ2VyZWQgdG8gU1RBUlQgYnV0IHBlbmRpbmcgKi8NCiNkZWZpbmUgRkxDVExfRVJBU0VfQ1RMU1RBVF9TVEFUVVNfMiAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMjAwMDApICAgICAgICAgIC8qKjwgRXJhc2Ugb3BlcmF0aW9uIGluIHByb2dyZXNzICovDQojZGVmaW5lIEZMQ1RMX0VSQVNFX0NUTFNUQVRfU1RBVFVTXzMgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDMwMDAwKSAgICAgICAgICAvKio8IEVyYXNlIG9wZXJhdGlvbiBjb21wbGV0ZWQgKHN0YXR1cyBvZiBjb21wbGV0ZWQgZXJhc2UgcmVtYWlucyBpbiB0aGlzIHN0YXRlICAqLw0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyogdW5sZXNzIGV4cGxpY2l0bHkgY2xlYXJlZCBieSBTVykgKi8NCi8qIEZMQ1RMX0VSQVNFX0NUTFNUQVRbQUREUl9FUlJdIEJpdHMgKi8NCiNkZWZpbmUgRkxDVExfRVJBU0VfQ1RMU1RBVF9BRERSX0VSUl9PRlMgICAgICAgICAoMTgpICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgQUREUl9FUlIgQml0IE9mZnNldCAqLw0KI2RlZmluZSBGTENUTF9FUkFTRV9DVExTVEFUX0FERFJfRVJSICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDA0MDAwMCkgICAgICAgICAgLyoqPCBFcmFzZSBPcGVyYXRpb24gd2FzIHRlcm1pbmF0ZWQgZHVlIHRvIGF0dGVtcHRlZCBlcmFzZSBvZiByZXNlcnZlZCBtZW1vcnkgICovDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiBhZGRyZXNzICovDQovKiBGTENUTF9FUkFTRV9DVExTVEFUW0NMUl9TVEFUXSBCaXRzICovDQojZGVmaW5lIEZMQ1RMX0VSQVNFX0NUTFNUQVRfQ0xSX1NUQVRfT0ZTICAgICAgICAgKDE5KSAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKio8IENMUl9TVEFUIEJpdCBPZmZzZXQgKi8NCiNkZWZpbmUgRkxDVExfRVJBU0VfQ1RMU1RBVF9DTFJfU1RBVCAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwODAwMDApICAgICAgICAgIC8qKjwgQ2xlYXIgc3RhdHVzIGJpdHMgMTgtMTYgb2YgdGhpcyByZWdpc3RlciAqLw0KLyogRkxDVExfRVJBU0VfU0VDVEFERFJbU0VDVF9BRERSRVNTXSBCaXRzICovDQojZGVmaW5lIEZMQ1RMX0VSQVNFX1NFQ1RBRERSX1NFQ1RfQUREUkVTU19PRlMgICAgKCAwKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKio8IFNFQ1RfQUREUkVTUyBCaXQgT2Zmc2V0ICovDQojZGVmaW5lIEZMQ1RMX0VSQVNFX1NFQ1RBRERSX1NFQ1RfQUREUkVTU19NQVNLICAgKCh1aW50MzJfdCkweDAwM0ZGRkZGKSAgICAgICAgICAvKio8IFNFQ1RfQUREUkVTUyBCaXQgTWFzayAqLw0KLyogRkxDVExfQkFOSzBfSU5GT19XRVBST1RbUFJPVDBdIEJpdHMgKi8NCiNkZWZpbmUgRkxDVExfQkFOSzBfSU5GT19XRVBST1RfUFJPVDBfT0ZTICAgICAgICAoIDApICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgUFJPVDAgQml0IE9mZnNldCAqLw0KI2RlZmluZSBGTENUTF9CQU5LMF9JTkZPX1dFUFJPVF9QUk9UMCAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMDAwMSkgICAgICAgICAgLyoqPCBQcm90ZWN0cyBTZWN0b3IgMCBmcm9tIHByb2dyYW0gb3IgZXJhc2UgKi8NCi8qIEZMQ1RMX0JBTkswX0lORk9fV0VQUk9UW1BST1QxXSBCaXRzICovDQojZGVmaW5lIEZMQ1RMX0JBTkswX0lORk9fV0VQUk9UX1BST1QxX09GUyAgICAgICAgKCAxKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKio8IFBST1QxIEJpdCBPZmZzZXQgKi8NCiNkZWZpbmUgRkxDVExfQkFOSzBfSU5GT19XRVBST1RfUFJPVDEgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDAwMDIpICAgICAgICAgIC8qKjwgUHJvdGVjdHMgU2VjdG9yIDEgZnJvbSBwcm9ncmFtIG9yIGVyYXNlICovDQovKiBGTENUTF9CQU5LMF9NQUlOX1dFUFJPVFtQUk9UMF0gQml0cyAqLw0KI2RlZmluZSBGTENUTF9CQU5LMF9NQUlOX1dFUFJPVF9QUk9UMF9PRlMgICAgICAgICggMCkgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyoqPCBQUk9UMCBCaXQgT2Zmc2V0ICovDQojZGVmaW5lIEZMQ1RMX0JBTkswX01BSU5fV0VQUk9UX1BST1QwICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwMDAxKSAgICAgICAgICAvKio8IFByb3RlY3RzIFNlY3RvciAwIGZyb20gcHJvZ3JhbSBvciBlcmFzZSAqLw0KLyogRkxDVExfQkFOSzBfTUFJTl9XRVBST1RbUFJPVDFdIEJpdHMgKi8NCiNkZWZpbmUgRkxDVExfQkFOSzBfTUFJTl9XRVBST1RfUFJPVDFfT0ZTICAgICAgICAoIDEpICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgUFJPVDEgQml0IE9mZnNldCAqLw0KI2RlZmluZSBGTENUTF9CQU5LMF9NQUlOX1dFUFJPVF9QUk9UMSAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMDAwMikgICAgICAgICAgLyoqPCBQcm90ZWN0cyBTZWN0b3IgMSBmcm9tIHByb2dyYW0gb3IgZXJhc2UgKi8NCi8qIEZMQ1RMX0JBTkswX01BSU5fV0VQUk9UW1BST1QyXSBCaXRzICovDQojZGVmaW5lIEZMQ1RMX0JBTkswX01BSU5fV0VQUk9UX1BST1QyX09GUyAgICAgICAgKCAyKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKio8IFBST1QyIEJpdCBPZmZzZXQgKi8NCiNkZWZpbmUgRkxDVExfQkFOSzBfTUFJTl9XRVBST1RfUFJPVDIgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDAwMDQpICAgICAgICAgIC8qKjwgUHJvdGVjdHMgU2VjdG9yIDIgZnJvbSBwcm9ncmFtIG9yIGVyYXNlICovDQovKiBGTENUTF9CQU5LMF9NQUlOX1dFUFJPVFtQUk9UM10gQml0cyAqLw0KI2RlZmluZSBGTENUTF9CQU5LMF9NQUlOX1dFUFJPVF9QUk9UM19PRlMgICAgICAgICggMykgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyoqPCBQUk9UMyBCaXQgT2Zmc2V0ICovDQojZGVmaW5lIEZMQ1RMX0JBTkswX01BSU5fV0VQUk9UX1BST1QzICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwMDA4KSAgICAgICAgICAvKio8IFByb3RlY3RzIFNlY3RvciAzIGZyb20gcHJvZ3JhbSBvciBlcmFzZSAqLw0KLyogRkxDVExfQkFOSzBfTUFJTl9XRVBST1RbUFJPVDRdIEJpdHMgKi8NCiNkZWZpbmUgRkxDVExfQkFOSzBfTUFJTl9XRVBST1RfUFJPVDRfT0ZTICAgICAgICAoIDQpICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgUFJPVDQgQml0IE9mZnNldCAqLw0KI2RlZmluZSBGTENUTF9CQU5LMF9NQUlOX1dFUFJPVF9QUk9UNCAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMDAxMCkgICAgICAgICAgLyoqPCBQcm90ZWN0cyBTZWN0b3IgNCBmcm9tIHByb2dyYW0gb3IgZXJhc2UgKi8NCi8qIEZMQ1RMX0JBTkswX01BSU5fV0VQUk9UW1BST1Q1XSBCaXRzICovDQojZGVmaW5lIEZMQ1RMX0JBTkswX01BSU5fV0VQUk9UX1BST1Q1X09GUyAgICAgICAgKCA1KSAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKio8IFBST1Q1IEJpdCBPZmZzZXQgKi8NCiNkZWZpbmUgRkxDVExfQkFOSzBfTUFJTl9XRVBST1RfUFJPVDUgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDAwMjApICAgICAgICAgIC8qKjwgUHJvdGVjdHMgU2VjdG9yIDUgZnJvbSBwcm9ncmFtIG9yIGVyYXNlICovDQovKiBGTENUTF9CQU5LMF9NQUlOX1dFUFJPVFtQUk9UNl0gQml0cyAqLw0KI2RlZmluZSBGTENUTF9CQU5LMF9NQUlOX1dFUFJPVF9QUk9UNl9PRlMgICAgICAgICggNikgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyoqPCBQUk9UNiBCaXQgT2Zmc2V0ICovDQojZGVmaW5lIEZMQ1RMX0JBTkswX01BSU5fV0VQUk9UX1BST1Q2ICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwMDQwKSAgICAgICAgICAvKio8IFByb3RlY3RzIFNlY3RvciA2IGZyb20gcHJvZ3JhbSBvciBlcmFzZSAqLw0KLyogRkxDVExfQkFOSzBfTUFJTl9XRVBST1RbUFJPVDddIEJpdHMgKi8NCiNkZWZpbmUgRkxDVExfQkFOSzBfTUFJTl9XRVBST1RfUFJPVDdfT0ZTICAgICAgICAoIDcpICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgUFJPVDcgQml0IE9mZnNldCAqLw0KI2RlZmluZSBGTENUTF9CQU5LMF9NQUlOX1dFUFJPVF9QUk9UNyAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMDA4MCkgICAgICAgICAgLyoqPCBQcm90ZWN0cyBTZWN0b3IgNyBmcm9tIHByb2dyYW0gb3IgZXJhc2UgKi8NCi8qIEZMQ1RMX0JBTkswX01BSU5fV0VQUk9UW1BST1Q4XSBCaXRzICovDQojZGVmaW5lIEZMQ1RMX0JBTkswX01BSU5fV0VQUk9UX1BST1Q4X09GUyAgICAgICAgKCA4KSAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKio8IFBST1Q4IEJpdCBPZmZzZXQgKi8NCiNkZWZpbmUgRkxDVExfQkFOSzBfTUFJTl9XRVBST1RfUFJPVDggICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDAxMDApICAgICAgICAgIC8qKjwgUHJvdGVjdHMgU2VjdG9yIDggZnJvbSBwcm9ncmFtIG9yIGVyYXNlICovDQovKiBGTENUTF9CQU5LMF9NQUlOX1dFUFJPVFtQUk9UOV0gQml0cyAqLw0KI2RlZmluZSBGTENUTF9CQU5LMF9NQUlOX1dFUFJPVF9QUk9UOV9PRlMgICAgICAgICggOSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyoqPCBQUk9UOSBCaXQgT2Zmc2V0ICovDQojZGVmaW5lIEZMQ1RMX0JBTkswX01BSU5fV0VQUk9UX1BST1Q5ICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwMjAwKSAgICAgICAgICAvKio8IFByb3RlY3RzIFNlY3RvciA5IGZyb20gcHJvZ3JhbSBvciBlcmFzZSAqLw0KLyogRkxDVExfQkFOSzBfTUFJTl9XRVBST1RbUFJPVDEwXSBCaXRzICovDQojZGVmaW5lIEZMQ1RMX0JBTkswX01BSU5fV0VQUk9UX1BST1QxMF9PRlMgICAgICAgKDEwKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKio8IFBST1QxMCBCaXQgT2Zmc2V0ICovDQojZGVmaW5lIEZMQ1RMX0JBTkswX01BSU5fV0VQUk9UX1BST1QxMCAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwNDAwKSAgICAgICAgICAvKio8IFByb3RlY3RzIFNlY3RvciAxMCBmcm9tIHByb2dyYW0gb3IgZXJhc2UgKi8NCi8qIEZMQ1RMX0JBTkswX01BSU5fV0VQUk9UW1BST1QxMV0gQml0cyAqLw0KI2RlZmluZSBGTENUTF9CQU5LMF9NQUlOX1dFUFJPVF9QUk9UMTFfT0ZTICAgICAgICgxMSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyoqPCBQUk9UMTEgQml0IE9mZnNldCAqLw0KI2RlZmluZSBGTENUTF9CQU5LMF9NQUlOX1dFUFJPVF9QUk9UMTEgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMDgwMCkgICAgICAgICAgLyoqPCBQcm90ZWN0cyBTZWN0b3IgMTEgZnJvbSBwcm9ncmFtIG9yIGVyYXNlICovDQovKiBGTENUTF9CQU5LMF9NQUlOX1dFUFJPVFtQUk9UMTJdIEJpdHMgKi8NCiNkZWZpbmUgRkxDVExfQkFOSzBfTUFJTl9XRVBST1RfUFJPVDEyX09GUyAgICAgICAoMTIpICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgUFJPVDEyIEJpdCBPZmZzZXQgKi8NCiNkZWZpbmUgRkxDVExfQkFOSzBfTUFJTl9XRVBST1RfUFJPVDEyICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDEwMDApICAgICAgICAgIC8qKjwgUHJvdGVjdHMgU2VjdG9yIDEyIGZyb20gcHJvZ3JhbSBvciBlcmFzZSAqLw0KLyogRkxDVExfQkFOSzBfTUFJTl9XRVBST1RbUFJPVDEzXSBCaXRzICovDQojZGVmaW5lIEZMQ1RMX0JBTkswX01BSU5fV0VQUk9UX1BST1QxM19PRlMgICAgICAgKDEzKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKio8IFBST1QxMyBCaXQgT2Zmc2V0ICovDQojZGVmaW5lIEZMQ1RMX0JBTkswX01BSU5fV0VQUk9UX1BST1QxMyAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAyMDAwKSAgICAgICAgICAvKio8IFByb3RlY3RzIFNlY3RvciAxMyBmcm9tIHByb2dyYW0gb3IgZXJhc2UgKi8NCi8qIEZMQ1RMX0JBTkswX01BSU5fV0VQUk9UW1BST1QxNF0gQml0cyAqLw0KI2RlZmluZSBGTENUTF9CQU5LMF9NQUlOX1dFUFJPVF9QUk9UMTRfT0ZTICAgICAgICgxNCkgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyoqPCBQUk9UMTQgQml0IE9mZnNldCAqLw0KI2RlZmluZSBGTENUTF9CQU5LMF9NQUlOX1dFUFJPVF9QUk9UMTQgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwNDAwMCkgICAgICAgICAgLyoqPCBQcm90ZWN0cyBTZWN0b3IgMTQgZnJvbSBwcm9ncmFtIG9yIGVyYXNlICovDQovKiBGTENUTF9CQU5LMF9NQUlOX1dFUFJPVFtQUk9UMTVdIEJpdHMgKi8NCiNkZWZpbmUgRkxDVExfQkFOSzBfTUFJTl9XRVBST1RfUFJPVDE1X09GUyAgICAgICAoMTUpICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgUFJPVDE1IEJpdCBPZmZzZXQgKi8NCiNkZWZpbmUgRkxDVExfQkFOSzBfTUFJTl9XRVBST1RfUFJPVDE1ICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDgwMDApICAgICAgICAgIC8qKjwgUHJvdGVjdHMgU2VjdG9yIDE1IGZyb20gcHJvZ3JhbSBvciBlcmFzZSAqLw0KLyogRkxDVExfQkFOSzBfTUFJTl9XRVBST1RbUFJPVDE2XSBCaXRzICovDQojZGVmaW5lIEZMQ1RMX0JBTkswX01BSU5fV0VQUk9UX1BST1QxNl9PRlMgICAgICAgKDE2KSAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKio8IFBST1QxNiBCaXQgT2Zmc2V0ICovDQojZGVmaW5lIEZMQ1RMX0JBTkswX01BSU5fV0VQUk9UX1BST1QxNiAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDEwMDAwKSAgICAgICAgICAvKio8IFByb3RlY3RzIFNlY3RvciAxNiBmcm9tIHByb2dyYW0gb3IgZXJhc2UgKi8NCi8qIEZMQ1RMX0JBTkswX01BSU5fV0VQUk9UW1BST1QxN10gQml0cyAqLw0KI2RlZmluZSBGTENUTF9CQU5LMF9NQUlOX1dFUFJPVF9QUk9UMTdfT0ZTICAgICAgICgxNykgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyoqPCBQUk9UMTcgQml0IE9mZnNldCAqLw0KI2RlZmluZSBGTENUTF9CQU5LMF9NQUlOX1dFUFJPVF9QUk9UMTcgICAgICAgICAgICgodWludDMyX3QpMHgwMDAyMDAwMCkgICAgICAgICAgLyoqPCBQcm90ZWN0cyBTZWN0b3IgMTcgZnJvbSBwcm9ncmFtIG9yIGVyYXNlICovDQovKiBGTENUTF9CQU5LMF9NQUlOX1dFUFJPVFtQUk9UMThdIEJpdHMgKi8NCiNkZWZpbmUgRkxDVExfQkFOSzBfTUFJTl9XRVBST1RfUFJPVDE4X09GUyAgICAgICAoMTgpICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgUFJPVDE4IEJpdCBPZmZzZXQgKi8NCiNkZWZpbmUgRkxDVExfQkFOSzBfTUFJTl9XRVBST1RfUFJPVDE4ICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwNDAwMDApICAgICAgICAgIC8qKjwgUHJvdGVjdHMgU2VjdG9yIDE4IGZyb20gcHJvZ3JhbSBvciBlcmFzZSAqLw0KLyogRkxDVExfQkFOSzBfTUFJTl9XRVBST1RbUFJPVDE5XSBCaXRzICovDQojZGVmaW5lIEZMQ1RMX0JBTkswX01BSU5fV0VQUk9UX1BST1QxOV9PRlMgICAgICAgKDE5KSAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKio8IFBST1QxOSBCaXQgT2Zmc2V0ICovDQojZGVmaW5lIEZMQ1RMX0JBTkswX01BSU5fV0VQUk9UX1BST1QxOSAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDgwMDAwKSAgICAgICAgICAvKio8IFByb3RlY3RzIFNlY3RvciAxOSBmcm9tIHByb2dyYW0gb3IgZXJhc2UgKi8NCi8qIEZMQ1RMX0JBTkswX01BSU5fV0VQUk9UW1BST1QyMF0gQml0cyAqLw0KI2RlZmluZSBGTENUTF9CQU5LMF9NQUlOX1dFUFJPVF9QUk9UMjBfT0ZTICAgICAgICgyMCkgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyoqPCBQUk9UMjAgQml0IE9mZnNldCAqLw0KI2RlZmluZSBGTENUTF9CQU5LMF9NQUlOX1dFUFJPVF9QUk9UMjAgICAgICAgICAgICgodWludDMyX3QpMHgwMDEwMDAwMCkgICAgICAgICAgLyoqPCBQcm90ZWN0cyBTZWN0b3IgMjAgZnJvbSBwcm9ncmFtIG9yIGVyYXNlICovDQovKiBGTENUTF9CQU5LMF9NQUlOX1dFUFJPVFtQUk9UMjFdIEJpdHMgKi8NCiNkZWZpbmUgRkxDVExfQkFOSzBfTUFJTl9XRVBST1RfUFJPVDIxX09GUyAgICAgICAoMjEpICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgUFJPVDIxIEJpdCBPZmZzZXQgKi8NCiNkZWZpbmUgRkxDVExfQkFOSzBfTUFJTl9XRVBST1RfUFJPVDIxICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAyMDAwMDApICAgICAgICAgIC8qKjwgUHJvdGVjdHMgU2VjdG9yIDIxIGZyb20gcHJvZ3JhbSBvciBlcmFzZSAqLw0KLyogRkxDVExfQkFOSzBfTUFJTl9XRVBST1RbUFJPVDIyXSBCaXRzICovDQojZGVmaW5lIEZMQ1RMX0JBTkswX01BSU5fV0VQUk9UX1BST1QyMl9PRlMgICAgICAgKDIyKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKio8IFBST1QyMiBCaXQgT2Zmc2V0ICovDQojZGVmaW5lIEZMQ1RMX0JBTkswX01BSU5fV0VQUk9UX1BST1QyMiAgICAgICAgICAgKCh1aW50MzJfdCkweDAwNDAwMDAwKSAgICAgICAgICAvKio8IFByb3RlY3RzIFNlY3RvciAyMiBmcm9tIHByb2dyYW0gb3IgZXJhc2UgKi8NCi8qIEZMQ1RMX0JBTkswX01BSU5fV0VQUk9UW1BST1QyM10gQml0cyAqLw0KI2RlZmluZSBGTENUTF9CQU5LMF9NQUlOX1dFUFJPVF9QUk9UMjNfT0ZTICAgICAgICgyMykgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyoqPCBQUk9UMjMgQml0IE9mZnNldCAqLw0KI2RlZmluZSBGTENUTF9CQU5LMF9NQUlOX1dFUFJPVF9QUk9UMjMgICAgICAgICAgICgodWludDMyX3QpMHgwMDgwMDAwMCkgICAgICAgICAgLyoqPCBQcm90ZWN0cyBTZWN0b3IgMjMgZnJvbSBwcm9ncmFtIG9yIGVyYXNlICovDQovKiBGTENUTF9CQU5LMF9NQUlOX1dFUFJPVFtQUk9UMjRdIEJpdHMgKi8NCiNkZWZpbmUgRkxDVExfQkFOSzBfTUFJTl9XRVBST1RfUFJPVDI0X09GUyAgICAgICAoMjQpICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgUFJPVDI0IEJpdCBPZmZzZXQgKi8NCiNkZWZpbmUgRkxDVExfQkFOSzBfTUFJTl9XRVBST1RfUFJPVDI0ICAgICAgICAgICAoKHVpbnQzMl90KTB4MDEwMDAwMDApICAgICAgICAgIC8qKjwgUHJvdGVjdHMgU2VjdG9yIDI0IGZyb20gcHJvZ3JhbSBvciBlcmFzZSAqLw0KLyogRkxDVExfQkFOSzBfTUFJTl9XRVBST1RbUFJPVDI1XSBCaXRzICovDQojZGVmaW5lIEZMQ1RMX0JBTkswX01BSU5fV0VQUk9UX1BST1QyNV9PRlMgICAgICAgKDI1KSAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKio8IFBST1QyNSBCaXQgT2Zmc2V0ICovDQojZGVmaW5lIEZMQ1RMX0JBTkswX01BSU5fV0VQUk9UX1BST1QyNSAgICAgICAgICAgKCh1aW50MzJfdCkweDAyMDAwMDAwKSAgICAgICAgICAvKio8IFByb3RlY3RzIFNlY3RvciAyNSBmcm9tIHByb2dyYW0gb3IgZXJhc2UgKi8NCi8qIEZMQ1RMX0JBTkswX01BSU5fV0VQUk9UW1BST1QyNl0gQml0cyAqLw0KI2RlZmluZSBGTENUTF9CQU5LMF9NQUlOX1dFUFJPVF9QUk9UMjZfT0ZTICAgICAgICgyNikgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyoqPCBQUk9UMjYgQml0IE9mZnNldCAqLw0KI2RlZmluZSBGTENUTF9CQU5LMF9NQUlOX1dFUFJPVF9QUk9UMjYgICAgICAgICAgICgodWludDMyX3QpMHgwNDAwMDAwMCkgICAgICAgICAgLyoqPCBQcm90ZWN0cyBTZWN0b3IgMjYgZnJvbSBwcm9ncmFtIG9yIGVyYXNlICovDQovKiBGTENUTF9CQU5LMF9NQUlOX1dFUFJPVFtQUk9UMjddIEJpdHMgKi8NCiNkZWZpbmUgRkxDVExfQkFOSzBfTUFJTl9XRVBST1RfUFJPVDI3X09GUyAgICAgICAoMjcpICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgUFJPVDI3IEJpdCBPZmZzZXQgKi8NCiNkZWZpbmUgRkxDVExfQkFOSzBfTUFJTl9XRVBST1RfUFJPVDI3ICAgICAgICAgICAoKHVpbnQzMl90KTB4MDgwMDAwMDApICAgICAgICAgIC8qKjwgUHJvdGVjdHMgU2VjdG9yIDI3IGZyb20gcHJvZ3JhbSBvciBlcmFzZSAqLw0KLyogRkxDVExfQkFOSzBfTUFJTl9XRVBST1RbUFJPVDI4XSBCaXRzICovDQojZGVmaW5lIEZMQ1RMX0JBTkswX01BSU5fV0VQUk9UX1BST1QyOF9PRlMgICAgICAgKDI4KSAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKio8IFBST1QyOCBCaXQgT2Zmc2V0ICovDQojZGVmaW5lIEZMQ1RMX0JBTkswX01BSU5fV0VQUk9UX1BST1QyOCAgICAgICAgICAgKCh1aW50MzJfdCkweDEwMDAwMDAwKSAgICAgICAgICAvKio8IFByb3RlY3RzIFNlY3RvciAyOCBmcm9tIHByb2dyYW0gb3IgZXJhc2UgKi8NCi8qIEZMQ1RMX0JBTkswX01BSU5fV0VQUk9UW1BST1QyOV0gQml0cyAqLw0KI2RlZmluZSBGTENUTF9CQU5LMF9NQUlOX1dFUFJPVF9QUk9UMjlfT0ZTICAgICAgICgyOSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyoqPCBQUk9UMjkgQml0IE9mZnNldCAqLw0KI2RlZmluZSBGTENUTF9CQU5LMF9NQUlOX1dFUFJPVF9QUk9UMjkgICAgICAgICAgICgodWludDMyX3QpMHgyMDAwMDAwMCkgICAgICAgICAgLyoqPCBQcm90ZWN0cyBTZWN0b3IgMjkgZnJvbSBwcm9ncmFtIG9yIGVyYXNlICovDQovKiBGTENUTF9CQU5LMF9NQUlOX1dFUFJPVFtQUk9UMzBdIEJpdHMgKi8NCiNkZWZpbmUgRkxDVExfQkFOSzBfTUFJTl9XRVBST1RfUFJPVDMwX09GUyAgICAgICAoMzApICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgUFJPVDMwIEJpdCBPZmZzZXQgKi8NCiNkZWZpbmUgRkxDVExfQkFOSzBfTUFJTl9XRVBST1RfUFJPVDMwICAgICAgICAgICAoKHVpbnQzMl90KTB4NDAwMDAwMDApICAgICAgICAgIC8qKjwgUHJvdGVjdHMgU2VjdG9yIDMwIGZyb20gcHJvZ3JhbSBvciBlcmFzZSAqLw0KLyogRkxDVExfQkFOSzBfTUFJTl9XRVBST1RbUFJPVDMxXSBCaXRzICovDQojZGVmaW5lIEZMQ1RMX0JBTkswX01BSU5fV0VQUk9UX1BST1QzMV9PRlMgICAgICAgKDMxKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKio8IFBST1QzMSBCaXQgT2Zmc2V0ICovDQojZGVmaW5lIEZMQ1RMX0JBTkswX01BSU5fV0VQUk9UX1BST1QzMSAgICAgICAgICAgKCh1aW50MzJfdCkweDgwMDAwMDAwKSAgICAgICAgICAvKio8IFByb3RlY3RzIFNlY3RvciAzMSBmcm9tIHByb2dyYW0gb3IgZXJhc2UgKi8NCi8qIEZMQ1RMX0JBTksxX0lORk9fV0VQUk9UW1BST1QwXSBCaXRzICovDQojZGVmaW5lIEZMQ1RMX0JBTksxX0lORk9fV0VQUk9UX1BST1QwX09GUyAgICAgICAgKCAwKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKio8IFBST1QwIEJpdCBPZmZzZXQgKi8NCiNkZWZpbmUgRkxDVExfQkFOSzFfSU5GT19XRVBST1RfUFJPVDAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDAwMDEpICAgICAgICAgIC8qKjwgUHJvdGVjdHMgU2VjdG9yIDAgZnJvbSBwcm9ncmFtIG9yIGVyYXNlIG9wZXJhdGlvbnMgKi8NCi8qIEZMQ1RMX0JBTksxX0lORk9fV0VQUk9UW1BST1QxXSBCaXRzICovDQojZGVmaW5lIEZMQ1RMX0JBTksxX0lORk9fV0VQUk9UX1BST1QxX09GUyAgICAgICAgKCAxKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKio8IFBST1QxIEJpdCBPZmZzZXQgKi8NCiNkZWZpbmUgRkxDVExfQkFOSzFfSU5GT19XRVBST1RfUFJPVDEgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDAwMDIpICAgICAgICAgIC8qKjwgUHJvdGVjdHMgU2VjdG9yIDEgZnJvbSBwcm9ncmFtIG9yIGVyYXNlIG9wZXJhdGlvbnMgKi8NCi8qIEZMQ1RMX0JBTksxX01BSU5fV0VQUk9UW1BST1QwXSBCaXRzICovDQojZGVmaW5lIEZMQ1RMX0JBTksxX01BSU5fV0VQUk9UX1BST1QwX09GUyAgICAgICAgKCAwKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKio8IFBST1QwIEJpdCBPZmZzZXQgKi8NCiNkZWZpbmUgRkxDVExfQkFOSzFfTUFJTl9XRVBST1RfUFJPVDAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDAwMDEpICAgICAgICAgIC8qKjwgUHJvdGVjdHMgU2VjdG9yIDAgZnJvbSBwcm9ncmFtIG9yIGVyYXNlIG9wZXJhdGlvbnMgKi8NCi8qIEZMQ1RMX0JBTksxX01BSU5fV0VQUk9UW1BST1QxXSBCaXRzICovDQojZGVmaW5lIEZMQ1RMX0JBTksxX01BSU5fV0VQUk9UX1BST1QxX09GUyAgICAgICAgKCAxKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKio8IFBST1QxIEJpdCBPZmZzZXQgKi8NCiNkZWZpbmUgRkxDVExfQkFOSzFfTUFJTl9XRVBST1RfUFJPVDEgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDAwMDIpICAgICAgICAgIC8qKjwgUHJvdGVjdHMgU2VjdG9yIDEgZnJvbSBwcm9ncmFtIG9yIGVyYXNlIG9wZXJhdGlvbnMgKi8NCi8qIEZMQ1RMX0JBTksxX01BSU5fV0VQUk9UW1BST1QyXSBCaXRzICovDQojZGVmaW5lIEZMQ1RMX0JBTksxX01BSU5fV0VQUk9UX1BST1QyX09GUyAgICAgICAgKCAyKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKio8IFBST1QyIEJpdCBPZmZzZXQgKi8NCiNkZWZpbmUgRkxDVExfQkFOSzFfTUFJTl9XRVBST1RfUFJPVDIgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDAwMDQpICAgICAgICAgIC8qKjwgUHJvdGVjdHMgU2VjdG9yIDIgZnJvbSBwcm9ncmFtIG9yIGVyYXNlIG9wZXJhdGlvbnMgKi8NCi8qIEZMQ1RMX0JBTksxX01BSU5fV0VQUk9UW1BST1QzXSBCaXRzICovDQojZGVmaW5lIEZMQ1RMX0JBTksxX01BSU5fV0VQUk9UX1BST1QzX09GUyAgICAgICAgKCAzKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKio8IFBST1QzIEJpdCBPZmZzZXQgKi8NCiNkZWZpbmUgRkxDVExfQkFOSzFfTUFJTl9XRVBST1RfUFJPVDMgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDAwMDgpICAgICAgICAgIC8qKjwgUHJvdGVjdHMgU2VjdG9yIDMgZnJvbSBwcm9ncmFtIG9yIGVyYXNlIG9wZXJhdGlvbnMgKi8NCi8qIEZMQ1RMX0JBTksxX01BSU5fV0VQUk9UW1BST1Q0XSBCaXRzICovDQojZGVmaW5lIEZMQ1RMX0JBTksxX01BSU5fV0VQUk9UX1BST1Q0X09GUyAgICAgICAgKCA0KSAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKio8IFBST1Q0IEJpdCBPZmZzZXQgKi8NCiNkZWZpbmUgRkxDVExfQkFOSzFfTUFJTl9XRVBST1RfUFJPVDQgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDAwMTApICAgICAgICAgIC8qKjwgUHJvdGVjdHMgU2VjdG9yIDQgZnJvbSBwcm9ncmFtIG9yIGVyYXNlIG9wZXJhdGlvbnMgKi8NCi8qIEZMQ1RMX0JBTksxX01BSU5fV0VQUk9UW1BST1Q1XSBCaXRzICovDQojZGVmaW5lIEZMQ1RMX0JBTksxX01BSU5fV0VQUk9UX1BST1Q1X09GUyAgICAgICAgKCA1KSAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKio8IFBST1Q1IEJpdCBPZmZzZXQgKi8NCiNkZWZpbmUgRkxDVExfQkFOSzFfTUFJTl9XRVBST1RfUFJPVDUgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDAwMjApICAgICAgICAgIC8qKjwgUHJvdGVjdHMgU2VjdG9yIDUgZnJvbSBwcm9ncmFtIG9yIGVyYXNlIG9wZXJhdGlvbnMgKi8NCi8qIEZMQ1RMX0JBTksxX01BSU5fV0VQUk9UW1BST1Q2XSBCaXRzICovDQojZGVmaW5lIEZMQ1RMX0JBTksxX01BSU5fV0VQUk9UX1BST1Q2X09GUyAgICAgICAgKCA2KSAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKio8IFBST1Q2IEJpdCBPZmZzZXQgKi8NCiNkZWZpbmUgRkxDVExfQkFOSzFfTUFJTl9XRVBST1RfUFJPVDYgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDAwNDApICAgICAgICAgIC8qKjwgUHJvdGVjdHMgU2VjdG9yIDYgZnJvbSBwcm9ncmFtIG9yIGVyYXNlIG9wZXJhdGlvbnMgKi8NCi8qIEZMQ1RMX0JBTksxX01BSU5fV0VQUk9UW1BST1Q3XSBCaXRzICovDQojZGVmaW5lIEZMQ1RMX0JBTksxX01BSU5fV0VQUk9UX1BST1Q3X09GUyAgICAgICAgKCA3KSAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKio8IFBST1Q3IEJpdCBPZmZzZXQgKi8NCiNkZWZpbmUgRkxDVExfQkFOSzFfTUFJTl9XRVBST1RfUFJPVDcgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDAwODApICAgICAgICAgIC8qKjwgUHJvdGVjdHMgU2VjdG9yIDcgZnJvbSBwcm9ncmFtIG9yIGVyYXNlIG9wZXJhdGlvbnMgKi8NCi8qIEZMQ1RMX0JBTksxX01BSU5fV0VQUk9UW1BST1Q4XSBCaXRzICovDQojZGVmaW5lIEZMQ1RMX0JBTksxX01BSU5fV0VQUk9UX1BST1Q4X09GUyAgICAgICAgKCA4KSAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKio8IFBST1Q4IEJpdCBPZmZzZXQgKi8NCiNkZWZpbmUgRkxDVExfQkFOSzFfTUFJTl9XRVBST1RfUFJPVDggICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDAxMDApICAgICAgICAgIC8qKjwgUHJvdGVjdHMgU2VjdG9yIDggZnJvbSBwcm9ncmFtIG9yIGVyYXNlIG9wZXJhdGlvbnMgKi8NCi8qIEZMQ1RMX0JBTksxX01BSU5fV0VQUk9UW1BST1Q5XSBCaXRzICovDQojZGVmaW5lIEZMQ1RMX0JBTksxX01BSU5fV0VQUk9UX1BST1Q5X09GUyAgICAgICAgKCA5KSAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKio8IFBST1Q5IEJpdCBPZmZzZXQgKi8NCiNkZWZpbmUgRkxDVExfQkFOSzFfTUFJTl9XRVBST1RfUFJPVDkgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDAyMDApICAgICAgICAgIC8qKjwgUHJvdGVjdHMgU2VjdG9yIDkgZnJvbSBwcm9ncmFtIG9yIGVyYXNlIG9wZXJhdGlvbnMgKi8NCi8qIEZMQ1RMX0JBTksxX01BSU5fV0VQUk9UW1BST1QxMF0gQml0cyAqLw0KI2RlZmluZSBGTENUTF9CQU5LMV9NQUlOX1dFUFJPVF9QUk9UMTBfT0ZTICAgICAgICgxMCkgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyoqPCBQUk9UMTAgQml0IE9mZnNldCAqLw0KI2RlZmluZSBGTENUTF9CQU5LMV9NQUlOX1dFUFJPVF9QUk9UMTAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMDQwMCkgICAgICAgICAgLyoqPCBQcm90ZWN0cyBTZWN0b3IgMTAgZnJvbSBwcm9ncmFtIG9yIGVyYXNlIG9wZXJhdGlvbnMgKi8NCi8qIEZMQ1RMX0JBTksxX01BSU5fV0VQUk9UW1BST1QxMV0gQml0cyAqLw0KI2RlZmluZSBGTENUTF9CQU5LMV9NQUlOX1dFUFJPVF9QUk9UMTFfT0ZTICAgICAgICgxMSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyoqPCBQUk9UMTEgQml0IE9mZnNldCAqLw0KI2RlZmluZSBGTENUTF9CQU5LMV9NQUlOX1dFUFJPVF9QUk9UMTEgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMDgwMCkgICAgICAgICAgLyoqPCBQcm90ZWN0cyBTZWN0b3IgMTEgZnJvbSBwcm9ncmFtIG9yIGVyYXNlIG9wZXJhdGlvbnMgKi8NCi8qIEZMQ1RMX0JBTksxX01BSU5fV0VQUk9UW1BST1QxMl0gQml0cyAqLw0KI2RlZmluZSBGTENUTF9CQU5LMV9NQUlOX1dFUFJPVF9QUk9UMTJfT0ZTICAgICAgICgxMikgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyoqPCBQUk9UMTIgQml0IE9mZnNldCAqLw0KI2RlZmluZSBGTENUTF9CQU5LMV9NQUlOX1dFUFJPVF9QUk9UMTIgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMTAwMCkgICAgICAgICAgLyoqPCBQcm90ZWN0cyBTZWN0b3IgMTIgZnJvbSBwcm9ncmFtIG9yIGVyYXNlIG9wZXJhdGlvbnMgKi8NCi8qIEZMQ1RMX0JBTksxX01BSU5fV0VQUk9UW1BST1QxM10gQml0cyAqLw0KI2RlZmluZSBGTENUTF9CQU5LMV9NQUlOX1dFUFJPVF9QUk9UMTNfT0ZTICAgICAgICgxMykgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyoqPCBQUk9UMTMgQml0IE9mZnNldCAqLw0KI2RlZmluZSBGTENUTF9CQU5LMV9NQUlOX1dFUFJPVF9QUk9UMTMgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMjAwMCkgICAgICAgICAgLyoqPCBQcm90ZWN0cyBTZWN0b3IgMTMgZnJvbSBwcm9ncmFtIG9yIGVyYXNlIG9wZXJhdGlvbnMgKi8NCi8qIEZMQ1RMX0JBTksxX01BSU5fV0VQUk9UW1BST1QxNF0gQml0cyAqLw0KI2RlZmluZSBGTENUTF9CQU5LMV9NQUlOX1dFUFJPVF9QUk9UMTRfT0ZTICAgICAgICgxNCkgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyoqPCBQUk9UMTQgQml0IE9mZnNldCAqLw0KI2RlZmluZSBGTENUTF9CQU5LMV9NQUlOX1dFUFJPVF9QUk9UMTQgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwNDAwMCkgICAgICAgICAgLyoqPCBQcm90ZWN0cyBTZWN0b3IgMTQgZnJvbSBwcm9ncmFtIG9yIGVyYXNlIG9wZXJhdGlvbnMgKi8NCi8qIEZMQ1RMX0JBTksxX01BSU5fV0VQUk9UW1BST1QxNV0gQml0cyAqLw0KI2RlZmluZSBGTENUTF9CQU5LMV9NQUlOX1dFUFJPVF9QUk9UMTVfT0ZTICAgICAgICgxNSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyoqPCBQUk9UMTUgQml0IE9mZnNldCAqLw0KI2RlZmluZSBGTENUTF9CQU5LMV9NQUlOX1dFUFJPVF9QUk9UMTUgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwODAwMCkgICAgICAgICAgLyoqPCBQcm90ZWN0cyBTZWN0b3IgMTUgZnJvbSBwcm9ncmFtIG9yIGVyYXNlIG9wZXJhdGlvbnMgKi8NCi8qIEZMQ1RMX0JBTksxX01BSU5fV0VQUk9UW1BST1QxNl0gQml0cyAqLw0KI2RlZmluZSBGTENUTF9CQU5LMV9NQUlOX1dFUFJPVF9QUk9UMTZfT0ZTICAgICAgICgxNikgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyoqPCBQUk9UMTYgQml0IE9mZnNldCAqLw0KI2RlZmluZSBGTENUTF9CQU5LMV9NQUlOX1dFUFJPVF9QUk9UMTYgICAgICAgICAgICgodWludDMyX3QpMHgwMDAxMDAwMCkgICAgICAgICAgLyoqPCBQcm90ZWN0cyBTZWN0b3IgMTYgZnJvbSBwcm9ncmFtIG9yIGVyYXNlIG9wZXJhdGlvbnMgKi8NCi8qIEZMQ1RMX0JBTksxX01BSU5fV0VQUk9UW1BST1QxN10gQml0cyAqLw0KI2RlZmluZSBGTENUTF9CQU5LMV9NQUlOX1dFUFJPVF9QUk9UMTdfT0ZTICAgICAgICgxNykgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyoqPCBQUk9UMTcgQml0IE9mZnNldCAqLw0KI2RlZmluZSBGTENUTF9CQU5LMV9NQUlOX1dFUFJPVF9QUk9UMTcgICAgICAgICAgICgodWludDMyX3QpMHgwMDAyMDAwMCkgICAgICAgICAgLyoqPCBQcm90ZWN0cyBTZWN0b3IgMTcgZnJvbSBwcm9ncmFtIG9yIGVyYXNlIG9wZXJhdGlvbnMgKi8NCi8qIEZMQ1RMX0JBTksxX01BSU5fV0VQUk9UW1BST1QxOF0gQml0cyAqLw0KI2RlZmluZSBGTENUTF9CQU5LMV9NQUlOX1dFUFJPVF9QUk9UMThfT0ZTICAgICAgICgxOCkgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyoqPCBQUk9UMTggQml0IE9mZnNldCAqLw0KI2RlZmluZSBGTENUTF9CQU5LMV9NQUlOX1dFUFJPVF9QUk9UMTggICAgICAgICAgICgodWludDMyX3QpMHgwMDA0MDAwMCkgICAgICAgICAgLyoqPCBQcm90ZWN0cyBTZWN0b3IgMTggZnJvbSBwcm9ncmFtIG9yIGVyYXNlIG9wZXJhdGlvbnMgKi8NCi8qIEZMQ1RMX0JBTksxX01BSU5fV0VQUk9UW1BST1QxOV0gQml0cyAqLw0KI2RlZmluZSBGTENUTF9CQU5LMV9NQUlOX1dFUFJPVF9QUk9UMTlfT0ZTICAgICAgICgxOSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyoqPCBQUk9UMTkgQml0IE9mZnNldCAqLw0KI2RlZmluZSBGTENUTF9CQU5LMV9NQUlOX1dFUFJPVF9QUk9UMTkgICAgICAgICAgICgodWludDMyX3QpMHgwMDA4MDAwMCkgICAgICAgICAgLyoqPCBQcm90ZWN0cyBTZWN0b3IgMTkgZnJvbSBwcm9ncmFtIG9yIGVyYXNlIG9wZXJhdGlvbnMgKi8NCi8qIEZMQ1RMX0JBTksxX01BSU5fV0VQUk9UW1BST1QyMF0gQml0cyAqLw0KI2RlZmluZSBGTENUTF9CQU5LMV9NQUlOX1dFUFJPVF9QUk9UMjBfT0ZTICAgICAgICgyMCkgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyoqPCBQUk9UMjAgQml0IE9mZnNldCAqLw0KI2RlZmluZSBGTENUTF9CQU5LMV9NQUlOX1dFUFJPVF9QUk9UMjAgICAgICAgICAgICgodWludDMyX3QpMHgwMDEwMDAwMCkgICAgICAgICAgLyoqPCBQcm90ZWN0cyBTZWN0b3IgMjAgZnJvbSBwcm9ncmFtIG9yIGVyYXNlIG9wZXJhdGlvbnMgKi8NCi8qIEZMQ1RMX0JBTksxX01BSU5fV0VQUk9UW1BST1QyMV0gQml0cyAqLw0KI2RlZmluZSBGTENUTF9CQU5LMV9NQUlOX1dFUFJPVF9QUk9UMjFfT0ZTICAgICAgICgyMSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyoqPCBQUk9UMjEgQml0IE9mZnNldCAqLw0KI2RlZmluZSBGTENUTF9CQU5LMV9NQUlOX1dFUFJPVF9QUk9UMjEgICAgICAgICAgICgodWludDMyX3QpMHgwMDIwMDAwMCkgICAgICAgICAgLyoqPCBQcm90ZWN0cyBTZWN0b3IgMjEgZnJvbSBwcm9ncmFtIG9yIGVyYXNlIG9wZXJhdGlvbnMgKi8NCi8qIEZMQ1RMX0JBTksxX01BSU5fV0VQUk9UW1BST1QyMl0gQml0cyAqLw0KI2RlZmluZSBGTENUTF9CQU5LMV9NQUlOX1dFUFJPVF9QUk9UMjJfT0ZTICAgICAgICgyMikgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyoqPCBQUk9UMjIgQml0IE9mZnNldCAqLw0KI2RlZmluZSBGTENUTF9CQU5LMV9NQUlOX1dFUFJPVF9QUk9UMjIgICAgICAgICAgICgodWludDMyX3QpMHgwMDQwMDAwMCkgICAgICAgICAgLyoqPCBQcm90ZWN0cyBTZWN0b3IgMjIgZnJvbSBwcm9ncmFtIG9yIGVyYXNlIG9wZXJhdGlvbnMgKi8NCi8qIEZMQ1RMX0JBTksxX01BSU5fV0VQUk9UW1BST1QyM10gQml0cyAqLw0KI2RlZmluZSBGTENUTF9CQU5LMV9NQUlOX1dFUFJPVF9QUk9UMjNfT0ZTICAgICAgICgyMykgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyoqPCBQUk9UMjMgQml0IE9mZnNldCAqLw0KI2RlZmluZSBGTENUTF9CQU5LMV9NQUlOX1dFUFJPVF9QUk9UMjMgICAgICAgICAgICgodWludDMyX3QpMHgwMDgwMDAwMCkgICAgICAgICAgLyoqPCBQcm90ZWN0cyBTZWN0b3IgMjMgZnJvbSBwcm9ncmFtIG9yIGVyYXNlIG9wZXJhdGlvbnMgKi8NCi8qIEZMQ1RMX0JBTksxX01BSU5fV0VQUk9UW1BST1QyNF0gQml0cyAqLw0KI2RlZmluZSBGTENUTF9CQU5LMV9NQUlOX1dFUFJPVF9QUk9UMjRfT0ZTICAgICAgICgyNCkgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyoqPCBQUk9UMjQgQml0IE9mZnNldCAqLw0KI2RlZmluZSBGTENUTF9CQU5LMV9NQUlOX1dFUFJPVF9QUk9UMjQgICAgICAgICAgICgodWludDMyX3QpMHgwMTAwMDAwMCkgICAgICAgICAgLyoqPCBQcm90ZWN0cyBTZWN0b3IgMjQgZnJvbSBwcm9ncmFtIG9yIGVyYXNlIG9wZXJhdGlvbnMgKi8NCi8qIEZMQ1RMX0JBTksxX01BSU5fV0VQUk9UW1BST1QyNV0gQml0cyAqLw0KI2RlZmluZSBGTENUTF9CQU5LMV9NQUlOX1dFUFJPVF9QUk9UMjVfT0ZTICAgICAgICgyNSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyoqPCBQUk9UMjUgQml0IE9mZnNldCAqLw0KI2RlZmluZSBGTENUTF9CQU5LMV9NQUlOX1dFUFJPVF9QUk9UMjUgICAgICAgICAgICgodWludDMyX3QpMHgwMjAwMDAwMCkgICAgICAgICAgLyoqPCBQcm90ZWN0cyBTZWN0b3IgMjUgZnJvbSBwcm9ncmFtIG9yIGVyYXNlIG9wZXJhdGlvbnMgKi8NCi8qIEZMQ1RMX0JBTksxX01BSU5fV0VQUk9UW1BST1QyNl0gQml0cyAqLw0KI2RlZmluZSBGTENUTF9CQU5LMV9NQUlOX1dFUFJPVF9QUk9UMjZfT0ZTICAgICAgICgyNikgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyoqPCBQUk9UMjYgQml0IE9mZnNldCAqLw0KI2RlZmluZSBGTENUTF9CQU5LMV9NQUlOX1dFUFJPVF9QUk9UMjYgICAgICAgICAgICgodWludDMyX3QpMHgwNDAwMDAwMCkgICAgICAgICAgLyoqPCBQcm90ZWN0cyBTZWN0b3IgMjYgZnJvbSBwcm9ncmFtIG9yIGVyYXNlIG9wZXJhdGlvbnMgKi8NCi8qIEZMQ1RMX0JBTksxX01BSU5fV0VQUk9UW1BST1QyN10gQml0cyAqLw0KI2RlZmluZSBGTENUTF9CQU5LMV9NQUlOX1dFUFJPVF9QUk9UMjdfT0ZTICAgICAgICgyNykgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyoqPCBQUk9UMjcgQml0IE9mZnNldCAqLw0KI2RlZmluZSBGTENUTF9CQU5LMV9NQUlOX1dFUFJPVF9QUk9UMjcgICAgICAgICAgICgodWludDMyX3QpMHgwODAwMDAwMCkgICAgICAgICAgLyoqPCBQcm90ZWN0cyBTZWN0b3IgMjcgZnJvbSBwcm9ncmFtIG9yIGVyYXNlIG9wZXJhdGlvbnMgKi8NCi8qIEZMQ1RMX0JBTksxX01BSU5fV0VQUk9UW1BST1QyOF0gQml0cyAqLw0KI2RlZmluZSBGTENUTF9CQU5LMV9NQUlOX1dFUFJPVF9QUk9UMjhfT0ZTICAgICAgICgyOCkgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyoqPCBQUk9UMjggQml0IE9mZnNldCAqLw0KI2RlZmluZSBGTENUTF9CQU5LMV9NQUlOX1dFUFJPVF9QUk9UMjggICAgICAgICAgICgodWludDMyX3QpMHgxMDAwMDAwMCkgICAgICAgICAgLyoqPCBQcm90ZWN0cyBTZWN0b3IgMjggZnJvbSBwcm9ncmFtIG9yIGVyYXNlIG9wZXJhdGlvbnMgKi8NCi8qIEZMQ1RMX0JBTksxX01BSU5fV0VQUk9UW1BST1QyOV0gQml0cyAqLw0KI2RlZmluZSBGTENUTF9CQU5LMV9NQUlOX1dFUFJPVF9QUk9UMjlfT0ZTICAgICAgICgyOSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyoqPCBQUk9UMjkgQml0IE9mZnNldCAqLw0KI2RlZmluZSBGTENUTF9CQU5LMV9NQUlOX1dFUFJPVF9QUk9UMjkgICAgICAgICAgICgodWludDMyX3QpMHgyMDAwMDAwMCkgICAgICAgICAgLyoqPCBQcm90ZWN0cyBTZWN0b3IgMjkgZnJvbSBwcm9ncmFtIG9yIGVyYXNlIG9wZXJhdGlvbnMgKi8NCi8qIEZMQ1RMX0JBTksxX01BSU5fV0VQUk9UW1BST1QzMF0gQml0cyAqLw0KI2RlZmluZSBGTENUTF9CQU5LMV9NQUlOX1dFUFJPVF9QUk9UMzBfT0ZTICAgICAgICgzMCkgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyoqPCBQUk9UMzAgQml0IE9mZnNldCAqLw0KI2RlZmluZSBGTENUTF9CQU5LMV9NQUlOX1dFUFJPVF9QUk9UMzAgICAgICAgICAgICgodWludDMyX3QpMHg0MDAwMDAwMCkgICAgICAgICAgLyoqPCBQcm90ZWN0cyBTZWN0b3IgMzAgZnJvbSBwcm9ncmFtIG9yIGVyYXNlIG9wZXJhdGlvbnMgKi8NCi8qIEZMQ1RMX0JBTksxX01BSU5fV0VQUk9UW1BST1QzMV0gQml0cyAqLw0KI2RlZmluZSBGTENUTF9CQU5LMV9NQUlOX1dFUFJPVF9QUk9UMzFfT0ZTICAgICAgICgzMSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyoqPCBQUk9UMzEgQml0IE9mZnNldCAqLw0KI2RlZmluZSBGTENUTF9CQU5LMV9NQUlOX1dFUFJPVF9QUk9UMzEgICAgICAgICAgICgodWludDMyX3QpMHg4MDAwMDAwMCkgICAgICAgICAgLyoqPCBQcm90ZWN0cyBTZWN0b3IgMzEgZnJvbSBwcm9ncmFtIG9yIGVyYXNlIG9wZXJhdGlvbnMgKi8NCi8qIEZMQ1RMX0JNUktfQ1RMU1RBVFtJX0JNUktdIEJpdHMgKi8NCiNkZWZpbmUgRkxDVExfQk1SS19DVExTVEFUX0lfQk1SS19PRlMgICAgICAgICAgICAoIDApICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgSV9CTVJLIEJpdCBPZmZzZXQgKi8NCiNkZWZpbmUgRkxDVExfQk1SS19DVExTVEFUX0lfQk1SSyAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDAwMDEpDQovKiBGTENUTF9CTVJLX0NUTFNUQVRbRF9CTVJLXSBCaXRzICovDQojZGVmaW5lIEZMQ1RMX0JNUktfQ1RMU1RBVF9EX0JNUktfT0ZTICAgICAgICAgICAgKCAxKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKio8IERfQk1SSyBCaXQgT2Zmc2V0ICovDQojZGVmaW5lIEZMQ1RMX0JNUktfQ1RMU1RBVF9EX0JNUksgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwMDAyKQ0KLyogRkxDVExfQk1SS19DVExTVEFUW0NNUF9FTl0gQml0cyAqLw0KI2RlZmluZSBGTENUTF9CTVJLX0NUTFNUQVRfQ01QX0VOX09GUyAgICAgICAgICAgICggMikgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyoqPCBDTVBfRU4gQml0IE9mZnNldCAqLw0KI2RlZmluZSBGTENUTF9CTVJLX0NUTFNUQVRfQ01QX0VOICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMDAwNCkNCi8qIEZMQ1RMX0JNUktfQ1RMU1RBVFtDTVBfU0VMXSBCaXRzICovDQojZGVmaW5lIEZMQ1RMX0JNUktfQ1RMU1RBVF9DTVBfU0VMX09GUyAgICAgICAgICAgKCAzKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKio8IENNUF9TRUwgQml0IE9mZnNldCAqLw0KI2RlZmluZSBGTENUTF9CTVJLX0NUTFNUQVRfQ01QX1NFTCAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMDAwOCkNCi8qIEZMQ1RMX0lGR1tSREJSU1RdIEJpdHMgKi8NCiNkZWZpbmUgRkxDVExfSUZHX1JEQlJTVF9PRlMgICAgICAgICAgICAgICAgICAgICAoIDApICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgUkRCUlNUIEJpdCBPZmZzZXQgKi8NCiNkZWZpbmUgRkxDVExfSUZHX1JEQlJTVCAgICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDAwMDEpDQovKiBGTENUTF9JRkdbQVZQUkVdIEJpdHMgKi8NCiNkZWZpbmUgRkxDVExfSUZHX0FWUFJFX09GUyAgICAgICAgICAgICAgICAgICAgICAoIDEpICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgQVZQUkUgQml0IE9mZnNldCAqLw0KI2RlZmluZSBGTENUTF9JRkdfQVZQUkUgICAgICAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMDAwMikNCi8qIEZMQ1RMX0lGR1tBVlBTVF0gQml0cyAqLw0KI2RlZmluZSBGTENUTF9JRkdfQVZQU1RfT0ZTICAgICAgICAgICAgICAgICAgICAgICggMikgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyoqPCBBVlBTVCBCaXQgT2Zmc2V0ICovDQojZGVmaW5lIEZMQ1RMX0lGR19BVlBTVCAgICAgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwMDA0KQ0KLyogRkxDVExfSUZHW1BSR10gQml0cyAqLw0KI2RlZmluZSBGTENUTF9JRkdfUFJHX09GUyAgICAgICAgICAgICAgICAgICAgICAgICggMykgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyoqPCBQUkcgQml0IE9mZnNldCAqLw0KI2RlZmluZSBGTENUTF9JRkdfUFJHICAgICAgICAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMDAwOCkNCi8qIEZMQ1RMX0lGR1tQUkdCXSBCaXRzICovDQojZGVmaW5lIEZMQ1RMX0lGR19QUkdCX09GUyAgICAgICAgICAgICAgICAgICAgICAgKCA0KSAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKio8IFBSR0IgQml0IE9mZnNldCAqLw0KI2RlZmluZSBGTENUTF9JRkdfUFJHQiAgICAgICAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMDAxMCkNCi8qIEZMQ1RMX0lGR1tFUkFTRV0gQml0cyAqLw0KI2RlZmluZSBGTENUTF9JRkdfRVJBU0VfT0ZTICAgICAgICAgICAgICAgICAgICAgICggNSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyoqPCBFUkFTRSBCaXQgT2Zmc2V0ICovDQojZGVmaW5lIEZMQ1RMX0lGR19FUkFTRSAgICAgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwMDIwKQ0KLyogRkxDVExfSUZHW0JNUktdIEJpdHMgKi8NCiNkZWZpbmUgRkxDVExfSUZHX0JNUktfT0ZTICAgICAgICAgICAgICAgICAgICAgICAoIDgpICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgQk1SSyBCaXQgT2Zmc2V0ICovDQojZGVmaW5lIEZMQ1RMX0lGR19CTVJLICAgICAgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwMTAwKQ0KLyogRkxDVExfSUZHW1BSR19FUlJdIEJpdHMgKi8NCiNkZWZpbmUgRkxDVExfSUZHX1BSR19FUlJfT0ZTICAgICAgICAgICAgICAgICAgICAoIDkpICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgUFJHX0VSUiBCaXQgT2Zmc2V0ICovDQojZGVmaW5lIEZMQ1RMX0lGR19QUkdfRVJSICAgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwMjAwKQ0KLyogRkxDVExfSUVbUkRCUlNUXSBCaXRzICovDQojZGVmaW5lIEZMQ1RMX0lFX1JEQlJTVF9PRlMgICAgICAgICAgICAgICAgICAgICAgKCAwKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKio8IFJEQlJTVCBCaXQgT2Zmc2V0ICovDQojZGVmaW5lIEZMQ1RMX0lFX1JEQlJTVCAgICAgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwMDAxKQ0KLyogRkxDVExfSUVbQVZQUkVdIEJpdHMgKi8NCiNkZWZpbmUgRkxDVExfSUVfQVZQUkVfT0ZTICAgICAgICAgICAgICAgICAgICAgICAoIDEpICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgQVZQUkUgQml0IE9mZnNldCAqLw0KI2RlZmluZSBGTENUTF9JRV9BVlBSRSAgICAgICAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMDAwMikNCi8qIEZMQ1RMX0lFW0FWUFNUXSBCaXRzICovDQojZGVmaW5lIEZMQ1RMX0lFX0FWUFNUX09GUyAgICAgICAgICAgICAgICAgICAgICAgKCAyKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKio8IEFWUFNUIEJpdCBPZmZzZXQgKi8NCiNkZWZpbmUgRkxDVExfSUVfQVZQU1QgICAgICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDAwMDQpDQovKiBGTENUTF9JRVtQUkddIEJpdHMgKi8NCiNkZWZpbmUgRkxDVExfSUVfUFJHX09GUyAgICAgICAgICAgICAgICAgICAgICAgICAoIDMpICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgUFJHIEJpdCBPZmZzZXQgKi8NCiNkZWZpbmUgRkxDVExfSUVfUFJHICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDAwMDgpDQovKiBGTENUTF9JRVtQUkdCXSBCaXRzICovDQojZGVmaW5lIEZMQ1RMX0lFX1BSR0JfT0ZTICAgICAgICAgICAgICAgICAgICAgICAgKCA0KSAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKio8IFBSR0IgQml0IE9mZnNldCAqLw0KI2RlZmluZSBGTENUTF9JRV9QUkdCICAgICAgICAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMDAxMCkNCi8qIEZMQ1RMX0lFW0VSQVNFXSBCaXRzICovDQojZGVmaW5lIEZMQ1RMX0lFX0VSQVNFX09GUyAgICAgICAgICAgICAgICAgICAgICAgKCA1KSAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKio8IEVSQVNFIEJpdCBPZmZzZXQgKi8NCiNkZWZpbmUgRkxDVExfSUVfRVJBU0UgICAgICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDAwMjApDQovKiBGTENUTF9JRVtCTVJLXSBCaXRzICovDQojZGVmaW5lIEZMQ1RMX0lFX0JNUktfT0ZTICAgICAgICAgICAgICAgICAgICAgICAgKCA4KSAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKio8IEJNUksgQml0IE9mZnNldCAqLw0KI2RlZmluZSBGTENUTF9JRV9CTVJLICAgICAgICAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMDEwMCkNCi8qIEZMQ1RMX0lFW1BSR19FUlJdIEJpdHMgKi8NCiNkZWZpbmUgRkxDVExfSUVfUFJHX0VSUl9PRlMgICAgICAgICAgICAgICAgICAgICAoIDkpICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgUFJHX0VSUiBCaXQgT2Zmc2V0ICovDQojZGVmaW5lIEZMQ1RMX0lFX1BSR19FUlIgICAgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwMjAwKQ0KLyogRkxDVExfQ0xSSUZHW1JEQlJTVF0gQml0cyAqLw0KI2RlZmluZSBGTENUTF9DTFJJRkdfUkRCUlNUX09GUyAgICAgICAgICAgICAgICAgICggMCkgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyoqPCBSREJSU1QgQml0IE9mZnNldCAqLw0KI2RlZmluZSBGTENUTF9DTFJJRkdfUkRCUlNUICAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMDAwMSkNCi8qIEZMQ1RMX0NMUklGR1tBVlBSRV0gQml0cyAqLw0KI2RlZmluZSBGTENUTF9DTFJJRkdfQVZQUkVfT0ZTICAgICAgICAgICAgICAgICAgICggMSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyoqPCBBVlBSRSBCaXQgT2Zmc2V0ICovDQojZGVmaW5lIEZMQ1RMX0NMUklGR19BVlBSRSAgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwMDAyKQ0KLyogRkxDVExfQ0xSSUZHW0FWUFNUXSBCaXRzICovDQojZGVmaW5lIEZMQ1RMX0NMUklGR19BVlBTVF9PRlMgICAgICAgICAgICAgICAgICAgKCAyKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKio8IEFWUFNUIEJpdCBPZmZzZXQgKi8NCiNkZWZpbmUgRkxDVExfQ0xSSUZHX0FWUFNUICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDAwMDQpDQovKiBGTENUTF9DTFJJRkdbUFJHXSBCaXRzICovDQojZGVmaW5lIEZMQ1RMX0NMUklGR19QUkdfT0ZTICAgICAgICAgICAgICAgICAgICAgKCAzKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKio8IFBSRyBCaXQgT2Zmc2V0ICovDQojZGVmaW5lIEZMQ1RMX0NMUklGR19QUkcgICAgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwMDA4KQ0KLyogRkxDVExfQ0xSSUZHW1BSR0JdIEJpdHMgKi8NCiNkZWZpbmUgRkxDVExfQ0xSSUZHX1BSR0JfT0ZTICAgICAgICAgICAgICAgICAgICAoIDQpICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgUFJHQiBCaXQgT2Zmc2V0ICovDQojZGVmaW5lIEZMQ1RMX0NMUklGR19QUkdCICAgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwMDEwKQ0KLyogRkxDVExfQ0xSSUZHW0VSQVNFXSBCaXRzICovDQojZGVmaW5lIEZMQ1RMX0NMUklGR19FUkFTRV9PRlMgICAgICAgICAgICAgICAgICAgKCA1KSAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKio8IEVSQVNFIEJpdCBPZmZzZXQgKi8NCiNkZWZpbmUgRkxDVExfQ0xSSUZHX0VSQVNFICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDAwMjApDQovKiBGTENUTF9DTFJJRkdbQk1SS10gQml0cyAqLw0KI2RlZmluZSBGTENUTF9DTFJJRkdfQk1SS19PRlMgICAgICAgICAgICAgICAgICAgICggOCkgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyoqPCBCTVJLIEJpdCBPZmZzZXQgKi8NCiNkZWZpbmUgRkxDVExfQ0xSSUZHX0JNUksgICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDAxMDApDQovKiBGTENUTF9DTFJJRkdbUFJHX0VSUl0gQml0cyAqLw0KI2RlZmluZSBGTENUTF9DTFJJRkdfUFJHX0VSUl9PRlMgICAgICAgICAgICAgICAgICggOSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyoqPCBQUkdfRVJSIEJpdCBPZmZzZXQgKi8NCiNkZWZpbmUgRkxDVExfQ0xSSUZHX1BSR19FUlIgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDAyMDApDQovKiBGTENUTF9TRVRJRkdbUkRCUlNUXSBCaXRzICovDQojZGVmaW5lIEZMQ1RMX1NFVElGR19SREJSU1RfT0ZTICAgICAgICAgICAgICAgICAgKCAwKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKio8IFJEQlJTVCBCaXQgT2Zmc2V0ICovDQojZGVmaW5lIEZMQ1RMX1NFVElGR19SREJSU1QgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwMDAxKQ0KLyogRkxDVExfU0VUSUZHW0FWUFJFXSBCaXRzICovDQojZGVmaW5lIEZMQ1RMX1NFVElGR19BVlBSRV9PRlMgICAgICAgICAgICAgICAgICAgKCAxKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKio8IEFWUFJFIEJpdCBPZmZzZXQgKi8NCiNkZWZpbmUgRkxDVExfU0VUSUZHX0FWUFJFICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDAwMDIpDQovKiBGTENUTF9TRVRJRkdbQVZQU1RdIEJpdHMgKi8NCiNkZWZpbmUgRkxDVExfU0VUSUZHX0FWUFNUX09GUyAgICAgICAgICAgICAgICAgICAoIDIpICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgQVZQU1QgQml0IE9mZnNldCAqLw0KI2RlZmluZSBGTENUTF9TRVRJRkdfQVZQU1QgICAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMDAwNCkNCi8qIEZMQ1RMX1NFVElGR1tQUkddIEJpdHMgKi8NCiNkZWZpbmUgRkxDVExfU0VUSUZHX1BSR19PRlMgICAgICAgICAgICAgICAgICAgICAoIDMpICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgUFJHIEJpdCBPZmZzZXQgKi8NCiNkZWZpbmUgRkxDVExfU0VUSUZHX1BSRyAgICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDAwMDgpDQovKiBGTENUTF9TRVRJRkdbUFJHQl0gQml0cyAqLw0KI2RlZmluZSBGTENUTF9TRVRJRkdfUFJHQl9PRlMgICAgICAgICAgICAgICAgICAgICggNCkgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyoqPCBQUkdCIEJpdCBPZmZzZXQgKi8NCiNkZWZpbmUgRkxDVExfU0VUSUZHX1BSR0IgICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDAwMTApDQovKiBGTENUTF9TRVRJRkdbRVJBU0VdIEJpdHMgKi8NCiNkZWZpbmUgRkxDVExfU0VUSUZHX0VSQVNFX09GUyAgICAgICAgICAgICAgICAgICAoIDUpICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgRVJBU0UgQml0IE9mZnNldCAqLw0KI2RlZmluZSBGTENUTF9TRVRJRkdfRVJBU0UgICAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMDAyMCkNCi8qIEZMQ1RMX1NFVElGR1tCTVJLXSBCaXRzICovDQojZGVmaW5lIEZMQ1RMX1NFVElGR19CTVJLX09GUyAgICAgICAgICAgICAgICAgICAgKCA4KSAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKio8IEJNUksgQml0IE9mZnNldCAqLw0KI2RlZmluZSBGTENUTF9TRVRJRkdfQk1SSyAgICAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMDEwMCkNCi8qIEZMQ1RMX1NFVElGR1tQUkdfRVJSXSBCaXRzICovDQojZGVmaW5lIEZMQ1RMX1NFVElGR19QUkdfRVJSX09GUyAgICAgICAgICAgICAgICAgKCA5KSAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKio8IFBSR19FUlIgQml0IE9mZnNldCAqLw0KI2RlZmluZSBGTENUTF9TRVRJRkdfUFJHX0VSUiAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMDIwMCkNCi8qIEZMQ1RMX1JFQURfVElNQ1RMW1NFVFVQXSBCaXRzICovDQojZGVmaW5lIEZMQ1RMX1JFQURfVElNQ1RMX1NFVFVQX09GUyAgICAgICAgICAgICAgKCAwKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKio8IFNFVFVQIEJpdCBPZmZzZXQgKi8NCiNkZWZpbmUgRkxDVExfUkVBRF9USU1DVExfU0VUVVBfTUFTSyAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDAwRkYpICAgICAgICAgIC8qKjwgU0VUVVAgQml0IE1hc2sgKi8NCi8qIEZMQ1RMX1JFQURfVElNQ1RMW0lSRUZfQk9PU1QxXSBCaXRzICovDQojZGVmaW5lIEZMQ1RMX1JFQURfVElNQ1RMX0lSRUZfQk9PU1QxX09GUyAgICAgICAgKDEyKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKio8IElSRUZfQk9PU1QxIEJpdCBPZmZzZXQgKi8NCiNkZWZpbmUgRkxDVExfUkVBRF9USU1DVExfSVJFRl9CT09TVDFfTUFTSyAgICAgICAoKHVpbnQzMl90KTB4MDAwMEYwMDApICAgICAgICAgIC8qKjwgSVJFRl9CT09TVDEgQml0IE1hc2sgKi8NCi8qIEZMQ1RMX1JFQURfVElNQ1RMW1NFVFVQX0xPTkddIEJpdHMgKi8NCiNkZWZpbmUgRkxDVExfUkVBRF9USU1DVExfU0VUVVBfTE9OR19PRlMgICAgICAgICAoMTYpICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgU0VUVVBfTE9ORyBCaXQgT2Zmc2V0ICovDQojZGVmaW5lIEZMQ1RMX1JFQURfVElNQ1RMX1NFVFVQX0xPTkdfTUFTSyAgICAgICAgKCh1aW50MzJfdCkweDAwRkYwMDAwKSAgICAgICAgICAvKio8IFNFVFVQX0xPTkcgQml0IE1hc2sgKi8NCi8qIEZMQ1RMX1JFQURNQVJHSU5fVElNQ1RMW1NFVFVQXSBCaXRzICovDQojZGVmaW5lIEZMQ1RMX1JFQURNQVJHSU5fVElNQ1RMX1NFVFVQX09GUyAgICAgICAgKCAwKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKio8IFNFVFVQIEJpdCBPZmZzZXQgKi8NCiNkZWZpbmUgRkxDVExfUkVBRE1BUkdJTl9USU1DVExfU0VUVVBfTUFTSyAgICAgICAoKHVpbnQzMl90KTB4MDAwMDAwRkYpICAgICAgICAgIC8qKjwgU0VUVVAgQml0IE1hc2sgKi8NCi8qIEZMQ1RMX1BSR1ZFUl9USU1DVExbU0VUVVBdIEJpdHMgKi8NCiNkZWZpbmUgRkxDVExfUFJHVkVSX1RJTUNUTF9TRVRVUF9PRlMgICAgICAgICAgICAoIDApICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgU0VUVVAgQml0IE9mZnNldCAqLw0KI2RlZmluZSBGTENUTF9QUkdWRVJfVElNQ1RMX1NFVFVQX01BU0sgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMDBGRikgICAgICAgICAgLyoqPCBTRVRVUCBCaXQgTWFzayAqLw0KLyogRkxDVExfUFJHVkVSX1RJTUNUTFtBQ1RJVkVdIEJpdHMgKi8NCiNkZWZpbmUgRkxDVExfUFJHVkVSX1RJTUNUTF9BQ1RJVkVfT0ZTICAgICAgICAgICAoIDgpICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgQUNUSVZFIEJpdCBPZmZzZXQgKi8NCiNkZWZpbmUgRkxDVExfUFJHVkVSX1RJTUNUTF9BQ1RJVkVfTUFTSyAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDBGMDApICAgICAgICAgIC8qKjwgQUNUSVZFIEJpdCBNYXNrICovDQovKiBGTENUTF9QUkdWRVJfVElNQ1RMW0hPTERdIEJpdHMgKi8NCiNkZWZpbmUgRkxDVExfUFJHVkVSX1RJTUNUTF9IT0xEX09GUyAgICAgICAgICAgICAoMTIpICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgSE9MRCBCaXQgT2Zmc2V0ICovDQojZGVmaW5lIEZMQ1RMX1BSR1ZFUl9USU1DVExfSE9MRF9NQVNLICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDBGMDAwKSAgICAgICAgICAvKio8IEhPTEQgQml0IE1hc2sgKi8NCi8qIEZMQ1RMX0VSU1ZFUl9USU1DVExbU0VUVVBdIEJpdHMgKi8NCiNkZWZpbmUgRkxDVExfRVJTVkVSX1RJTUNUTF9TRVRVUF9PRlMgICAgICAgICAgICAoIDApICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgU0VUVVAgQml0IE9mZnNldCAqLw0KI2RlZmluZSBGTENUTF9FUlNWRVJfVElNQ1RMX1NFVFVQX01BU0sgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMDBGRikgICAgICAgICAgLyoqPCBTRVRVUCBCaXQgTWFzayAqLw0KLyogRkxDVExfTEtHVkVSX1RJTUNUTFtTRVRVUF0gQml0cyAqLw0KI2RlZmluZSBGTENUTF9MS0dWRVJfVElNQ1RMX1NFVFVQX09GUyAgICAgICAgICAgICggMCkgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyoqPCBTRVRVUCBCaXQgT2Zmc2V0ICovDQojZGVmaW5lIEZMQ1RMX0xLR1ZFUl9USU1DVExfU0VUVVBfTUFTSyAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwMEZGKSAgICAgICAgICAvKio8IFNFVFVQIEJpdCBNYXNrICovDQovKiBGTENUTF9QUk9HUkFNX1RJTUNUTFtTRVRVUF0gQml0cyAqLw0KI2RlZmluZSBGTENUTF9QUk9HUkFNX1RJTUNUTF9TRVRVUF9PRlMgICAgICAgICAgICggMCkgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyoqPCBTRVRVUCBCaXQgT2Zmc2V0ICovDQojZGVmaW5lIEZMQ1RMX1BST0dSQU1fVElNQ1RMX1NFVFVQX01BU0sgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwMEZGKSAgICAgICAgICAvKio8IFNFVFVQIEJpdCBNYXNrICovDQovKiBGTENUTF9QUk9HUkFNX1RJTUNUTFtBQ1RJVkVdIEJpdHMgKi8NCiNkZWZpbmUgRkxDVExfUFJPR1JBTV9USU1DVExfQUNUSVZFX09GUyAgICAgICAgICAoIDgpICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgQUNUSVZFIEJpdCBPZmZzZXQgKi8NCiNkZWZpbmUgRkxDVExfUFJPR1JBTV9USU1DVExfQUNUSVZFX01BU0sgICAgICAgICAoKHVpbnQzMl90KTB4MEZGRkZGMDApICAgICAgICAgIC8qKjwgQUNUSVZFIEJpdCBNYXNrICovDQovKiBGTENUTF9QUk9HUkFNX1RJTUNUTFtIT0xEXSBCaXRzICovDQojZGVmaW5lIEZMQ1RMX1BST0dSQU1fVElNQ1RMX0hPTERfT0ZTICAgICAgICAgICAgKDI4KSAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKio8IEhPTEQgQml0IE9mZnNldCAqLw0KI2RlZmluZSBGTENUTF9QUk9HUkFNX1RJTUNUTF9IT0xEX01BU0sgICAgICAgICAgICgodWludDMyX3QpMHhGMDAwMDAwMCkgICAgICAgICAgLyoqPCBIT0xEIEJpdCBNYXNrICovDQovKiBGTENUTF9FUkFTRV9USU1DVExbU0VUVVBdIEJpdHMgKi8NCiNkZWZpbmUgRkxDVExfRVJBU0VfVElNQ1RMX1NFVFVQX09GUyAgICAgICAgICAgICAoIDApICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgU0VUVVAgQml0IE9mZnNldCAqLw0KI2RlZmluZSBGTENUTF9FUkFTRV9USU1DVExfU0VUVVBfTUFTSyAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMDBGRikgICAgICAgICAgLyoqPCBTRVRVUCBCaXQgTWFzayAqLw0KLyogRkxDVExfRVJBU0VfVElNQ1RMW0FDVElWRV0gQml0cyAqLw0KI2RlZmluZSBGTENUTF9FUkFTRV9USU1DVExfQUNUSVZFX09GUyAgICAgICAgICAgICggOCkgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyoqPCBBQ1RJVkUgQml0IE9mZnNldCAqLw0KI2RlZmluZSBGTENUTF9FUkFTRV9USU1DVExfQUNUSVZFX01BU0sgICAgICAgICAgICgodWludDMyX3QpMHgwRkZGRkYwMCkgICAgICAgICAgLyoqPCBBQ1RJVkUgQml0IE1hc2sgKi8NCi8qIEZMQ1RMX0VSQVNFX1RJTUNUTFtIT0xEXSBCaXRzICovDQojZGVmaW5lIEZMQ1RMX0VSQVNFX1RJTUNUTF9IT0xEX09GUyAgICAgICAgICAgICAgKDI4KSAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKio8IEhPTEQgQml0IE9mZnNldCAqLw0KI2RlZmluZSBGTENUTF9FUkFTRV9USU1DVExfSE9MRF9NQVNLICAgICAgICAgICAgICgodWludDMyX3QpMHhGMDAwMDAwMCkgICAgICAgICAgLyoqPCBIT0xEIEJpdCBNYXNrICovDQovKiBGTENUTF9NQVNTRVJBU0VfVElNQ1RMW0JPT1NUX0FDVElWRV0gQml0cyAqLw0KI2RlZmluZSBGTENUTF9NQVNTRVJBU0VfVElNQ1RMX0JPT1NUX0FDVElWRV9PRlMgICggMCkgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyoqPCBCT09TVF9BQ1RJVkUgQml0IE9mZnNldCAqLw0KI2RlZmluZSBGTENUTF9NQVNTRVJBU0VfVElNQ1RMX0JPT1NUX0FDVElWRV9NQVNLICgodWludDMyX3QpMHgwMDAwMDBGRikgICAgICAgICAgLyoqPCBCT09TVF9BQ1RJVkUgQml0IE1hc2sgKi8NCi8qIEZMQ1RMX01BU1NFUkFTRV9USU1DVExbQk9PU1RfSE9MRF0gQml0cyAqLw0KI2RlZmluZSBGTENUTF9NQVNTRVJBU0VfVElNQ1RMX0JPT1NUX0hPTERfT0ZTICAgICggOCkgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyoqPCBCT09TVF9IT0xEIEJpdCBPZmZzZXQgKi8NCiNkZWZpbmUgRkxDVExfTUFTU0VSQVNFX1RJTUNUTF9CT09TVF9IT0xEX01BU0sgICAoKHVpbnQzMl90KTB4MDAwMEZGMDApICAgICAgICAgIC8qKjwgQk9PU1RfSE9MRCBCaXQgTWFzayAqLw0KLyogRkxDVExfQlVSU1RQUkdfVElNQ1RMW0FDVElWRV0gQml0cyAqLw0KI2RlZmluZSBGTENUTF9CVVJTVFBSR19USU1DVExfQUNUSVZFX09GUyAgICAgICAgICggOCkgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyoqPCBBQ1RJVkUgQml0IE9mZnNldCAqLw0KI2RlZmluZSBGTENUTF9CVVJTVFBSR19USU1DVExfQUNUSVZFX01BU0sgICAgICAgICgodWludDMyX3QpMHgwRkZGRkYwMCkgICAgICAgICAgLyoqPCBBQ1RJVkUgQml0IE1hc2sgKi8NCg0KDQovKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqDQoqIEZQQiBCaXRzDQoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovDQoNCg0KLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKg0KKiBGUFUgQml0cw0KKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLw0KDQoNCi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioNCiogSVRNIEJpdHMNCioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8NCg0KDQovKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqDQoqIE1QVSBCaXRzDQoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovDQoNCi8qIFByZS1kZWZpbmVkIGJpdGZpZWxkIHZhbHVlcyAqLw0KDQovKiAgTVBVX1JBU1JfU0laRSBCaXRmaWVsZCBCaXRzICovDQojZGVmaW5lIE1QVV9SQVNSX1NJWkVfXzMyQiAgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwMDA4KSAgICAgICAgICAvKiAzMkIgKi8NCiNkZWZpbmUgTVBVX1JBU1JfU0laRV9fNjRCICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDAwMEEpICAgICAgICAgIC8qIDY0QiAqLw0KI2RlZmluZSBNUFVfUkFTUl9TSVpFX18xMjhCICAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMDAwQykgICAgICAgICAgLyogMTI4QiAqLw0KI2RlZmluZSBNUFVfUkFTUl9TSVpFX18yNTZCICAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMDAwRSkgICAgICAgICAgLyogMjU2QiAqLw0KI2RlZmluZSBNUFVfUkFTUl9TSVpFX181MTJCICAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMDAxMCkgICAgICAgICAgLyogNTEyQiAqLw0KI2RlZmluZSBNUFVfUkFTUl9TSVpFX18xSyAgICAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMDAxMikgICAgICAgICAgLyogMUtCICovDQojZGVmaW5lIE1QVV9SQVNSX1NJWkVfXzJLICAgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwMDE0KSAgICAgICAgICAvKiAyS0IgKi8NCiNkZWZpbmUgTVBVX1JBU1JfU0laRV9fNEsgICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDAwMTYpICAgICAgICAgIC8qIDRLQiAqLw0KI2RlZmluZSBNUFVfUkFTUl9TSVpFX184SyAgICAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMDAxOCkgICAgICAgICAgLyogOEtCICovDQojZGVmaW5lIE1QVV9SQVNSX1NJWkVfXzE2SyAgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwMDFBKSAgICAgICAgICAvKiAxNktCICovDQojZGVmaW5lIE1QVV9SQVNSX1NJWkVfXzMySyAgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwMDFDKSAgICAgICAgICAvKiAzMktCICovDQojZGVmaW5lIE1QVV9SQVNSX1NJWkVfXzY0SyAgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwMDFFKSAgICAgICAgICAvKiA2NEtCICovDQojZGVmaW5lIE1QVV9SQVNSX1NJWkVfXzEyOEsgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwMDIwKSAgICAgICAgICAvKiAxMjhLQiAqLw0KI2RlZmluZSBNUFVfUkFTUl9TSVpFX18yNTZLICAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMDAyMikgICAgICAgICAgLyogMjU2S0IgKi8NCiNkZWZpbmUgTVBVX1JBU1JfU0laRV9fNTEySyAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDAwMjQpICAgICAgICAgIC8qIDUxMktCICovDQojZGVmaW5lIE1QVV9SQVNSX1NJWkVfXzFNICAgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwMDI2KSAgICAgICAgICAvKiAxTUIgKi8NCiNkZWZpbmUgTVBVX1JBU1JfU0laRV9fMk0gICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDAwMjgpICAgICAgICAgIC8qIDJNQiAqLw0KI2RlZmluZSBNUFVfUkFTUl9TSVpFX180TSAgICAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMDAyQSkgICAgICAgICAgLyogNE1CICovDQojZGVmaW5lIE1QVV9SQVNSX1NJWkVfXzhNICAgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwMDJDKSAgICAgICAgICAvKiA4TUIgKi8NCiNkZWZpbmUgTVBVX1JBU1JfU0laRV9fMTZNICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDAwMkUpICAgICAgICAgIC8qIDE2TUIgKi8NCiNkZWZpbmUgTVBVX1JBU1JfU0laRV9fMzJNICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDAwMzApICAgICAgICAgIC8qIDMyTUIgKi8NCiNkZWZpbmUgTVBVX1JBU1JfU0laRV9fNjRNICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDAwMzIpICAgICAgICAgIC8qIDY0TUIgKi8NCiNkZWZpbmUgTVBVX1JBU1JfU0laRV9fMTI4TSAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDAwMzQpICAgICAgICAgIC8qIDEyOE1CICovDQojZGVmaW5lIE1QVV9SQVNSX1NJWkVfXzI1Nk0gICAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwMDM2KSAgICAgICAgICAvKiAyNTZNQiAqLw0KI2RlZmluZSBNUFVfUkFTUl9TSVpFX181MTJNICAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMDAzOCkgICAgICAgICAgLyogNTEyTUIgKi8NCiNkZWZpbmUgTVBVX1JBU1JfU0laRV9fMUcgICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDAwM0EpICAgICAgICAgIC8qIDFHQiAqLw0KI2RlZmluZSBNUFVfUkFTUl9TSVpFX18yRyAgICAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMDAzQykgICAgICAgICAgLyogMkdCICovDQojZGVmaW5lIE1QVV9SQVNSX1NJWkVfXzRHICAgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwMDNFKSAgICAgICAgICAvKiA0R0IgKi8NCg0KLyogIE1QVV9SQVNSX0FQIEJpdGZpZWxkIEJpdHMgKi8NCiNkZWZpbmUgTVBVX1JBU1JfQVBfUFJWX05PX1VTUl9OTyAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDAwMDApICAgICAgICAgIC8qIFByaXZpbGVnZWQgcGVybWlzc2lvbnM6IE5vIGFjY2Vzcy4gVXNlciBwZXJtaXNzaW9uczogTm8gYWNjZXNzLiAqLw0KI2RlZmluZSBNUFVfUkFTUl9BUF9QUlZfUldfVVNSX05PICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMTAwMDAwMCkgICAgICAgICAgLyogUHJpdmlsZWdlZCBwZXJtaXNzaW9uczogUmVhZC13cml0ZS4gVXNlciBwZXJtaXNzaW9uczogTm8gYWNjZXNzLiAqLw0KI2RlZmluZSBNUFVfUkFTUl9BUF9QUlZfUldfVVNSX1JPICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMjAwMDAwMCkgICAgICAgICAgLyogUHJpdmlsZWdlZCBwZXJtaXNzaW9uczogUmVhZC13cml0ZS4gVXNlciBwZXJtaXNzaW9uczogUmVhZC1vbmx5LiAqLw0KI2RlZmluZSBNUFVfUkFTUl9BUF9QUlZfUldfVVNSX1JXICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMzAwMDAwMCkgICAgICAgICAgLyogUHJpdmlsZWdlZCBwZXJtaXNzaW9uczogUmVhZC13cml0ZS4gVXNlciBwZXJtaXNzaW9uczogUmVhZC13cml0ZS4gKi8NCiNkZWZpbmUgTVBVX1JBU1JfQVBfUFJWX1JPX1VTUl9OTyAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDUwMDAwMDApICAgICAgICAgIC8qIFByaXZpbGVnZWQgcGVybWlzc2lvbnM6IFJlYWQtb25seS4gVXNlciBwZXJtaXNzaW9uczogTm8gYWNjZXNzLiAqLw0KI2RlZmluZSBNUFVfUkFTUl9BUF9QUlZfUk9fVVNSX1JPICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwNjAwMDAwMCkgICAgICAgICAgLyogUHJpdmlsZWdlZCBwZXJtaXNzaW9uczogUmVhZC1vbmx5LiBVc2VyIHBlcm1pc3Npb25zOiBSZWFkLW9ubHkuICovDQoNCi8qIE1QVV9SQVNSX1hOIEJpdGZpZWxkIEJpdHMgKi8NCiNkZWZpbmUgTVBVX1JBU1JfQVBfRVhFQyAgICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDAwMDApICAgICAgICAgIC8qIEluc3RydWN0aW9uIGFjY2VzcyBlbmFibGVkICovDQojZGVmaW5lIE1QVV9SQVNSX0FQX05PRVhFQyAgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDEwMDAwMDAwKSAgICAgICAgICAvKiBJbnN0cnVjdGlvbiBhY2Nlc3MgZGlzYWJsZWQgKi8NCg0KDQovKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqDQoqIE5WSUMgQml0cw0KKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLw0KDQoNCi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioNCiogUENNIEJpdHMNCioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8NCi8qIFBDTV9DVEwwW0FNUl0gQml0cyAqLw0KI2RlZmluZSBQQ01fQ1RMMF9BTVJfT0ZTICAgICAgICAgICAgICAgICAgICAgICAgICggMCkgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyoqPCBBTVIgQml0IE9mZnNldCAqLw0KI2RlZmluZSBQQ01fQ1RMMF9BTVJfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMDAwRikgICAgICAgICAgLyoqPCBBTVIgQml0IE1hc2sgKi8NCiNkZWZpbmUgUENNX0NUTDBfQU1SMCAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDAwMDEpICAgICAgICAgIC8qKjwgQU1SIEJpdCAwICovDQojZGVmaW5lIFBDTV9DVEwwX0FNUjEgICAgICAgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwMDAyKSAgICAgICAgICAvKio8IEFNUiBCaXQgMSAqLw0KI2RlZmluZSBQQ01fQ1RMMF9BTVIyICAgICAgICAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMDAwNCkgICAgICAgICAgLyoqPCBBTVIgQml0IDIgKi8NCiNkZWZpbmUgUENNX0NUTDBfQU1SMyAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDAwMDgpICAgICAgICAgIC8qKjwgQU1SIEJpdCAzICovDQojZGVmaW5lIFBDTV9DVEwwX0FNUl8wICAgICAgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwMDAwKSAgICAgICAgICAvKio8IExETyBiYXNlZCBBY3RpdmUgTW9kZSBhdCBDb3JlIHZvbHRhZ2Ugc2V0dGluZyAwLiAqLw0KI2RlZmluZSBQQ01fQ1RMMF9BTVJfMSAgICAgICAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMDAwMSkgICAgICAgICAgLyoqPCBMRE8gYmFzZWQgQWN0aXZlIE1vZGUgYXQgQ29yZSB2b2x0YWdlIHNldHRpbmcgMS4gKi8NCiNkZWZpbmUgUENNX0NUTDBfQU1SXzQgICAgICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDAwMDQpICAgICAgICAgIC8qKjwgREMtREMgYmFzZWQgQWN0aXZlIE1vZGUgYXQgQ29yZSB2b2x0YWdlIHNldHRpbmcgMC4gKi8NCiNkZWZpbmUgUENNX0NUTDBfQU1SXzUgICAgICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDAwMDUpICAgICAgICAgIC8qKjwgREMtREMgYmFzZWQgQWN0aXZlIE1vZGUgYXQgQ29yZSB2b2x0YWdlIHNldHRpbmcgMS4gKi8NCiNkZWZpbmUgUENNX0NUTDBfQU1SXzggICAgICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDAwMDgpICAgICAgICAgIC8qKjwgTG93LUZyZXF1ZW5jeSBBY3RpdmUgTW9kZSBhdCBDb3JlIHZvbHRhZ2Ugc2V0dGluZyAwLiAqLw0KI2RlZmluZSBQQ01fQ1RMMF9BTVJfOSAgICAgICAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMDAwOSkgICAgICAgICAgLyoqPCBMb3ctRnJlcXVlbmN5IEFjdGl2ZSBNb2RlIGF0IENvcmUgdm9sdGFnZSBzZXR0aW5nIDEuICovDQojZGVmaW5lIFBDTV9DVEwwX0FNUl9fQU1fTERPX1ZDT1JFMCAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwMDAwKSAgICAgICAgICAvKio8IExETyBiYXNlZCBBY3RpdmUgTW9kZSBhdCBDb3JlIHZvbHRhZ2Ugc2V0dGluZyAwLiAqLw0KI2RlZmluZSBQQ01fQ1RMMF9BTVJfX0FNX0xET19WQ09SRTEgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMDAwMSkgICAgICAgICAgLyoqPCBMRE8gYmFzZWQgQWN0aXZlIE1vZGUgYXQgQ29yZSB2b2x0YWdlIHNldHRpbmcgMS4gKi8NCiNkZWZpbmUgUENNX0NUTDBfQU1SX19BTV9EQ0RDX1ZDT1JFMCAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDAwMDQpICAgICAgICAgIC8qKjwgREMtREMgYmFzZWQgQWN0aXZlIE1vZGUgYXQgQ29yZSB2b2x0YWdlIHNldHRpbmcgMC4gKi8NCiNkZWZpbmUgUENNX0NUTDBfQU1SX19BTV9EQ0RDX1ZDT1JFMSAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDAwMDUpICAgICAgICAgIC8qKjwgREMtREMgYmFzZWQgQWN0aXZlIE1vZGUgYXQgQ29yZSB2b2x0YWdlIHNldHRpbmcgMS4gKi8NCiNkZWZpbmUgUENNX0NUTDBfQU1SX19BTV9MRl9WQ09SRTAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDAwMDgpICAgICAgICAgIC8qKjwgTG93LUZyZXF1ZW5jeSBBY3RpdmUgTW9kZSBhdCBDb3JlIHZvbHRhZ2Ugc2V0dGluZyAwLiAqLw0KI2RlZmluZSBQQ01fQ1RMMF9BTVJfX0FNX0xGX1ZDT1JFMSAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMDAwOSkgICAgICAgICAgLyoqPCBMb3ctRnJlcXVlbmN5IEFjdGl2ZSBNb2RlIGF0IENvcmUgdm9sdGFnZSBzZXR0aW5nIDEuICovDQovKiBQQ01fQ1RMMFtMUE1SXSBCaXRzICovDQojZGVmaW5lIFBDTV9DVEwwX0xQTVJfT0ZTICAgICAgICAgICAgICAgICAgICAgICAgKCA0KSAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKio8IExQTVIgQml0IE9mZnNldCAqLw0KI2RlZmluZSBQQ01fQ1RMMF9MUE1SX01BU0sgICAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMDBGMCkgICAgICAgICAgLyoqPCBMUE1SIEJpdCBNYXNrICovDQojZGVmaW5lIFBDTV9DVEwwX0xQTVIwICAgICAgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwMDEwKSAgICAgICAgICAvKio8IExQTVIgQml0IDAgKi8NCiNkZWZpbmUgUENNX0NUTDBfTFBNUjEgICAgICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDAwMjApICAgICAgICAgIC8qKjwgTFBNUiBCaXQgMSAqLw0KI2RlZmluZSBQQ01fQ1RMMF9MUE1SMiAgICAgICAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMDA0MCkgICAgICAgICAgLyoqPCBMUE1SIEJpdCAyICovDQojZGVmaW5lIFBDTV9DVEwwX0xQTVIzICAgICAgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwMDgwKSAgICAgICAgICAvKio8IExQTVIgQml0IDMgKi8NCiNkZWZpbmUgUENNX0NUTDBfTFBNUl8wICAgICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDAwMDApICAgICAgICAgIC8qKjwgTFBNMy4gQ29yZSB2b2x0YWdlIHNldHRpbmcgaXMgc2ltaWxhciB0byB0aGUgbW9kZSBmcm9tIHdoaWNoIExQTTMgaXMgZW50ZXJlZC4gKi8NCiNkZWZpbmUgUENNX0NUTDBfTFBNUl8xMCAgICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDAwQTApICAgICAgICAgIC8qKjwgTFBNMy41LiBDb3JlIHZvbHRhZ2Ugc2V0dGluZyAwLiAqLw0KI2RlZmluZSBQQ01fQ1RMMF9MUE1SXzEyICAgICAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMDBDMCkgICAgICAgICAgLyoqPCBMUE00LjUgKi8NCiNkZWZpbmUgUENNX0NUTDBfTFBNUl9fTFBNMyAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDAwMDApICAgICAgICAgIC8qKjwgTFBNMy4gQ29yZSB2b2x0YWdlIHNldHRpbmcgaXMgc2ltaWxhciB0byB0aGUgbW9kZSBmcm9tIHdoaWNoIExQTTMgaXMgZW50ZXJlZC4gKi8NCiNkZWZpbmUgUENNX0NUTDBfTFBNUl9fTFBNMzUgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDAwQTApICAgICAgICAgIC8qKjwgTFBNMy41LiBDb3JlIHZvbHRhZ2Ugc2V0dGluZyAwLiAqLw0KI2RlZmluZSBQQ01fQ1RMMF9MUE1SX19MUE00NSAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMDBDMCkgICAgICAgICAgLyoqPCBMUE00LjUgKi8NCi8qIFBDTV9DVEwwW0NQTV0gQml0cyAqLw0KI2RlZmluZSBQQ01fQ1RMMF9DUE1fT0ZTICAgICAgICAgICAgICAgICAgICAgICAgICggOCkgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyoqPCBDUE0gQml0IE9mZnNldCAqLw0KI2RlZmluZSBQQ01fQ1RMMF9DUE1fTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwM0YwMCkgICAgICAgICAgLyoqPCBDUE0gQml0IE1hc2sgKi8NCiNkZWZpbmUgUENNX0NUTDBfQ1BNMCAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDAxMDApICAgICAgICAgIC8qKjwgQ1BNIEJpdCAwICovDQojZGVmaW5lIFBDTV9DVEwwX0NQTTEgICAgICAgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwMjAwKSAgICAgICAgICAvKio8IENQTSBCaXQgMSAqLw0KI2RlZmluZSBQQ01fQ1RMMF9DUE0yICAgICAgICAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMDQwMCkgICAgICAgICAgLyoqPCBDUE0gQml0IDIgKi8NCiNkZWZpbmUgUENNX0NUTDBfQ1BNMyAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDA4MDApICAgICAgICAgIC8qKjwgQ1BNIEJpdCAzICovDQojZGVmaW5lIFBDTV9DVEwwX0NQTTQgICAgICAgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAxMDAwKSAgICAgICAgICAvKio8IENQTSBCaXQgNCAqLw0KI2RlZmluZSBQQ01fQ1RMMF9DUE01ICAgICAgICAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMjAwMCkgICAgICAgICAgLyoqPCBDUE0gQml0IDUgKi8NCiNkZWZpbmUgUENNX0NUTDBfQ1BNXzAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDAwMDApICAgICAgICAgIC8qKjwgTERPIGJhc2VkIEFjdGl2ZSBNb2RlIGF0IENvcmUgdm9sdGFnZSBzZXR0aW5nIDAuICovDQojZGVmaW5lIFBDTV9DVEwwX0NQTV8xICAgICAgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwMTAwKSAgICAgICAgICAvKio8IExETyBiYXNlZCBBY3RpdmUgTW9kZSBhdCBDb3JlIHZvbHRhZ2Ugc2V0dGluZyAxLiAqLw0KI2RlZmluZSBQQ01fQ1RMMF9DUE1fNCAgICAgICAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMDQwMCkgICAgICAgICAgLyoqPCBEQy1EQyBiYXNlZCBBY3RpdmUgTW9kZSBhdCBDb3JlIHZvbHRhZ2Ugc2V0dGluZyAwLiAqLw0KI2RlZmluZSBQQ01fQ1RMMF9DUE1fNSAgICAgICAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMDUwMCkgICAgICAgICAgLyoqPCBEQy1EQyBiYXNlZCBBY3RpdmUgTW9kZSBhdCBDb3JlIHZvbHRhZ2Ugc2V0dGluZyAxLiAqLw0KI2RlZmluZSBQQ01fQ1RMMF9DUE1fOCAgICAgICAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMDgwMCkgICAgICAgICAgLyoqPCBMb3ctRnJlcXVlbmN5IEFjdGl2ZSBNb2RlIGF0IENvcmUgdm9sdGFnZSBzZXR0aW5nIDAuICovDQojZGVmaW5lIFBDTV9DVEwwX0NQTV85ICAgICAgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwOTAwKSAgICAgICAgICAvKio8IExvdy1GcmVxdWVuY3kgQWN0aXZlIE1vZGUgYXQgQ29yZSB2b2x0YWdlIHNldHRpbmcgMS4gKi8NCiNkZWZpbmUgUENNX0NUTDBfQ1BNXzE2ICAgICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDEwMDApICAgICAgICAgIC8qKjwgTERPIGJhc2VkIExQTTAgYXQgQ29yZSB2b2x0YWdlIHNldHRpbmcgMC4gKi8NCiNkZWZpbmUgUENNX0NUTDBfQ1BNXzE3ICAgICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDExMDApICAgICAgICAgIC8qKjwgTERPIGJhc2VkIExQTTAgYXQgQ29yZSB2b2x0YWdlIHNldHRpbmcgMS4gKi8NCiNkZWZpbmUgUENNX0NUTDBfQ1BNXzIwICAgICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDE0MDApICAgICAgICAgIC8qKjwgREMtREMgYmFzZWQgTFBNMCBhdCBDb3JlIHZvbHRhZ2Ugc2V0dGluZyAwLiAqLw0KI2RlZmluZSBQQ01fQ1RMMF9DUE1fMjEgICAgICAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMTUwMCkgICAgICAgICAgLyoqPCBEQy1EQyBiYXNlZCBMUE0wIGF0IENvcmUgdm9sdGFnZSBzZXR0aW5nIDEuICovDQojZGVmaW5lIFBDTV9DVEwwX0NQTV8yNCAgICAgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAxODAwKSAgICAgICAgICAvKio8IExvdy1GcmVxdWVuY3kgTFBNMCBhdCBDb3JlIHZvbHRhZ2Ugc2V0dGluZyAwLiAqLw0KI2RlZmluZSBQQ01fQ1RMMF9DUE1fMjUgICAgICAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMTkwMCkgICAgICAgICAgLyoqPCBMb3ctRnJlcXVlbmN5IExQTTAgYXQgQ29yZSB2b2x0YWdlIHNldHRpbmcgMS4gKi8NCiNkZWZpbmUgUENNX0NUTDBfQ1BNXzMyICAgICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDIwMDApICAgICAgICAgIC8qKjwgTFBNMyAqLw0KI2RlZmluZSBQQ01fQ1RMMF9DUE1fX0FNX0xET19WQ09SRTAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMDAwMCkgICAgICAgICAgLyoqPCBMRE8gYmFzZWQgQWN0aXZlIE1vZGUgYXQgQ29yZSB2b2x0YWdlIHNldHRpbmcgMC4gKi8NCiNkZWZpbmUgUENNX0NUTDBfQ1BNX19BTV9MRE9fVkNPUkUxICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDAxMDApICAgICAgICAgIC8qKjwgTERPIGJhc2VkIEFjdGl2ZSBNb2RlIGF0IENvcmUgdm9sdGFnZSBzZXR0aW5nIDEuICovDQojZGVmaW5lIFBDTV9DVEwwX0NQTV9fQU1fRENEQ19WQ09SRTAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwNDAwKSAgICAgICAgICAvKio8IERDLURDIGJhc2VkIEFjdGl2ZSBNb2RlIGF0IENvcmUgdm9sdGFnZSBzZXR0aW5nIDAuICovDQojZGVmaW5lIFBDTV9DVEwwX0NQTV9fQU1fRENEQ19WQ09SRTEgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwNTAwKSAgICAgICAgICAvKio8IERDLURDIGJhc2VkIEFjdGl2ZSBNb2RlIGF0IENvcmUgdm9sdGFnZSBzZXR0aW5nIDEuICovDQojZGVmaW5lIFBDTV9DVEwwX0NQTV9fQU1fTEZfVkNPUkUwICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwODAwKSAgICAgICAgICAvKio8IExvdy1GcmVxdWVuY3kgQWN0aXZlIE1vZGUgYXQgQ29yZSB2b2x0YWdlIHNldHRpbmcgMC4gKi8NCiNkZWZpbmUgUENNX0NUTDBfQ1BNX19BTV9MRl9WQ09SRTEgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDA5MDApICAgICAgICAgIC8qKjwgTG93LUZyZXF1ZW5jeSBBY3RpdmUgTW9kZSBhdCBDb3JlIHZvbHRhZ2Ugc2V0dGluZyAxLiAqLw0KI2RlZmluZSBQQ01fQ1RMMF9DUE1fX0xQTTBfTERPX1ZDT1JFMCAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMTAwMCkgICAgICAgICAgLyoqPCBMRE8gYmFzZWQgTFBNMCBhdCBDb3JlIHZvbHRhZ2Ugc2V0dGluZyAwLiAqLw0KI2RlZmluZSBQQ01fQ1RMMF9DUE1fX0xQTTBfTERPX1ZDT1JFMSAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMTEwMCkgICAgICAgICAgLyoqPCBMRE8gYmFzZWQgTFBNMCBhdCBDb3JlIHZvbHRhZ2Ugc2V0dGluZyAxLiAqLw0KI2RlZmluZSBQQ01fQ1RMMF9DUE1fX0xQTTBfRENEQ19WQ09SRTAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMTQwMCkgICAgICAgICAgLyoqPCBEQy1EQyBiYXNlZCBMUE0wIGF0IENvcmUgdm9sdGFnZSBzZXR0aW5nIDAuICovDQojZGVmaW5lIFBDTV9DVEwwX0NQTV9fTFBNMF9EQ0RDX1ZDT1JFMSAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAxNTAwKSAgICAgICAgICAvKio8IERDLURDIGJhc2VkIExQTTAgYXQgQ29yZSB2b2x0YWdlIHNldHRpbmcgMS4gKi8NCiNkZWZpbmUgUENNX0NUTDBfQ1BNX19MUE0wX0xGX1ZDT1JFMCAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDE4MDApICAgICAgICAgIC8qKjwgTG93LUZyZXF1ZW5jeSBMUE0wIGF0IENvcmUgdm9sdGFnZSBzZXR0aW5nIDAuICovDQojZGVmaW5lIFBDTV9DVEwwX0NQTV9fTFBNMF9MRl9WQ09SRTEgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAxOTAwKSAgICAgICAgICAvKio8IExvdy1GcmVxdWVuY3kgTFBNMCBhdCBDb3JlIHZvbHRhZ2Ugc2V0dGluZyAxLiAqLw0KI2RlZmluZSBQQ01fQ1RMMF9DUE1fX0xQTTMgICAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMjAwMCkgICAgICAgICAgLyoqPCBMUE0zICovDQovKiBQQ01fQ1RMMFtLRVldIEJpdHMgKi8NCiNkZWZpbmUgUENNX0NUTDBfS0VZX09GUyAgICAgICAgICAgICAgICAgICAgICAgICAoMTYpICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgUENNS0VZIEJpdCBPZmZzZXQgKi8NCiNkZWZpbmUgUENNX0NUTDBfS0VZX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4RkZGRjAwMDApICAgICAgICAgIC8qKjwgUENNS0VZIEJpdCBNYXNrICovDQovKiBQQ01fQ1RMMVtMT0NLTFBNNV0gQml0cyAqLw0KI2RlZmluZSBQQ01fQ1RMMV9MT0NLTFBNNV9PRlMgICAgICAgICAgICAgICAgICAgICggMCkgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyoqPCBMT0NLTFBNNSBCaXQgT2Zmc2V0ICovDQojZGVmaW5lIFBDTV9DVEwxX0xPQ0tMUE01ICAgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwMDAxKSAgICAgICAgICAvKio8IExvY2sgTFBNNSAqLw0KLyogUENNX0NUTDFbTE9DS0JLVVBdIEJpdHMgKi8NCiNkZWZpbmUgUENNX0NUTDFfTE9DS0JLVVBfT0ZTICAgICAgICAgICAgICAgICAgICAoIDEpICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgTE9DS0JLVVAgQml0IE9mZnNldCAqLw0KI2RlZmluZSBQQ01fQ1RMMV9MT0NLQktVUCAgICAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMDAwMikgICAgICAgICAgLyoqPCBMb2NrIEJhY2t1cCAqLw0KLyogUENNX0NUTDFbRk9SQ0VfTFBNX0VOVFJZXSBCaXRzICovDQojZGVmaW5lIFBDTV9DVEwxX0ZPUkNFX0xQTV9FTlRSWV9PRlMgICAgICAgICAgICAgKCAyKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKio8IEZPUkNFX0xQTV9FTlRSWSBCaXQgT2Zmc2V0ICovDQojZGVmaW5lIFBDTV9DVEwxX0ZPUkNFX0xQTV9FTlRSWSAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwMDA0KSAgICAgICAgICAvKio8IEZvcmNlIExQTSBlbnRyeSAqLw0KLyogUENNX0NUTDFbUE1SX0JVU1ldIEJpdHMgKi8NCiNkZWZpbmUgUENNX0NUTDFfUE1SX0JVU1lfT0ZTICAgICAgICAgICAgICAgICAgICAoIDgpICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgUE1SX0JVU1kgQml0IE9mZnNldCAqLw0KI2RlZmluZSBQQ01fQ1RMMV9QTVJfQlVTWSAgICAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMDEwMCkgICAgICAgICAgLyoqPCBQb3dlciBtb2RlIHJlcXVlc3QgYnVzeSBmbGFnICovDQovKiBQQ01fQ1RMMVtLRVldIEJpdHMgKi8NCiNkZWZpbmUgUENNX0NUTDFfS0VZX09GUyAgICAgICAgICAgICAgICAgICAgICAgICAoMTYpICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgUENNS0VZIEJpdCBPZmZzZXQgKi8NCiNkZWZpbmUgUENNX0NUTDFfS0VZX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4RkZGRjAwMDApICAgICAgICAgIC8qKjwgUENNS0VZIEJpdCBNYXNrICovDQovKiBQQ01fSUVbTFBNX0lOVkFMSURfVFJfSUVdIEJpdHMgKi8NCiNkZWZpbmUgUENNX0lFX0xQTV9JTlZBTElEX1RSX0lFX09GUyAgICAgICAgICAgICAoIDApICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgTFBNX0lOVkFMSURfVFJfSUUgQml0IE9mZnNldCAqLw0KI2RlZmluZSBQQ01fSUVfTFBNX0lOVkFMSURfVFJfSUUgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMDAwMSkgICAgICAgICAgLyoqPCBMUE0gaW52YWxpZCB0cmFuc2l0aW9uIGludGVycnVwdCBlbmFibGUgKi8NCi8qIFBDTV9JRVtMUE1fSU5WQUxJRF9DTEtfSUVdIEJpdHMgKi8NCiNkZWZpbmUgUENNX0lFX0xQTV9JTlZBTElEX0NMS19JRV9PRlMgICAgICAgICAgICAoIDEpICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgTFBNX0lOVkFMSURfQ0xLX0lFIEJpdCBPZmZzZXQgKi8NCiNkZWZpbmUgUENNX0lFX0xQTV9JTlZBTElEX0NMS19JRSAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDAwMDIpICAgICAgICAgIC8qKjwgTFBNIGludmFsaWQgY2xvY2sgaW50ZXJydXB0IGVuYWJsZSAqLw0KLyogUENNX0lFW0FNX0lOVkFMSURfVFJfSUVdIEJpdHMgKi8NCiNkZWZpbmUgUENNX0lFX0FNX0lOVkFMSURfVFJfSUVfT0ZTICAgICAgICAgICAgICAoIDIpICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgQU1fSU5WQUxJRF9UUl9JRSBCaXQgT2Zmc2V0ICovDQojZGVmaW5lIFBDTV9JRV9BTV9JTlZBTElEX1RSX0lFICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwMDA0KSAgICAgICAgICAvKio8IEFjdGl2ZSBtb2RlIGludmFsaWQgdHJhbnNpdGlvbiBpbnRlcnJ1cHQgZW5hYmxlICovDQovKiBQQ01fSUVbRENEQ19FUlJPUl9JRV0gQml0cyAqLw0KI2RlZmluZSBQQ01fSUVfRENEQ19FUlJPUl9JRV9PRlMgICAgICAgICAgICAgICAgICggNikgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyoqPCBEQ0RDX0VSUk9SX0lFIEJpdCBPZmZzZXQgKi8NCiNkZWZpbmUgUENNX0lFX0RDRENfRVJST1JfSUUgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDAwNDApICAgICAgICAgIC8qKjwgREMtREMgZXJyb3IgaW50ZXJydXB0IGVuYWJsZSAqLw0KLyogUENNX0lGR1tMUE1fSU5WQUxJRF9UUl9JRkddIEJpdHMgKi8NCiNkZWZpbmUgUENNX0lGR19MUE1fSU5WQUxJRF9UUl9JRkdfT0ZTICAgICAgICAgICAoIDApICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgTFBNX0lOVkFMSURfVFJfSUZHIEJpdCBPZmZzZXQgKi8NCiNkZWZpbmUgUENNX0lGR19MUE1fSU5WQUxJRF9UUl9JRkcgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDAwMDEpICAgICAgICAgIC8qKjwgTFBNIGludmFsaWQgdHJhbnNpdGlvbiBmbGFnICovDQovKiBQQ01fSUZHW0xQTV9JTlZBTElEX0NMS19JRkddIEJpdHMgKi8NCiNkZWZpbmUgUENNX0lGR19MUE1fSU5WQUxJRF9DTEtfSUZHX09GUyAgICAgICAgICAoIDEpICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgTFBNX0lOVkFMSURfQ0xLX0lGRyBCaXQgT2Zmc2V0ICovDQojZGVmaW5lIFBDTV9JRkdfTFBNX0lOVkFMSURfQ0xLX0lGRyAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwMDAyKSAgICAgICAgICAvKio8IExQTSBpbnZhbGlkIGNsb2NrIGZsYWcgKi8NCi8qIFBDTV9JRkdbQU1fSU5WQUxJRF9UUl9JRkddIEJpdHMgKi8NCiNkZWZpbmUgUENNX0lGR19BTV9JTlZBTElEX1RSX0lGR19PRlMgICAgICAgICAgICAoIDIpICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgQU1fSU5WQUxJRF9UUl9JRkcgQml0IE9mZnNldCAqLw0KI2RlZmluZSBQQ01fSUZHX0FNX0lOVkFMSURfVFJfSUZHICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMDAwNCkgICAgICAgICAgLyoqPCBBY3RpdmUgbW9kZSBpbnZhbGlkIHRyYW5zaXRpb24gZmxhZyAqLw0KLyogUENNX0lGR1tEQ0RDX0VSUk9SX0lGR10gQml0cyAqLw0KI2RlZmluZSBQQ01fSUZHX0RDRENfRVJST1JfSUZHX09GUyAgICAgICAgICAgICAgICggNikgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyoqPCBEQ0RDX0VSUk9SX0lGRyBCaXQgT2Zmc2V0ICovDQojZGVmaW5lIFBDTV9JRkdfRENEQ19FUlJPUl9JRkcgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwMDQwKSAgICAgICAgICAvKio8IERDLURDIGVycm9yIGZsYWcgKi8NCi8qIFBDTV9DTFJJRkdbQ0xSX0xQTV9JTlZBTElEX1RSX0lGR10gQml0cyAqLw0KI2RlZmluZSBQQ01fQ0xSSUZHX0NMUl9MUE1fSU5WQUxJRF9UUl9JRkdfT0ZTICAgICggMCkgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyoqPCBDTFJfTFBNX0lOVkFMSURfVFJfSUZHIEJpdCBPZmZzZXQgKi8NCiNkZWZpbmUgUENNX0NMUklGR19DTFJfTFBNX0lOVkFMSURfVFJfSUZHICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDAwMDEpICAgICAgICAgIC8qKjwgQ2xlYXIgTFBNIGludmFsaWQgdHJhbnNpdGlvbiBmbGFnICovDQovKiBQQ01fQ0xSSUZHW0NMUl9MUE1fSU5WQUxJRF9DTEtfSUZHXSBCaXRzICovDQojZGVmaW5lIFBDTV9DTFJJRkdfQ0xSX0xQTV9JTlZBTElEX0NMS19JRkdfT0ZTICAgKCAxKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKio8IENMUl9MUE1fSU5WQUxJRF9DTEtfSUZHIEJpdCBPZmZzZXQgKi8NCiNkZWZpbmUgUENNX0NMUklGR19DTFJfTFBNX0lOVkFMSURfQ0xLX0lGRyAgICAgICAoKHVpbnQzMl90KTB4MDAwMDAwMDIpICAgICAgICAgIC8qKjwgQ2xlYXIgTFBNIGludmFsaWQgY2xvY2sgZmxhZyAqLw0KLyogUENNX0NMUklGR1tDTFJfQU1fSU5WQUxJRF9UUl9JRkddIEJpdHMgKi8NCiNkZWZpbmUgUENNX0NMUklGR19DTFJfQU1fSU5WQUxJRF9UUl9JRkdfT0ZTICAgICAoIDIpICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgQ0xSX0FNX0lOVkFMSURfVFJfSUZHIEJpdCBPZmZzZXQgKi8NCiNkZWZpbmUgUENNX0NMUklGR19DTFJfQU1fSU5WQUxJRF9UUl9JRkcgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDAwMDQpICAgICAgICAgIC8qKjwgQ2xlYXIgYWN0aXZlIG1vZGUgaW52YWxpZCB0cmFuc2l0aW9uIGZsYWcgKi8NCi8qIFBDTV9DTFJJRkdbQ0xSX0RDRENfRVJST1JfSUZHXSBCaXRzICovDQojZGVmaW5lIFBDTV9DTFJJRkdfQ0xSX0RDRENfRVJST1JfSUZHX09GUyAgICAgICAgKCA2KSAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKio8IENMUl9EQ0RDX0VSUk9SX0lGRyBCaXQgT2Zmc2V0ICovDQojZGVmaW5lIFBDTV9DTFJJRkdfQ0xSX0RDRENfRVJST1JfSUZHICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwMDQwKSAgICAgICAgICAvKio8IENsZWFyIERDLURDIGVycm9yIGZsYWcgKi8NCg0KLyogUHJlLWRlZmluZWQgYml0ZmllbGQgdmFsdWVzICovDQojZGVmaW5lIFBDTV9DVEwwX0tFWV9WQUwgICAgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDY5NUEwMDAwKSAgICAgICAgICAvKiBQQ00ga2V5IHZhbHVlICovDQojZGVmaW5lIFBDTV9DVEwxX0tFWV9WQUwgICAgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDY5NUEwMDAwKSAgICAgICAgICAvKiBQQ00ga2V5IHZhbHVlICovDQoNCg0KLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKg0KKiBQTUFQIEJpdHMNCioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8NCi8qIFBNQVBfQ1RMW0xPQ0tFRF0gQml0cyAqLw0KI2RlZmluZSBQTUFQX0NUTF9MT0NLRURfT0ZTICAgICAgICAgICAgICAgICAgICAgICggMCkgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyoqPCBQTUFQTE9DS0VEIEJpdCBPZmZzZXQgKi8NCiNkZWZpbmUgUE1BUF9DVExfTE9DS0VEICAgICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQxNl90KTB4MDAwMSkgICAgICAgICAgICAgIC8qKjwgUG9ydCBtYXBwaW5nIGxvY2sgYml0ICovDQovKiBQTUFQX0NUTFtQUkVDRkddIEJpdHMgKi8NCiNkZWZpbmUgUE1BUF9DVExfUFJFQ0ZHX09GUyAgICAgICAgICAgICAgICAgICAgICAoIDEpICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgUE1BUFJFQ0ZHIEJpdCBPZmZzZXQgKi8NCiNkZWZpbmUgUE1BUF9DVExfUFJFQ0ZHICAgICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQxNl90KTB4MDAwMikgICAgICAgICAgICAgIC8qKjwgUG9ydCBtYXBwaW5nIHJlY29uZmlndXJhdGlvbiBjb250cm9sIGJpdCAqLw0KDQovKiBQcmUtZGVmaW5lZCBiaXRmaWVsZCB2YWx1ZXMgKi8NCiNkZWZpbmUgUE1BUF9OT05FICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAwDQojZGVmaW5lIFBNQVBfVUNBMENMSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMQ0KI2RlZmluZSBQTUFQX1VDQTBSWEQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDINCiNkZWZpbmUgUE1BUF9VQ0EwU09NSSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAyDQojZGVmaW5lIFBNQVBfVUNBMFRYRCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMw0KI2RlZmluZSBQTUFQX1VDQTBTSU1PICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDMNCiNkZWZpbmUgUE1BUF9VQ0IwQ0xLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA0DQojZGVmaW5lIFBNQVBfVUNCMFNEQSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNQ0KI2RlZmluZSBQTUFQX1VDQjBTSU1PICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDUNCiNkZWZpbmUgUE1BUF9VQ0IwU0NMICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA2DQojZGVmaW5lIFBNQVBfVUNCMFNPTUkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNg0KI2RlZmluZSBQTUFQX1VDQTFTVEUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDcNCiNkZWZpbmUgUE1BUF9VQ0ExQ0xLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA4DQojZGVmaW5lIFBNQVBfVUNBMVJYRCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOQ0KI2RlZmluZSBQTUFQX1VDQTFTT01JICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDkNCiNkZWZpbmUgUE1BUF9VQ0ExVFhEICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAxMA0KI2RlZmluZSBQTUFQX1VDQTFTSU1PICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDEwDQojZGVmaW5lIFBNQVBfVUNBMlNURSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMTENCiNkZWZpbmUgUE1BUF9VQ0EyQ0xLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAxMg0KI2RlZmluZSBQTUFQX1VDQTJSWEQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDEzDQojZGVmaW5lIFBNQVBfVUNBMlNPTUkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMTMNCiNkZWZpbmUgUE1BUF9VQ0EyVFhEICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAxNA0KI2RlZmluZSBQTUFQX1VDQTJTSU1PICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDE0DQojZGVmaW5lIFBNQVBfVUNCMlNURSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMTUNCiNkZWZpbmUgUE1BUF9VQ0IyQ0xLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAxNg0KI2RlZmluZSBQTUFQX1VDQjJTREEgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDE3DQojZGVmaW5lIFBNQVBfVUNCMlNJTU8gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMTcNCiNkZWZpbmUgUE1BUF9VQ0IyU0NMICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAxOA0KI2RlZmluZSBQTUFQX1VDQjJTT01JICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDE4DQojZGVmaW5lIFBNQVBfVEEwQ0NSMEEgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMTkNCiNkZWZpbmUgUE1BUF9UQTBDQ1IxQSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAyMA0KI2RlZmluZSBQTUFQX1RBMENDUjJBICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDIxDQojZGVmaW5lIFBNQVBfVEEwQ0NSM0EgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMjINCiNkZWZpbmUgUE1BUF9UQTBDQ1I0QSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAyMw0KI2RlZmluZSBQTUFQX1RBMUNDUjFBICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDI0DQojZGVmaW5lIFBNQVBfVEExQ0NSMkEgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMjUNCiNkZWZpbmUgUE1BUF9UQTFDQ1IzQSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAyNg0KI2RlZmluZSBQTUFQX1RBMUNDUjRBICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDI3DQojZGVmaW5lIFBNQVBfVEEwQ0xLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMjgNCiNkZWZpbmUgUE1BUF9DRTBPVVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAyOA0KI2RlZmluZSBQTUFQX1RBMUNMSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDI5DQojZGVmaW5lIFBNQVBfQ0UxT1VUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMjkNCiNkZWZpbmUgUE1BUF9ETUFFMCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAzMA0KI2RlZmluZSBQTUFQX1NNQ0xLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDMwDQojZGVmaW5lIFBNQVBfQU5BTE9HICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMzENCg0KI2RlZmluZSBQTUFQX0tFWUlEX1ZBTCAgICAgICAgICAgICAgICAgICAgICAgICAgICgodWludDE2X3QpMHgyRDUyKSAgICAgICAgICAgICAgLyoqPCBQb3J0IE1hcHBpbmcgS2V5ICovDQoNCg0KLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKg0KKiBQU1MgQml0cw0KKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLw0KLyogUFNTX0tFWVtLRVldIEJpdHMgKi8NCiNkZWZpbmUgUFNTX0tFWV9LRVlfT0ZTICAgICAgICAgICAgICAgICAgICAgICAgICAoIDApICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgUFNTS0VZIEJpdCBPZmZzZXQgKi8NCiNkZWZpbmUgUFNTX0tFWV9LRVlfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMEZGRkYpICAgICAgICAgIC8qKjwgUFNTS0VZIEJpdCBNYXNrICovDQovKiBQU1NfQ1RMMFtTVlNNSE9GRl0gQml0cyAqLw0KI2RlZmluZSBQU1NfQ1RMMF9TVlNNSE9GRl9PRlMgICAgICAgICAgICAgICAgICAgICggMCkgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyoqPCBTVlNNSE9GRiBCaXQgT2Zmc2V0ICovDQojZGVmaW5lIFBTU19DVEwwX1NWU01IT0ZGICAgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwMDAxKSAgICAgICAgICAvKio8IFNWU00gaGlnaC1zaWRlIG9mZiAqLw0KLyogUFNTX0NUTDBbU1ZTTUhMUF0gQml0cyAqLw0KI2RlZmluZSBQU1NfQ1RMMF9TVlNNSExQX09GUyAgICAgICAgICAgICAgICAgICAgICggMSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyoqPCBTVlNNSExQIEJpdCBPZmZzZXQgKi8NCiNkZWZpbmUgUFNTX0NUTDBfU1ZTTUhMUCAgICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDAwMDIpICAgICAgICAgIC8qKjwgU1ZTTSBoaWdoLXNpZGUgbG93IHBvd2VyIG5vcm1hbCBwZXJmb3JtYW5jZSBtb2RlICovDQovKiBQU1NfQ1RMMFtTVlNNSFNdIEJpdHMgKi8NCiNkZWZpbmUgUFNTX0NUTDBfU1ZTTUhTX09GUyAgICAgICAgICAgICAgICAgICAgICAoIDIpICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgU1ZTTUhTIEJpdCBPZmZzZXQgKi8NCiNkZWZpbmUgUFNTX0NUTDBfU1ZTTUhTICAgICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDAwMDQpICAgICAgICAgIC8qKjwgU3VwcGx5IHN1cGVydmlzb3Igb3IgbW9uaXRvciBzZWxlY3Rpb24gZm9yIHRoZSBoaWdoLXNpZGUgKi8NCi8qIFBTU19DVEwwW1NWU01IVEhdIEJpdHMgKi8NCiNkZWZpbmUgUFNTX0NUTDBfU1ZTTUhUSF9PRlMgICAgICAgICAgICAgICAgICAgICAoIDMpICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgU1ZTTUhUSCBCaXQgT2Zmc2V0ICovDQojZGVmaW5lIFBTU19DVEwwX1NWU01IVEhfTUFTSyAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwMDM4KSAgICAgICAgICAvKio8IFNWU01IVEggQml0IE1hc2sgKi8NCi8qIFBTU19DVEwwW1NWTUhPRV0gQml0cyAqLw0KI2RlZmluZSBQU1NfQ1RMMF9TVk1IT0VfT0ZTICAgICAgICAgICAgICAgICAgICAgICggNikgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyoqPCBTVk1IT0UgQml0IE9mZnNldCAqLw0KI2RlZmluZSBQU1NfQ1RMMF9TVk1IT0UgICAgICAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMDA0MCkgICAgICAgICAgLyoqPCBTVlNNIGhpZ2gtc2lkZSBvdXRwdXQgZW5hYmxlICovDQovKiBQU1NfQ1RMMFtTVk1IT1VUUE9MQUxdIEJpdHMgKi8NCiNkZWZpbmUgUFNTX0NUTDBfU1ZNSE9VVFBPTEFMX09GUyAgICAgICAgICAgICAgICAoIDcpICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgU1ZNSE9VVFBPTEFMIEJpdCBPZmZzZXQgKi8NCiNkZWZpbmUgUFNTX0NUTDBfU1ZNSE9VVFBPTEFMICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDAwODApICAgICAgICAgIC8qKjwgU1ZNSE9VVCBwaW4gcG9sYXJpdHkgYWN0aXZlIGxvdyAqLw0KLyogUFNTX0NUTDBbRENEQ19GT1JDRV0gQml0cyAqLw0KI2RlZmluZSBQU1NfQ1RMMF9EQ0RDX0ZPUkNFX09GUyAgICAgICAgICAgICAgICAgICgxMCkgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyoqPCBEQ0RDX0ZPUkNFIEJpdCBPZmZzZXQgKi8NCiNkZWZpbmUgUFNTX0NUTDBfRENEQ19GT1JDRSAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDA0MDApICAgICAgICAgIC8qKjwgRm9yY2UgREMtREMgcmVndWxhdG9yIG9wZXJhdGlvbiAqLw0KLyogUFNTX0NUTDBbVkNPUkVUUkFOXSBCaXRzICovDQojZGVmaW5lIFBTU19DVEwwX1ZDT1JFVFJBTl9PRlMgICAgICAgICAgICAgICAgICAgKDEyKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKio8IFZDT1JFVFJBTiBCaXQgT2Zmc2V0ICovDQojZGVmaW5lIFBTU19DVEwwX1ZDT1JFVFJBTl9NQVNLICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAzMDAwKSAgICAgICAgICAvKio8IFZDT1JFVFJBTiBCaXQgTWFzayAqLw0KI2RlZmluZSBQU1NfQ1RMMF9WQ09SRVRSQU4wICAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMTAwMCkgICAgICAgICAgLyoqPCBWQ09SRVRSQU4gQml0IDAgKi8NCiNkZWZpbmUgUFNTX0NUTDBfVkNPUkVUUkFOMSAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDIwMDApICAgICAgICAgIC8qKjwgVkNPUkVUUkFOIEJpdCAxICovDQojZGVmaW5lIFBTU19DVEwwX1ZDT1JFVFJBTl8wICAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwMDAwKSAgICAgICAgICAvKio8IDMyID9zIC8gMTAwIG1WICovDQojZGVmaW5lIFBTU19DVEwwX1ZDT1JFVFJBTl8xICAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAxMDAwKSAgICAgICAgICAvKio8IDY0ID9zIC8gMTAwIG1WICovDQojZGVmaW5lIFBTU19DVEwwX1ZDT1JFVFJBTl8yICAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAyMDAwKSAgICAgICAgICAvKio8IDEyOCA/cyAvIDEwMCBtViAoZGVmYXVsdCkgKi8NCiNkZWZpbmUgUFNTX0NUTDBfVkNPUkVUUkFOXzMgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDMwMDApICAgICAgICAgIC8qKjwgMjU2ID9zIC8gMTAwIG1WICovDQojZGVmaW5lIFBTU19DVEwwX1ZDT1JFVFJBTl9fMzIgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwMDAwKSAgICAgICAgICAvKio8IDMyID9zIC8gMTAwIG1WICovDQojZGVmaW5lIFBTU19DVEwwX1ZDT1JFVFJBTl9fNjQgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAxMDAwKSAgICAgICAgICAvKio8IDY0ID9zIC8gMTAwIG1WICovDQojZGVmaW5lIFBTU19DVEwwX1ZDT1JFVFJBTl9fMTI4ICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAyMDAwKSAgICAgICAgICAvKio8IDEyOCA/cyAvIDEwMCBtViAoZGVmYXVsdCkgKi8NCiNkZWZpbmUgUFNTX0NUTDBfVkNPUkVUUkFOX18yNTYgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDMwMDApICAgICAgICAgIC8qKjwgMjU2ID9zIC8gMTAwIG1WICovDQovKiBQU1NfSUVbU1ZTTUhJRV0gQml0cyAqLw0KI2RlZmluZSBQU1NfSUVfU1ZTTUhJRV9PRlMgICAgICAgICAgICAgICAgICAgICAgICggMSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyoqPCBTVlNNSElFIEJpdCBPZmZzZXQgKi8NCiNkZWZpbmUgUFNTX0lFX1NWU01ISUUgICAgICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDAwMDIpICAgICAgICAgIC8qKjwgSGlnaC1zaWRlIFNWU00gaW50ZXJydXB0IGVuYWJsZSAqLw0KLyogUFNTX0lGR1tTVlNNSElGR10gQml0cyAqLw0KI2RlZmluZSBQU1NfSUZHX1NWU01ISUZHX09GUyAgICAgICAgICAgICAgICAgICAgICggMSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyoqPCBTVlNNSElGRyBCaXQgT2Zmc2V0ICovDQojZGVmaW5lIFBTU19JRkdfU1ZTTUhJRkcgICAgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwMDAyKSAgICAgICAgICAvKio8IEhpZ2gtc2lkZSBTVlNNIGludGVycnVwdCBmbGFnICovDQovKiBQU1NfQ0xSSUZHW0NMUlNWU01ISUZHXSBCaXRzICovDQojZGVmaW5lIFBTU19DTFJJRkdfQ0xSU1ZTTUhJRkdfT0ZTICAgICAgICAgICAgICAgKCAxKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKio8IENMUlNWU01ISUZHIEJpdCBPZmZzZXQgKi8NCiNkZWZpbmUgUFNTX0NMUklGR19DTFJTVlNNSElGRyAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDAwMDIpICAgICAgICAgIC8qKjwgU1ZTTUggY2xlYXIgaW50ZXJydXB0IGZsYWcgKi8NCg0KLyogUHJlLWRlZmluZWQgYml0ZmllbGQgdmFsdWVzICovDQojZGVmaW5lIFBTU19LRVlfS0VZX1ZBTCAgICAgICAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwNjk1QSkgICAgICAgICAgLyogUFNTIGNvbnRyb2wga2V5IHZhbHVlICovDQoNCg0KLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKg0KKiBSRUZfQSBCaXRzDQoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovDQovKiBSRUZfQV9DVEwwW09OXSBCaXRzICovDQojZGVmaW5lIFJFRl9BX0NUTDBfT05fT0ZTICAgICAgICAgICAgICAgICAgICAgICAgKCAwKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKio8IFJFRk9OIEJpdCBPZmZzZXQgKi8NCiNkZWZpbmUgUkVGX0FfQ1RMMF9PTiAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQxNl90KTB4MDAwMSkgICAgICAgICAgICAgIC8qKjwgUmVmZXJlbmNlIGVuYWJsZSAqLw0KLyogUkVGX0FfQ1RMMFtPVVRdIEJpdHMgKi8NCiNkZWZpbmUgUkVGX0FfQ1RMMF9PVVRfT0ZTICAgICAgICAgICAgICAgICAgICAgICAoIDEpICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgUkVGT1VUIEJpdCBPZmZzZXQgKi8NCiNkZWZpbmUgUkVGX0FfQ1RMMF9PVVQgICAgICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQxNl90KTB4MDAwMikgICAgICAgICAgICAgIC8qKjwgUmVmZXJlbmNlIG91dHB1dCBidWZmZXIgKi8NCi8qIFJFRl9BX0NUTDBbVENPRkZdIEJpdHMgKi8NCiNkZWZpbmUgUkVGX0FfQ1RMMF9UQ09GRl9PRlMgICAgICAgICAgICAgICAgICAgICAoIDMpICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgUkVGVENPRkYgQml0IE9mZnNldCAqLw0KI2RlZmluZSBSRUZfQV9DVEwwX1RDT0ZGICAgICAgICAgICAgICAgICAgICAgICAgICgodWludDE2X3QpMHgwMDA4KSAgICAgICAgICAgICAgLyoqPCBUZW1wZXJhdHVyZSBzZW5zb3IgZGlzYWJsZWQgKi8NCi8qIFJFRl9BX0NUTDBbVlNFTF0gQml0cyAqLw0KI2RlZmluZSBSRUZfQV9DVEwwX1ZTRUxfT0ZTICAgICAgICAgICAgICAgICAgICAgICggNCkgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyoqPCBSRUZWU0VMIEJpdCBPZmZzZXQgKi8NCiNkZWZpbmUgUkVGX0FfQ1RMMF9WU0VMX01BU0sgICAgICAgICAgICAgICAgICAgICAoKHVpbnQxNl90KTB4MDAzMCkgICAgICAgICAgICAgIC8qKjwgUkVGVlNFTCBCaXQgTWFzayAqLw0KI2RlZmluZSBSRUZfQV9DVEwwX1ZTRUwwICAgICAgICAgICAgICAgICAgICAgICAgICgodWludDE2X3QpMHgwMDEwKSAgICAgICAgICAgICAgLyoqPCBWU0VMIEJpdCAwICovDQojZGVmaW5lIFJFRl9BX0NUTDBfVlNFTDEgICAgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MTZfdCkweDAwMjApICAgICAgICAgICAgICAvKio8IFZTRUwgQml0IDEgKi8NCiNkZWZpbmUgUkVGX0FfQ1RMMF9WU0VMXzAgICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQxNl90KTB4MDAwMCkgICAgICAgICAgICAgIC8qKjwgMS4yIFYgYXZhaWxhYmxlIHdoZW4gcmVmZXJlbmNlIHJlcXVlc3RlZCBvciBSRUZPTiA9IDEgKi8NCiNkZWZpbmUgUkVGX0FfQ1RMMF9WU0VMXzEgICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQxNl90KTB4MDAxMCkgICAgICAgICAgICAgIC8qKjwgMS40NSBWIGF2YWlsYWJsZSB3aGVuIHJlZmVyZW5jZSByZXF1ZXN0ZWQgb3IgUkVGT04gPSAxICovDQojZGVmaW5lIFJFRl9BX0NUTDBfVlNFTF8zICAgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MTZfdCkweDAwMzApICAgICAgICAgICAgICAvKio8IDIuNSBWIGF2YWlsYWJsZSB3aGVuIHJlZmVyZW5jZSByZXF1ZXN0ZWQgb3IgUkVGT04gPSAxICovDQovKiBSRUZfQV9DVEwwW0dFTk9UXSBCaXRzICovDQojZGVmaW5lIFJFRl9BX0NUTDBfR0VOT1RfT0ZTICAgICAgICAgICAgICAgICAgICAgKCA2KSAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKio8IFJFRkdFTk9UIEJpdCBPZmZzZXQgKi8NCiNkZWZpbmUgUkVGX0FfQ1RMMF9HRU5PVCAgICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQxNl90KTB4MDA0MCkgICAgICAgICAgICAgIC8qKjwgUmVmZXJlbmNlIGdlbmVyYXRvciBvbmUtdGltZSB0cmlnZ2VyICovDQovKiBSRUZfQV9DVEwwW0JHT1RdIEJpdHMgKi8NCiNkZWZpbmUgUkVGX0FfQ1RMMF9CR09UX09GUyAgICAgICAgICAgICAgICAgICAgICAoIDcpICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgUkVGQkdPVCBCaXQgT2Zmc2V0ICovDQojZGVmaW5lIFJFRl9BX0NUTDBfQkdPVCAgICAgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MTZfdCkweDAwODApICAgICAgICAgICAgICAvKio8IEJhbmRnYXAgYW5kIGJhbmRnYXAgYnVmZmVyIG9uZS10aW1lIHRyaWdnZXIgKi8NCi8qIFJFRl9BX0NUTDBbR0VOQUNUXSBCaXRzICovDQojZGVmaW5lIFJFRl9BX0NUTDBfR0VOQUNUX09GUyAgICAgICAgICAgICAgICAgICAgKCA4KSAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKio8IFJFRkdFTkFDVCBCaXQgT2Zmc2V0ICovDQojZGVmaW5lIFJFRl9BX0NUTDBfR0VOQUNUICAgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MTZfdCkweDAxMDApICAgICAgICAgICAgICAvKio8IFJlZmVyZW5jZSBnZW5lcmF0b3IgYWN0aXZlICovDQovKiBSRUZfQV9DVEwwW0JHQUNUXSBCaXRzICovDQojZGVmaW5lIFJFRl9BX0NUTDBfQkdBQ1RfT0ZTICAgICAgICAgICAgICAgICAgICAgKCA5KSAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKio8IFJFRkJHQUNUIEJpdCBPZmZzZXQgKi8NCiNkZWZpbmUgUkVGX0FfQ1RMMF9CR0FDVCAgICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQxNl90KTB4MDIwMCkgICAgICAgICAgICAgIC8qKjwgUmVmZXJlbmNlIGJhbmRnYXAgYWN0aXZlICovDQovKiBSRUZfQV9DVEwwW0dFTkJVU1ldIEJpdHMgKi8NCiNkZWZpbmUgUkVGX0FfQ1RMMF9HRU5CVVNZX09GUyAgICAgICAgICAgICAgICAgICAoMTApICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgUkVGR0VOQlVTWSBCaXQgT2Zmc2V0ICovDQojZGVmaW5lIFJFRl9BX0NUTDBfR0VOQlVTWSAgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MTZfdCkweDA0MDApICAgICAgICAgICAgICAvKio8IFJlZmVyZW5jZSBnZW5lcmF0b3IgYnVzeSAqLw0KLyogUkVGX0FfQ1RMMFtCR01PREVdIEJpdHMgKi8NCiNkZWZpbmUgUkVGX0FfQ1RMMF9CR01PREVfT0ZTICAgICAgICAgICAgICAgICAgICAoMTEpICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgQkdNT0RFIEJpdCBPZmZzZXQgKi8NCiNkZWZpbmUgUkVGX0FfQ1RMMF9CR01PREUgICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQxNl90KTB4MDgwMCkgICAgICAgICAgICAgIC8qKjwgQmFuZGdhcCBtb2RlICovDQovKiBSRUZfQV9DVEwwW0dFTlJEWV0gQml0cyAqLw0KI2RlZmluZSBSRUZfQV9DVEwwX0dFTlJEWV9PRlMgICAgICAgICAgICAgICAgICAgICgxMikgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyoqPCBSRUZHRU5SRFkgQml0IE9mZnNldCAqLw0KI2RlZmluZSBSRUZfQV9DVEwwX0dFTlJEWSAgICAgICAgICAgICAgICAgICAgICAgICgodWludDE2X3QpMHgxMDAwKSAgICAgICAgICAgICAgLyoqPCBWYXJpYWJsZSByZWZlcmVuY2Ugdm9sdGFnZSByZWFkeSBzdGF0dXMgKi8NCi8qIFJFRl9BX0NUTDBbQkdSRFldIEJpdHMgKi8NCiNkZWZpbmUgUkVGX0FfQ1RMMF9CR1JEWV9PRlMgICAgICAgICAgICAgICAgICAgICAoMTMpICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgUkVGQkdSRFkgQml0IE9mZnNldCAqLw0KI2RlZmluZSBSRUZfQV9DVEwwX0JHUkRZICAgICAgICAgICAgICAgICAgICAgICAgICgodWludDE2X3QpMHgyMDAwKSAgICAgICAgICAgICAgLyoqPCBCdWZmZXJlZCBiYW5kZ2FwIHZvbHRhZ2UgcmVhZHkgc3RhdHVzICovDQoNCg0KLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKg0KKiBSU1RDVEwgQml0cw0KKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLw0KLyogUlNUQ1RMX1JFU0VUX1JFUVtTT0ZUX1JFUV0gQml0cyAqLw0KI2RlZmluZSBSU1RDVExfUkVTRVRfUkVRX1NPRlRfUkVRX09GUyAgICAgICAgICAgICggMCkgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyoqPCBTT0ZUX1JFUSBCaXQgT2Zmc2V0ICovDQojZGVmaW5lIFJTVENUTF9SRVNFVF9SRVFfU09GVF9SRVEgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwMDAxKSAgICAgICAgICAvKio8IFNvZnQgUmVzZXQgcmVxdWVzdCAqLw0KLyogUlNUQ1RMX1JFU0VUX1JFUVtIQVJEX1JFUV0gQml0cyAqLw0KI2RlZmluZSBSU1RDVExfUkVTRVRfUkVRX0hBUkRfUkVRX09GUyAgICAgICAgICAgICggMSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyoqPCBIQVJEX1JFUSBCaXQgT2Zmc2V0ICovDQojZGVmaW5lIFJTVENUTF9SRVNFVF9SRVFfSEFSRF9SRVEgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwMDAyKSAgICAgICAgICAvKio8IEhhcmQgUmVzZXQgcmVxdWVzdCAqLw0KLyogUlNUQ1RMX1JFU0VUX1JFUVtSU1RLRVldIEJpdHMgKi8NCiNkZWZpbmUgUlNUQ1RMX1JFU0VUX1JFUV9SU1RLRVlfT0ZTICAgICAgICAgICAgICAoIDgpICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgUlNUS0VZIEJpdCBPZmZzZXQgKi8NCiNkZWZpbmUgUlNUQ1RMX1JFU0VUX1JFUV9SU1RLRVlfTUFTSyAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMEZGMDApICAgICAgICAgIC8qKjwgUlNUS0VZIEJpdCBNYXNrICovDQovKiBSU1RDVExfSEFSRFJFU0VUX1NUQVRbU1JDMF0gQml0cyAqLw0KI2RlZmluZSBSU1RDVExfSEFSRFJFU0VUX1NUQVRfU1JDMF9PRlMgICAgICAgICAgICggMCkgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyoqPCBTUkMwIEJpdCBPZmZzZXQgKi8NCiNkZWZpbmUgUlNUQ1RMX0hBUkRSRVNFVF9TVEFUX1NSQzAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDAwMDEpICAgICAgICAgIC8qKjwgSW5kaWNhdGVzIHRoYXQgU1JDMCB3YXMgdGhlIHNvdXJjZSBvZiB0aGUgSGFyZCBSZXNldCAqLw0KLyogUlNUQ1RMX0hBUkRSRVNFVF9TVEFUW1NSQzFdIEJpdHMgKi8NCiNkZWZpbmUgUlNUQ1RMX0hBUkRSRVNFVF9TVEFUX1NSQzFfT0ZTICAgICAgICAgICAoIDEpICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgU1JDMSBCaXQgT2Zmc2V0ICovDQojZGVmaW5lIFJTVENUTF9IQVJEUkVTRVRfU1RBVF9TUkMxICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwMDAyKSAgICAgICAgICAvKio8IEluZGljYXRlcyB0aGF0IFNSQzEgd2FzIHRoZSBzb3VyY2Ugb2YgdGhlIEhhcmQgUmVzZXQgKi8NCi8qIFJTVENUTF9IQVJEUkVTRVRfU1RBVFtTUkMyXSBCaXRzICovDQojZGVmaW5lIFJTVENUTF9IQVJEUkVTRVRfU1RBVF9TUkMyX09GUyAgICAgICAgICAgKCAyKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKio8IFNSQzIgQml0IE9mZnNldCAqLw0KI2RlZmluZSBSU1RDVExfSEFSRFJFU0VUX1NUQVRfU1JDMiAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMDAwNCkgICAgICAgICAgLyoqPCBJbmRpY2F0ZXMgdGhhdCBTUkMyIHdhcyB0aGUgc291cmNlIG9mIHRoZSBIYXJkIFJlc2V0ICovDQovKiBSU1RDVExfSEFSRFJFU0VUX1NUQVRbU1JDM10gQml0cyAqLw0KI2RlZmluZSBSU1RDVExfSEFSRFJFU0VUX1NUQVRfU1JDM19PRlMgICAgICAgICAgICggMykgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyoqPCBTUkMzIEJpdCBPZmZzZXQgKi8NCiNkZWZpbmUgUlNUQ1RMX0hBUkRSRVNFVF9TVEFUX1NSQzMgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDAwMDgpICAgICAgICAgIC8qKjwgSW5kaWNhdGVzIHRoYXQgU1JDMyB3YXMgdGhlIHNvdXJjZSBvZiB0aGUgSGFyZCBSZXNldCAqLw0KLyogUlNUQ1RMX0hBUkRSRVNFVF9TVEFUW1NSQzRdIEJpdHMgKi8NCiNkZWZpbmUgUlNUQ1RMX0hBUkRSRVNFVF9TVEFUX1NSQzRfT0ZTICAgICAgICAgICAoIDQpICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgU1JDNCBCaXQgT2Zmc2V0ICovDQojZGVmaW5lIFJTVENUTF9IQVJEUkVTRVRfU1RBVF9TUkM0ICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwMDEwKSAgICAgICAgICAvKio8IEluZGljYXRlcyB0aGF0IFNSQzQgd2FzIHRoZSBzb3VyY2Ugb2YgdGhlIEhhcmQgUmVzZXQgKi8NCi8qIFJTVENUTF9IQVJEUkVTRVRfU1RBVFtTUkM1XSBCaXRzICovDQojZGVmaW5lIFJTVENUTF9IQVJEUkVTRVRfU1RBVF9TUkM1X09GUyAgICAgICAgICAgKCA1KSAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKio8IFNSQzUgQml0IE9mZnNldCAqLw0KI2RlZmluZSBSU1RDVExfSEFSRFJFU0VUX1NUQVRfU1JDNSAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMDAyMCkgICAgICAgICAgLyoqPCBJbmRpY2F0ZXMgdGhhdCBTUkM1IHdhcyB0aGUgc291cmNlIG9mIHRoZSBIYXJkIFJlc2V0ICovDQovKiBSU1RDVExfSEFSRFJFU0VUX1NUQVRbU1JDNl0gQml0cyAqLw0KI2RlZmluZSBSU1RDVExfSEFSRFJFU0VUX1NUQVRfU1JDNl9PRlMgICAgICAgICAgICggNikgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyoqPCBTUkM2IEJpdCBPZmZzZXQgKi8NCiNkZWZpbmUgUlNUQ1RMX0hBUkRSRVNFVF9TVEFUX1NSQzYgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDAwNDApICAgICAgICAgIC8qKjwgSW5kaWNhdGVzIHRoYXQgU1JDNiB3YXMgdGhlIHNvdXJjZSBvZiB0aGUgSGFyZCBSZXNldCAqLw0KLyogUlNUQ1RMX0hBUkRSRVNFVF9TVEFUW1NSQzddIEJpdHMgKi8NCiNkZWZpbmUgUlNUQ1RMX0hBUkRSRVNFVF9TVEFUX1NSQzdfT0ZTICAgICAgICAgICAoIDcpICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgU1JDNyBCaXQgT2Zmc2V0ICovDQojZGVmaW5lIFJTVENUTF9IQVJEUkVTRVRfU1RBVF9TUkM3ICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwMDgwKSAgICAgICAgICAvKio8IEluZGljYXRlcyB0aGF0IFNSQzcgd2FzIHRoZSBzb3VyY2Ugb2YgdGhlIEhhcmQgUmVzZXQgKi8NCi8qIFJTVENUTF9IQVJEUkVTRVRfU1RBVFtTUkM4XSBCaXRzICovDQojZGVmaW5lIFJTVENUTF9IQVJEUkVTRVRfU1RBVF9TUkM4X09GUyAgICAgICAgICAgKCA4KSAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKio8IFNSQzggQml0IE9mZnNldCAqLw0KI2RlZmluZSBSU1RDVExfSEFSRFJFU0VUX1NUQVRfU1JDOCAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMDEwMCkgICAgICAgICAgLyoqPCBJbmRpY2F0ZXMgdGhhdCBTUkM4IHdhcyB0aGUgc291cmNlIG9mIHRoZSBIYXJkIFJlc2V0ICovDQovKiBSU1RDVExfSEFSRFJFU0VUX1NUQVRbU1JDOV0gQml0cyAqLw0KI2RlZmluZSBSU1RDVExfSEFSRFJFU0VUX1NUQVRfU1JDOV9PRlMgICAgICAgICAgICggOSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyoqPCBTUkM5IEJpdCBPZmZzZXQgKi8NCiNkZWZpbmUgUlNUQ1RMX0hBUkRSRVNFVF9TVEFUX1NSQzkgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDAyMDApICAgICAgICAgIC8qKjwgSW5kaWNhdGVzIHRoYXQgU1JDOSB3YXMgdGhlIHNvdXJjZSBvZiB0aGUgSGFyZCBSZXNldCAqLw0KLyogUlNUQ1RMX0hBUkRSRVNFVF9TVEFUW1NSQzEwXSBCaXRzICovDQojZGVmaW5lIFJTVENUTF9IQVJEUkVTRVRfU1RBVF9TUkMxMF9PRlMgICAgICAgICAgKDEwKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKio8IFNSQzEwIEJpdCBPZmZzZXQgKi8NCiNkZWZpbmUgUlNUQ1RMX0hBUkRSRVNFVF9TVEFUX1NSQzEwICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDA0MDApICAgICAgICAgIC8qKjwgSW5kaWNhdGVzIHRoYXQgU1JDMTAgd2FzIHRoZSBzb3VyY2Ugb2YgdGhlIEhhcmQgUmVzZXQgKi8NCi8qIFJTVENUTF9IQVJEUkVTRVRfU1RBVFtTUkMxMV0gQml0cyAqLw0KI2RlZmluZSBSU1RDVExfSEFSRFJFU0VUX1NUQVRfU1JDMTFfT0ZTICAgICAgICAgICgxMSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyoqPCBTUkMxMSBCaXQgT2Zmc2V0ICovDQojZGVmaW5lIFJTVENUTF9IQVJEUkVTRVRfU1RBVF9TUkMxMSAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwODAwKSAgICAgICAgICAvKio8IEluZGljYXRlcyB0aGF0IFNSQzExIHdhcyB0aGUgc291cmNlIG9mIHRoZSBIYXJkIFJlc2V0ICovDQovKiBSU1RDVExfSEFSRFJFU0VUX1NUQVRbU1JDMTJdIEJpdHMgKi8NCiNkZWZpbmUgUlNUQ1RMX0hBUkRSRVNFVF9TVEFUX1NSQzEyX09GUyAgICAgICAgICAoMTIpICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgU1JDMTIgQml0IE9mZnNldCAqLw0KI2RlZmluZSBSU1RDVExfSEFSRFJFU0VUX1NUQVRfU1JDMTIgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMTAwMCkgICAgICAgICAgLyoqPCBJbmRpY2F0ZXMgdGhhdCBTUkMxMiB3YXMgdGhlIHNvdXJjZSBvZiB0aGUgSGFyZCBSZXNldCAqLw0KLyogUlNUQ1RMX0hBUkRSRVNFVF9TVEFUW1NSQzEzXSBCaXRzICovDQojZGVmaW5lIFJTVENUTF9IQVJEUkVTRVRfU1RBVF9TUkMxM19PRlMgICAgICAgICAgKDEzKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKio8IFNSQzEzIEJpdCBPZmZzZXQgKi8NCiNkZWZpbmUgUlNUQ1RMX0hBUkRSRVNFVF9TVEFUX1NSQzEzICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDIwMDApICAgICAgICAgIC8qKjwgSW5kaWNhdGVzIHRoYXQgU1JDMTMgd2FzIHRoZSBzb3VyY2Ugb2YgdGhlIEhhcmQgUmVzZXQgKi8NCi8qIFJTVENUTF9IQVJEUkVTRVRfU1RBVFtTUkMxNF0gQml0cyAqLw0KI2RlZmluZSBSU1RDVExfSEFSRFJFU0VUX1NUQVRfU1JDMTRfT0ZTICAgICAgICAgICgxNCkgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyoqPCBTUkMxNCBCaXQgT2Zmc2V0ICovDQojZGVmaW5lIFJTVENUTF9IQVJEUkVTRVRfU1RBVF9TUkMxNCAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDA0MDAwKSAgICAgICAgICAvKio8IEluZGljYXRlcyB0aGF0IFNSQzE0IHdhcyB0aGUgc291cmNlIG9mIHRoZSBIYXJkIFJlc2V0ICovDQovKiBSU1RDVExfSEFSRFJFU0VUX1NUQVRbU1JDMTVdIEJpdHMgKi8NCiNkZWZpbmUgUlNUQ1RMX0hBUkRSRVNFVF9TVEFUX1NSQzE1X09GUyAgICAgICAgICAoMTUpICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgU1JDMTUgQml0IE9mZnNldCAqLw0KI2RlZmluZSBSU1RDVExfSEFSRFJFU0VUX1NUQVRfU1JDMTUgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwODAwMCkgICAgICAgICAgLyoqPCBJbmRpY2F0ZXMgdGhhdCBTUkMxNSB3YXMgdGhlIHNvdXJjZSBvZiB0aGUgSGFyZCBSZXNldCAqLw0KLyogUlNUQ1RMX0hBUkRSRVNFVF9DTFJbU1JDMF0gQml0cyAqLw0KI2RlZmluZSBSU1RDVExfSEFSRFJFU0VUX0NMUl9TUkMwX09GUyAgICAgICAgICAgICggMCkgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyoqPCBTUkMwIEJpdCBPZmZzZXQgKi8NCiNkZWZpbmUgUlNUQ1RMX0hBUkRSRVNFVF9DTFJfU1JDMCAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDAwMDEpICAgICAgICAgIC8qKjwgV3JpdGUgMSBjbGVhcnMgdGhlIGNvcnJlc3BvbmRpbmcgYml0IGluIHRoZSBSU1RDVExfSEFSRFJFU0VUX1NUQVQgKi8NCi8qIFJTVENUTF9IQVJEUkVTRVRfQ0xSW1NSQzFdIEJpdHMgKi8NCiNkZWZpbmUgUlNUQ1RMX0hBUkRSRVNFVF9DTFJfU1JDMV9PRlMgICAgICAgICAgICAoIDEpICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgU1JDMSBCaXQgT2Zmc2V0ICovDQojZGVmaW5lIFJTVENUTF9IQVJEUkVTRVRfQ0xSX1NSQzEgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwMDAyKSAgICAgICAgICAvKio8IFdyaXRlIDEgY2xlYXJzIHRoZSBjb3JyZXNwb25kaW5nIGJpdCBpbiB0aGUgUlNUQ1RMX0hBUkRSRVNFVF9TVEFUICovDQovKiBSU1RDVExfSEFSRFJFU0VUX0NMUltTUkMyXSBCaXRzICovDQojZGVmaW5lIFJTVENUTF9IQVJEUkVTRVRfQ0xSX1NSQzJfT0ZTICAgICAgICAgICAgKCAyKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKio8IFNSQzIgQml0IE9mZnNldCAqLw0KI2RlZmluZSBSU1RDVExfSEFSRFJFU0VUX0NMUl9TUkMyICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMDAwNCkgICAgICAgICAgLyoqPCBXcml0ZSAxIGNsZWFycyB0aGUgY29ycmVzcG9uZGluZyBiaXQgaW4gdGhlIFJTVENUTF9IQVJEUkVTRVRfU1RBVCAqLw0KLyogUlNUQ1RMX0hBUkRSRVNFVF9DTFJbU1JDM10gQml0cyAqLw0KI2RlZmluZSBSU1RDVExfSEFSRFJFU0VUX0NMUl9TUkMzX09GUyAgICAgICAgICAgICggMykgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyoqPCBTUkMzIEJpdCBPZmZzZXQgKi8NCiNkZWZpbmUgUlNUQ1RMX0hBUkRSRVNFVF9DTFJfU1JDMyAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDAwMDgpICAgICAgICAgIC8qKjwgV3JpdGUgMSBjbGVhcnMgdGhlIGNvcnJlc3BvbmRpbmcgYml0IGluIHRoZSBSU1RDVExfSEFSRFJFU0VUX1NUQVQgKi8NCi8qIFJTVENUTF9IQVJEUkVTRVRfQ0xSW1NSQzRdIEJpdHMgKi8NCiNkZWZpbmUgUlNUQ1RMX0hBUkRSRVNFVF9DTFJfU1JDNF9PRlMgICAgICAgICAgICAoIDQpICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgU1JDNCBCaXQgT2Zmc2V0ICovDQojZGVmaW5lIFJTVENUTF9IQVJEUkVTRVRfQ0xSX1NSQzQgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwMDEwKSAgICAgICAgICAvKio8IFdyaXRlIDEgY2xlYXJzIHRoZSBjb3JyZXNwb25kaW5nIGJpdCBpbiB0aGUgUlNUQ1RMX0hBUkRSRVNFVF9TVEFUICovDQovKiBSU1RDVExfSEFSRFJFU0VUX0NMUltTUkM1XSBCaXRzICovDQojZGVmaW5lIFJTVENUTF9IQVJEUkVTRVRfQ0xSX1NSQzVfT0ZTICAgICAgICAgICAgKCA1KSAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKio8IFNSQzUgQml0IE9mZnNldCAqLw0KI2RlZmluZSBSU1RDVExfSEFSRFJFU0VUX0NMUl9TUkM1ICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMDAyMCkgICAgICAgICAgLyoqPCBXcml0ZSAxIGNsZWFycyB0aGUgY29ycmVzcG9uZGluZyBiaXQgaW4gdGhlIFJTVENUTF9IQVJEUkVTRVRfU1RBVCAqLw0KLyogUlNUQ1RMX0hBUkRSRVNFVF9DTFJbU1JDNl0gQml0cyAqLw0KI2RlZmluZSBSU1RDVExfSEFSRFJFU0VUX0NMUl9TUkM2X09GUyAgICAgICAgICAgICggNikgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyoqPCBTUkM2IEJpdCBPZmZzZXQgKi8NCiNkZWZpbmUgUlNUQ1RMX0hBUkRSRVNFVF9DTFJfU1JDNiAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDAwNDApICAgICAgICAgIC8qKjwgV3JpdGUgMSBjbGVhcnMgdGhlIGNvcnJlc3BvbmRpbmcgYml0IGluIHRoZSBSU1RDVExfSEFSRFJFU0VUX1NUQVQgKi8NCi8qIFJTVENUTF9IQVJEUkVTRVRfQ0xSW1NSQzddIEJpdHMgKi8NCiNkZWZpbmUgUlNUQ1RMX0hBUkRSRVNFVF9DTFJfU1JDN19PRlMgICAgICAgICAgICAoIDcpICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgU1JDNyBCaXQgT2Zmc2V0ICovDQojZGVmaW5lIFJTVENUTF9IQVJEUkVTRVRfQ0xSX1NSQzcgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwMDgwKSAgICAgICAgICAvKio8IFdyaXRlIDEgY2xlYXJzIHRoZSBjb3JyZXNwb25kaW5nIGJpdCBpbiB0aGUgUlNUQ1RMX0hBUkRSRVNFVF9TVEFUICovDQovKiBSU1RDVExfSEFSRFJFU0VUX0NMUltTUkM4XSBCaXRzICovDQojZGVmaW5lIFJTVENUTF9IQVJEUkVTRVRfQ0xSX1NSQzhfT0ZTICAgICAgICAgICAgKCA4KSAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKio8IFNSQzggQml0IE9mZnNldCAqLw0KI2RlZmluZSBSU1RDVExfSEFSRFJFU0VUX0NMUl9TUkM4ICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMDEwMCkgICAgICAgICAgLyoqPCBXcml0ZSAxIGNsZWFycyB0aGUgY29ycmVzcG9uZGluZyBiaXQgaW4gdGhlIFJTVENUTF9IQVJEUkVTRVRfU1RBVCAqLw0KLyogUlNUQ1RMX0hBUkRSRVNFVF9DTFJbU1JDOV0gQml0cyAqLw0KI2RlZmluZSBSU1RDVExfSEFSRFJFU0VUX0NMUl9TUkM5X09GUyAgICAgICAgICAgICggOSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyoqPCBTUkM5IEJpdCBPZmZzZXQgKi8NCiNkZWZpbmUgUlNUQ1RMX0hBUkRSRVNFVF9DTFJfU1JDOSAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDAyMDApICAgICAgICAgIC8qKjwgV3JpdGUgMSBjbGVhcnMgdGhlIGNvcnJlc3BvbmRpbmcgYml0IGluIHRoZSBSU1RDVExfSEFSRFJFU0VUX1NUQVQgKi8NCi8qIFJTVENUTF9IQVJEUkVTRVRfQ0xSW1NSQzEwXSBCaXRzICovDQojZGVmaW5lIFJTVENUTF9IQVJEUkVTRVRfQ0xSX1NSQzEwX09GUyAgICAgICAgICAgKDEwKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKio8IFNSQzEwIEJpdCBPZmZzZXQgKi8NCiNkZWZpbmUgUlNUQ1RMX0hBUkRSRVNFVF9DTFJfU1JDMTAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDA0MDApICAgICAgICAgIC8qKjwgV3JpdGUgMSBjbGVhcnMgdGhlIGNvcnJlc3BvbmRpbmcgYml0IGluIHRoZSBSU1RDVExfSEFSRFJFU0VUX1NUQVQgKi8NCi8qIFJTVENUTF9IQVJEUkVTRVRfQ0xSW1NSQzExXSBCaXRzICovDQojZGVmaW5lIFJTVENUTF9IQVJEUkVTRVRfQ0xSX1NSQzExX09GUyAgICAgICAgICAgKDExKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKio8IFNSQzExIEJpdCBPZmZzZXQgKi8NCiNkZWZpbmUgUlNUQ1RMX0hBUkRSRVNFVF9DTFJfU1JDMTEgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDA4MDApICAgICAgICAgIC8qKjwgV3JpdGUgMSBjbGVhcnMgdGhlIGNvcnJlc3BvbmRpbmcgYml0IGluIHRoZSBSU1RDVExfSEFSRFJFU0VUX1NUQVQgKi8NCi8qIFJTVENUTF9IQVJEUkVTRVRfQ0xSW1NSQzEyXSBCaXRzICovDQojZGVmaW5lIFJTVENUTF9IQVJEUkVTRVRfQ0xSX1NSQzEyX09GUyAgICAgICAgICAgKDEyKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKio8IFNSQzEyIEJpdCBPZmZzZXQgKi8NCiNkZWZpbmUgUlNUQ1RMX0hBUkRSRVNFVF9DTFJfU1JDMTIgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDEwMDApICAgICAgICAgIC8qKjwgV3JpdGUgMSBjbGVhcnMgdGhlIGNvcnJlc3BvbmRpbmcgYml0IGluIHRoZSBSU1RDVExfSEFSRFJFU0VUX1NUQVQgKi8NCi8qIFJTVENUTF9IQVJEUkVTRVRfQ0xSW1NSQzEzXSBCaXRzICovDQojZGVmaW5lIFJTVENUTF9IQVJEUkVTRVRfQ0xSX1NSQzEzX09GUyAgICAgICAgICAgKDEzKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKio8IFNSQzEzIEJpdCBPZmZzZXQgKi8NCiNkZWZpbmUgUlNUQ1RMX0hBUkRSRVNFVF9DTFJfU1JDMTMgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDIwMDApICAgICAgICAgIC8qKjwgV3JpdGUgMSBjbGVhcnMgdGhlIGNvcnJlc3BvbmRpbmcgYml0IGluIHRoZSBSU1RDVExfSEFSRFJFU0VUX1NUQVQgKi8NCi8qIFJTVENUTF9IQVJEUkVTRVRfQ0xSW1NSQzE0XSBCaXRzICovDQojZGVmaW5lIFJTVENUTF9IQVJEUkVTRVRfQ0xSX1NSQzE0X09GUyAgICAgICAgICAgKDE0KSAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKio8IFNSQzE0IEJpdCBPZmZzZXQgKi8NCiNkZWZpbmUgUlNUQ1RMX0hBUkRSRVNFVF9DTFJfU1JDMTQgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDQwMDApICAgICAgICAgIC8qKjwgV3JpdGUgMSBjbGVhcnMgdGhlIGNvcnJlc3BvbmRpbmcgYml0IGluIHRoZSBSU1RDVExfSEFSRFJFU0VUX1NUQVQgKi8NCi8qIFJTVENUTF9IQVJEUkVTRVRfQ0xSW1NSQzE1XSBCaXRzICovDQojZGVmaW5lIFJTVENUTF9IQVJEUkVTRVRfQ0xSX1NSQzE1X09GUyAgICAgICAgICAgKDE1KSAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKio8IFNSQzE1IEJpdCBPZmZzZXQgKi8NCiNkZWZpbmUgUlNUQ1RMX0hBUkRSRVNFVF9DTFJfU1JDMTUgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDgwMDApICAgICAgICAgIC8qKjwgV3JpdGUgMSBjbGVhcnMgdGhlIGNvcnJlc3BvbmRpbmcgYml0IGluIHRoZSBSU1RDVExfSFJEUkVTRVRTVEFUX1JFRyAqLw0KLyogUlNUQ1RMX0hBUkRSRVNFVF9TRVRbU1JDMF0gQml0cyAqLw0KI2RlZmluZSBSU1RDVExfSEFSRFJFU0VUX1NFVF9TUkMwX09GUyAgICAgICAgICAgICggMCkgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyoqPCBTUkMwIEJpdCBPZmZzZXQgKi8NCiNkZWZpbmUgUlNUQ1RMX0hBUkRSRVNFVF9TRVRfU1JDMCAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDAwMDEpICAgICAgICAgIC8qKjwgV3JpdGUgMSBzZXRzIHRoZSBjb3JyZXNwb25kaW5nIGJpdCBpbiB0aGUgUlNUQ1RMX0hBUkRSRVNFVF9TVEFUIChhbmQgaW5pdGlhdGVzICovDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiBhIEhhcmQgUmVzZXQpICovDQovKiBSU1RDVExfSEFSRFJFU0VUX1NFVFtTUkMxXSBCaXRzICovDQojZGVmaW5lIFJTVENUTF9IQVJEUkVTRVRfU0VUX1NSQzFfT0ZTICAgICAgICAgICAgKCAxKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKio8IFNSQzEgQml0IE9mZnNldCAqLw0KI2RlZmluZSBSU1RDVExfSEFSRFJFU0VUX1NFVF9TUkMxICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMDAwMikgICAgICAgICAgLyoqPCBXcml0ZSAxIHNldHMgdGhlIGNvcnJlc3BvbmRpbmcgYml0IGluIHRoZSBSU1RDVExfSEFSRFJFU0VUX1NUQVQgKGFuZCBpbml0aWF0ZXMgKi8NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qIGEgSGFyZCBSZXNldCkgKi8NCi8qIFJTVENUTF9IQVJEUkVTRVRfU0VUW1NSQzJdIEJpdHMgKi8NCiNkZWZpbmUgUlNUQ1RMX0hBUkRSRVNFVF9TRVRfU1JDMl9PRlMgICAgICAgICAgICAoIDIpICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgU1JDMiBCaXQgT2Zmc2V0ICovDQojZGVmaW5lIFJTVENUTF9IQVJEUkVTRVRfU0VUX1NSQzIgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwMDA0KSAgICAgICAgICAvKio8IFdyaXRlIDEgc2V0cyB0aGUgY29ycmVzcG9uZGluZyBiaXQgaW4gdGhlIFJTVENUTF9IQVJEUkVTRVRfU1RBVCAoYW5kIGluaXRpYXRlcyAqLw0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyogYSBIYXJkIFJlc2V0KSAqLw0KLyogUlNUQ1RMX0hBUkRSRVNFVF9TRVRbU1JDM10gQml0cyAqLw0KI2RlZmluZSBSU1RDVExfSEFSRFJFU0VUX1NFVF9TUkMzX09GUyAgICAgICAgICAgICggMykgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyoqPCBTUkMzIEJpdCBPZmZzZXQgKi8NCiNkZWZpbmUgUlNUQ1RMX0hBUkRSRVNFVF9TRVRfU1JDMyAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDAwMDgpICAgICAgICAgIC8qKjwgV3JpdGUgMSBzZXRzIHRoZSBjb3JyZXNwb25kaW5nIGJpdCBpbiB0aGUgUlNUQ1RMX0hBUkRSRVNFVF9TVEFUIChhbmQgaW5pdGlhdGVzICovDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiBhIEhhcmQgUmVzZXQpICovDQovKiBSU1RDVExfSEFSRFJFU0VUX1NFVFtTUkM0XSBCaXRzICovDQojZGVmaW5lIFJTVENUTF9IQVJEUkVTRVRfU0VUX1NSQzRfT0ZTICAgICAgICAgICAgKCA0KSAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKio8IFNSQzQgQml0IE9mZnNldCAqLw0KI2RlZmluZSBSU1RDVExfSEFSRFJFU0VUX1NFVF9TUkM0ICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMDAxMCkgICAgICAgICAgLyoqPCBXcml0ZSAxIHNldHMgdGhlIGNvcnJlc3BvbmRpbmcgYml0IGluIHRoZSBSU1RDVExfSEFSRFJFU0VUX1NUQVQgKGFuZCBpbml0aWF0ZXMgKi8NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qIGEgSGFyZCBSZXNldCkgKi8NCi8qIFJTVENUTF9IQVJEUkVTRVRfU0VUW1NSQzVdIEJpdHMgKi8NCiNkZWZpbmUgUlNUQ1RMX0hBUkRSRVNFVF9TRVRfU1JDNV9PRlMgICAgICAgICAgICAoIDUpICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgU1JDNSBCaXQgT2Zmc2V0ICovDQojZGVmaW5lIFJTVENUTF9IQVJEUkVTRVRfU0VUX1NSQzUgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwMDIwKSAgICAgICAgICAvKio8IFdyaXRlIDEgc2V0cyB0aGUgY29ycmVzcG9uZGluZyBiaXQgaW4gdGhlIFJTVENUTF9IQVJEUkVTRVRfU1RBVCAoYW5kIGluaXRpYXRlcyAqLw0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyogYSBIYXJkIFJlc2V0KSAqLw0KLyogUlNUQ1RMX0hBUkRSRVNFVF9TRVRbU1JDNl0gQml0cyAqLw0KI2RlZmluZSBSU1RDVExfSEFSRFJFU0VUX1NFVF9TUkM2X09GUyAgICAgICAgICAgICggNikgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyoqPCBTUkM2IEJpdCBPZmZzZXQgKi8NCiNkZWZpbmUgUlNUQ1RMX0hBUkRSRVNFVF9TRVRfU1JDNiAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDAwNDApICAgICAgICAgIC8qKjwgV3JpdGUgMSBzZXRzIHRoZSBjb3JyZXNwb25kaW5nIGJpdCBpbiB0aGUgUlNUQ1RMX0hBUkRSRVNFVF9TVEFUIChhbmQgaW5pdGlhdGVzICovDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiBhIEhhcmQgUmVzZXQpICovDQovKiBSU1RDVExfSEFSRFJFU0VUX1NFVFtTUkM3XSBCaXRzICovDQojZGVmaW5lIFJTVENUTF9IQVJEUkVTRVRfU0VUX1NSQzdfT0ZTICAgICAgICAgICAgKCA3KSAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKio8IFNSQzcgQml0IE9mZnNldCAqLw0KI2RlZmluZSBSU1RDVExfSEFSRFJFU0VUX1NFVF9TUkM3ICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMDA4MCkgICAgICAgICAgLyoqPCBXcml0ZSAxIHNldHMgdGhlIGNvcnJlc3BvbmRpbmcgYml0IGluIHRoZSBSU1RDVExfSEFSRFJFU0VUX1NUQVQgKGFuZCBpbml0aWF0ZXMgKi8NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qIGEgSGFyZCBSZXNldCkgKi8NCi8qIFJTVENUTF9IQVJEUkVTRVRfU0VUW1NSQzhdIEJpdHMgKi8NCiNkZWZpbmUgUlNUQ1RMX0hBUkRSRVNFVF9TRVRfU1JDOF9PRlMgICAgICAgICAgICAoIDgpICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgU1JDOCBCaXQgT2Zmc2V0ICovDQojZGVmaW5lIFJTVENUTF9IQVJEUkVTRVRfU0VUX1NSQzggICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwMTAwKSAgICAgICAgICAvKio8IFdyaXRlIDEgc2V0cyB0aGUgY29ycmVzcG9uZGluZyBiaXQgaW4gdGhlIFJTVENUTF9IQVJEUkVTRVRfU1RBVCAoYW5kIGluaXRpYXRlcyAqLw0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyogYSBIYXJkIFJlc2V0KSAqLw0KLyogUlNUQ1RMX0hBUkRSRVNFVF9TRVRbU1JDOV0gQml0cyAqLw0KI2RlZmluZSBSU1RDVExfSEFSRFJFU0VUX1NFVF9TUkM5X09GUyAgICAgICAgICAgICggOSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyoqPCBTUkM5IEJpdCBPZmZzZXQgKi8NCiNkZWZpbmUgUlNUQ1RMX0hBUkRSRVNFVF9TRVRfU1JDOSAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDAyMDApICAgICAgICAgIC8qKjwgV3JpdGUgMSBzZXRzIHRoZSBjb3JyZXNwb25kaW5nIGJpdCBpbiB0aGUgUlNUQ1RMX0hBUkRSRVNFVF9TVEFUIChhbmQgaW5pdGlhdGVzICovDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiBhIEhhcmQgUmVzZXQpICovDQovKiBSU1RDVExfSEFSRFJFU0VUX1NFVFtTUkMxMF0gQml0cyAqLw0KI2RlZmluZSBSU1RDVExfSEFSRFJFU0VUX1NFVF9TUkMxMF9PRlMgICAgICAgICAgICgxMCkgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyoqPCBTUkMxMCBCaXQgT2Zmc2V0ICovDQojZGVmaW5lIFJTVENUTF9IQVJEUkVTRVRfU0VUX1NSQzEwICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwNDAwKSAgICAgICAgICAvKio8IFdyaXRlIDEgc2V0cyB0aGUgY29ycmVzcG9uZGluZyBiaXQgaW4gdGhlIFJTVENUTF9IQVJEUkVTRVRfU1RBVCAoYW5kIGluaXRpYXRlcyAqLw0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyogYSBIYXJkIFJlc2V0KSAqLw0KLyogUlNUQ1RMX0hBUkRSRVNFVF9TRVRbU1JDMTFdIEJpdHMgKi8NCiNkZWZpbmUgUlNUQ1RMX0hBUkRSRVNFVF9TRVRfU1JDMTFfT0ZTICAgICAgICAgICAoMTEpICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgU1JDMTEgQml0IE9mZnNldCAqLw0KI2RlZmluZSBSU1RDVExfSEFSRFJFU0VUX1NFVF9TUkMxMSAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMDgwMCkgICAgICAgICAgLyoqPCBXcml0ZSAxIHNldHMgdGhlIGNvcnJlc3BvbmRpbmcgYml0IGluIHRoZSBSU1RDVExfSEFSRFJFU0VUX1NUQVQgKGFuZCBpbml0aWF0ZXMgKi8NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qIGEgSGFyZCBSZXNldCkgKi8NCi8qIFJTVENUTF9IQVJEUkVTRVRfU0VUW1NSQzEyXSBCaXRzICovDQojZGVmaW5lIFJTVENUTF9IQVJEUkVTRVRfU0VUX1NSQzEyX09GUyAgICAgICAgICAgKDEyKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKio8IFNSQzEyIEJpdCBPZmZzZXQgKi8NCiNkZWZpbmUgUlNUQ1RMX0hBUkRSRVNFVF9TRVRfU1JDMTIgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDEwMDApICAgICAgICAgIC8qKjwgV3JpdGUgMSBzZXRzIHRoZSBjb3JyZXNwb25kaW5nIGJpdCBpbiB0aGUgUlNUQ1RMX0hBUkRSRVNFVF9TVEFUIChhbmQgaW5pdGlhdGVzICovDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiBhIEhhcmQgUmVzZXQpICovDQovKiBSU1RDVExfSEFSRFJFU0VUX1NFVFtTUkMxM10gQml0cyAqLw0KI2RlZmluZSBSU1RDVExfSEFSRFJFU0VUX1NFVF9TUkMxM19PRlMgICAgICAgICAgICgxMykgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyoqPCBTUkMxMyBCaXQgT2Zmc2V0ICovDQojZGVmaW5lIFJTVENUTF9IQVJEUkVTRVRfU0VUX1NSQzEzICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAyMDAwKSAgICAgICAgICAvKio8IFdyaXRlIDEgc2V0cyB0aGUgY29ycmVzcG9uZGluZyBiaXQgaW4gdGhlIFJTVENUTF9IQVJEUkVTRVRfU1RBVCAoYW5kIGluaXRpYXRlcyAqLw0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyogYSBIYXJkIFJlc2V0KSAqLw0KLyogUlNUQ1RMX0hBUkRSRVNFVF9TRVRbU1JDMTRdIEJpdHMgKi8NCiNkZWZpbmUgUlNUQ1RMX0hBUkRSRVNFVF9TRVRfU1JDMTRfT0ZTICAgICAgICAgICAoMTQpICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgU1JDMTQgQml0IE9mZnNldCAqLw0KI2RlZmluZSBSU1RDVExfSEFSRFJFU0VUX1NFVF9TUkMxNCAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwNDAwMCkgICAgICAgICAgLyoqPCBXcml0ZSAxIHNldHMgdGhlIGNvcnJlc3BvbmRpbmcgYml0IGluIHRoZSBSU1RDVExfSEFSRFJFU0VUX1NUQVQgKGFuZCBpbml0aWF0ZXMgKi8NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qIGEgSGFyZCBSZXNldCkgKi8NCi8qIFJTVENUTF9IQVJEUkVTRVRfU0VUW1NSQzE1XSBCaXRzICovDQojZGVmaW5lIFJTVENUTF9IQVJEUkVTRVRfU0VUX1NSQzE1X09GUyAgICAgICAgICAgKDE1KSAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKio8IFNSQzE1IEJpdCBPZmZzZXQgKi8NCiNkZWZpbmUgUlNUQ1RMX0hBUkRSRVNFVF9TRVRfU1JDMTUgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDgwMDApICAgICAgICAgIC8qKjwgV3JpdGUgMSBzZXRzIHRoZSBjb3JyZXNwb25kaW5nIGJpdCBpbiB0aGUgUlNUQ1RMX0hBUkRSRVNFVF9TVEFUIChhbmQgaW5pdGlhdGVzICovDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiBhIEhhcmQgUmVzZXQpICovDQovKiBSU1RDVExfU09GVFJFU0VUX1NUQVRbU1JDMF0gQml0cyAqLw0KI2RlZmluZSBSU1RDVExfU09GVFJFU0VUX1NUQVRfU1JDMF9PRlMgICAgICAgICAgICggMCkgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyoqPCBTUkMwIEJpdCBPZmZzZXQgKi8NCiNkZWZpbmUgUlNUQ1RMX1NPRlRSRVNFVF9TVEFUX1NSQzAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDAwMDEpICAgICAgICAgIC8qKjwgSWYgMSwgaW5kaWNhdGVzIHRoYXQgU1JDMCB3YXMgdGhlIHNvdXJjZSBvZiB0aGUgU29mdCBSZXNldCAqLw0KLyogUlNUQ1RMX1NPRlRSRVNFVF9TVEFUW1NSQzFdIEJpdHMgKi8NCiNkZWZpbmUgUlNUQ1RMX1NPRlRSRVNFVF9TVEFUX1NSQzFfT0ZTICAgICAgICAgICAoIDEpICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgU1JDMSBCaXQgT2Zmc2V0ICovDQojZGVmaW5lIFJTVENUTF9TT0ZUUkVTRVRfU1RBVF9TUkMxICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwMDAyKSAgICAgICAgICAvKio8IElmIDEsIGluZGljYXRlcyB0aGF0IFNSQzEgd2FzIHRoZSBzb3VyY2Ugb2YgdGhlIFNvZnQgUmVzZXQgKi8NCi8qIFJTVENUTF9TT0ZUUkVTRVRfU1RBVFtTUkMyXSBCaXRzICovDQojZGVmaW5lIFJTVENUTF9TT0ZUUkVTRVRfU1RBVF9TUkMyX09GUyAgICAgICAgICAgKCAyKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKio8IFNSQzIgQml0IE9mZnNldCAqLw0KI2RlZmluZSBSU1RDVExfU09GVFJFU0VUX1NUQVRfU1JDMiAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMDAwNCkgICAgICAgICAgLyoqPCBJZiAxLCBpbmRpY2F0ZXMgdGhhdCBTUkMyIHdhcyB0aGUgc291cmNlIG9mIHRoZSBTb2Z0IFJlc2V0ICovDQovKiBSU1RDVExfU09GVFJFU0VUX1NUQVRbU1JDM10gQml0cyAqLw0KI2RlZmluZSBSU1RDVExfU09GVFJFU0VUX1NUQVRfU1JDM19PRlMgICAgICAgICAgICggMykgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyoqPCBTUkMzIEJpdCBPZmZzZXQgKi8NCiNkZWZpbmUgUlNUQ1RMX1NPRlRSRVNFVF9TVEFUX1NSQzMgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDAwMDgpICAgICAgICAgIC8qKjwgSWYgMSwgaW5kaWNhdGVzIHRoYXQgU1JDMyB3YXMgdGhlIHNvdXJjZSBvZiB0aGUgU29mdCBSZXNldCAqLw0KLyogUlNUQ1RMX1NPRlRSRVNFVF9TVEFUW1NSQzRdIEJpdHMgKi8NCiNkZWZpbmUgUlNUQ1RMX1NPRlRSRVNFVF9TVEFUX1NSQzRfT0ZTICAgICAgICAgICAoIDQpICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgU1JDNCBCaXQgT2Zmc2V0ICovDQojZGVmaW5lIFJTVENUTF9TT0ZUUkVTRVRfU1RBVF9TUkM0ICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwMDEwKSAgICAgICAgICAvKio8IElmIDEsIGluZGljYXRlcyB0aGF0IFNSQzQgd2FzIHRoZSBzb3VyY2Ugb2YgdGhlIFNvZnQgUmVzZXQgKi8NCi8qIFJTVENUTF9TT0ZUUkVTRVRfU1RBVFtTUkM1XSBCaXRzICovDQojZGVmaW5lIFJTVENUTF9TT0ZUUkVTRVRfU1RBVF9TUkM1X09GUyAgICAgICAgICAgKCA1KSAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKio8IFNSQzUgQml0IE9mZnNldCAqLw0KI2RlZmluZSBSU1RDVExfU09GVFJFU0VUX1NUQVRfU1JDNSAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMDAyMCkgICAgICAgICAgLyoqPCBJZiAxLCBpbmRpY2F0ZXMgdGhhdCBTUkM1IHdhcyB0aGUgc291cmNlIG9mIHRoZSBTb2Z0IFJlc2V0ICovDQovKiBSU1RDVExfU09GVFJFU0VUX1NUQVRbU1JDNl0gQml0cyAqLw0KI2RlZmluZSBSU1RDVExfU09GVFJFU0VUX1NUQVRfU1JDNl9PRlMgICAgICAgICAgICggNikgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyoqPCBTUkM2IEJpdCBPZmZzZXQgKi8NCiNkZWZpbmUgUlNUQ1RMX1NPRlRSRVNFVF9TVEFUX1NSQzYgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDAwNDApICAgICAgICAgIC8qKjwgSWYgMSwgaW5kaWNhdGVzIHRoYXQgU1JDNiB3YXMgdGhlIHNvdXJjZSBvZiB0aGUgU29mdCBSZXNldCAqLw0KLyogUlNUQ1RMX1NPRlRSRVNFVF9TVEFUW1NSQzddIEJpdHMgKi8NCiNkZWZpbmUgUlNUQ1RMX1NPRlRSRVNFVF9TVEFUX1NSQzdfT0ZTICAgICAgICAgICAoIDcpICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgU1JDNyBCaXQgT2Zmc2V0ICovDQojZGVmaW5lIFJTVENUTF9TT0ZUUkVTRVRfU1RBVF9TUkM3ICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwMDgwKSAgICAgICAgICAvKio8IElmIDEsIGluZGljYXRlcyB0aGF0IFNSQzcgd2FzIHRoZSBzb3VyY2Ugb2YgdGhlIFNvZnQgUmVzZXQgKi8NCi8qIFJTVENUTF9TT0ZUUkVTRVRfU1RBVFtTUkM4XSBCaXRzICovDQojZGVmaW5lIFJTVENUTF9TT0ZUUkVTRVRfU1RBVF9TUkM4X09GUyAgICAgICAgICAgKCA4KSAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKio8IFNSQzggQml0IE9mZnNldCAqLw0KI2RlZmluZSBSU1RDVExfU09GVFJFU0VUX1NUQVRfU1JDOCAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMDEwMCkgICAgICAgICAgLyoqPCBJZiAxLCBpbmRpY2F0ZXMgdGhhdCBTUkM4IHdhcyB0aGUgc291cmNlIG9mIHRoZSBTb2Z0IFJlc2V0ICovDQovKiBSU1RDVExfU09GVFJFU0VUX1NUQVRbU1JDOV0gQml0cyAqLw0KI2RlZmluZSBSU1RDVExfU09GVFJFU0VUX1NUQVRfU1JDOV9PRlMgICAgICAgICAgICggOSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyoqPCBTUkM5IEJpdCBPZmZzZXQgKi8NCiNkZWZpbmUgUlNUQ1RMX1NPRlRSRVNFVF9TVEFUX1NSQzkgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDAyMDApICAgICAgICAgIC8qKjwgSWYgMSwgaW5kaWNhdGVzIHRoYXQgU1JDOSB3YXMgdGhlIHNvdXJjZSBvZiB0aGUgU29mdCBSZXNldCAqLw0KLyogUlNUQ1RMX1NPRlRSRVNFVF9TVEFUW1NSQzEwXSBCaXRzICovDQojZGVmaW5lIFJTVENUTF9TT0ZUUkVTRVRfU1RBVF9TUkMxMF9PRlMgICAgICAgICAgKDEwKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKio8IFNSQzEwIEJpdCBPZmZzZXQgKi8NCiNkZWZpbmUgUlNUQ1RMX1NPRlRSRVNFVF9TVEFUX1NSQzEwICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDA0MDApICAgICAgICAgIC8qKjwgSWYgMSwgaW5kaWNhdGVzIHRoYXQgU1JDMTAgd2FzIHRoZSBzb3VyY2Ugb2YgdGhlIFNvZnQgUmVzZXQgKi8NCi8qIFJTVENUTF9TT0ZUUkVTRVRfU1RBVFtTUkMxMV0gQml0cyAqLw0KI2RlZmluZSBSU1RDVExfU09GVFJFU0VUX1NUQVRfU1JDMTFfT0ZTICAgICAgICAgICgxMSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyoqPCBTUkMxMSBCaXQgT2Zmc2V0ICovDQojZGVmaW5lIFJTVENUTF9TT0ZUUkVTRVRfU1RBVF9TUkMxMSAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwODAwKSAgICAgICAgICAvKio8IElmIDEsIGluZGljYXRlcyB0aGF0IFNSQzExIHdhcyB0aGUgc291cmNlIG9mIHRoZSBTb2Z0IFJlc2V0ICovDQovKiBSU1RDVExfU09GVFJFU0VUX1NUQVRbU1JDMTJdIEJpdHMgKi8NCiNkZWZpbmUgUlNUQ1RMX1NPRlRSRVNFVF9TVEFUX1NSQzEyX09GUyAgICAgICAgICAoMTIpICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgU1JDMTIgQml0IE9mZnNldCAqLw0KI2RlZmluZSBSU1RDVExfU09GVFJFU0VUX1NUQVRfU1JDMTIgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMTAwMCkgICAgICAgICAgLyoqPCBJZiAxLCBpbmRpY2F0ZXMgdGhhdCBTUkMxMiB3YXMgdGhlIHNvdXJjZSBvZiB0aGUgU29mdCBSZXNldCAqLw0KLyogUlNUQ1RMX1NPRlRSRVNFVF9TVEFUW1NSQzEzXSBCaXRzICovDQojZGVmaW5lIFJTVENUTF9TT0ZUUkVTRVRfU1RBVF9TUkMxM19PRlMgICAgICAgICAgKDEzKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKio8IFNSQzEzIEJpdCBPZmZzZXQgKi8NCiNkZWZpbmUgUlNUQ1RMX1NPRlRSRVNFVF9TVEFUX1NSQzEzICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDIwMDApICAgICAgICAgIC8qKjwgSWYgMSwgaW5kaWNhdGVzIHRoYXQgU1JDMTMgd2FzIHRoZSBzb3VyY2Ugb2YgdGhlIFNvZnQgUmVzZXQgKi8NCi8qIFJTVENUTF9TT0ZUUkVTRVRfU1RBVFtTUkMxNF0gQml0cyAqLw0KI2RlZmluZSBSU1RDVExfU09GVFJFU0VUX1NUQVRfU1JDMTRfT0ZTICAgICAgICAgICgxNCkgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyoqPCBTUkMxNCBCaXQgT2Zmc2V0ICovDQojZGVmaW5lIFJTVENUTF9TT0ZUUkVTRVRfU1RBVF9TUkMxNCAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDA0MDAwKSAgICAgICAgICAvKio8IElmIDEsIGluZGljYXRlcyB0aGF0IFNSQzE0IHdhcyB0aGUgc291cmNlIG9mIHRoZSBTb2Z0IFJlc2V0ICovDQovKiBSU1RDVExfU09GVFJFU0VUX1NUQVRbU1JDMTVdIEJpdHMgKi8NCiNkZWZpbmUgUlNUQ1RMX1NPRlRSRVNFVF9TVEFUX1NSQzE1X09GUyAgICAgICAgICAoMTUpICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgU1JDMTUgQml0IE9mZnNldCAqLw0KI2RlZmluZSBSU1RDVExfU09GVFJFU0VUX1NUQVRfU1JDMTUgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwODAwMCkgICAgICAgICAgLyoqPCBJZiAxLCBpbmRpY2F0ZXMgdGhhdCBTUkMxNSB3YXMgdGhlIHNvdXJjZSBvZiB0aGUgU29mdCBSZXNldCAqLw0KLyogUlNUQ1RMX1NPRlRSRVNFVF9DTFJbU1JDMF0gQml0cyAqLw0KI2RlZmluZSBSU1RDVExfU09GVFJFU0VUX0NMUl9TUkMwX09GUyAgICAgICAgICAgICggMCkgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyoqPCBTUkMwIEJpdCBPZmZzZXQgKi8NCiNkZWZpbmUgUlNUQ1RMX1NPRlRSRVNFVF9DTFJfU1JDMCAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDAwMDEpICAgICAgICAgIC8qKjwgV3JpdGUgMSBjbGVhcnMgdGhlIGNvcnJlc3BvbmRpbmcgYml0IGluIHRoZSBSU1RDVExfU09GVFJFU0VUX1NUQVQgKi8NCi8qIFJTVENUTF9TT0ZUUkVTRVRfQ0xSW1NSQzFdIEJpdHMgKi8NCiNkZWZpbmUgUlNUQ1RMX1NPRlRSRVNFVF9DTFJfU1JDMV9PRlMgICAgICAgICAgICAoIDEpICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgU1JDMSBCaXQgT2Zmc2V0ICovDQojZGVmaW5lIFJTVENUTF9TT0ZUUkVTRVRfQ0xSX1NSQzEgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwMDAyKSAgICAgICAgICAvKio8IFdyaXRlIDEgY2xlYXJzIHRoZSBjb3JyZXNwb25kaW5nIGJpdCBpbiB0aGUgUlNUQ1RMX1NPRlRSRVNFVF9TVEFUICovDQovKiBSU1RDVExfU09GVFJFU0VUX0NMUltTUkMyXSBCaXRzICovDQojZGVmaW5lIFJTVENUTF9TT0ZUUkVTRVRfQ0xSX1NSQzJfT0ZTICAgICAgICAgICAgKCAyKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKio8IFNSQzIgQml0IE9mZnNldCAqLw0KI2RlZmluZSBSU1RDVExfU09GVFJFU0VUX0NMUl9TUkMyICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMDAwNCkgICAgICAgICAgLyoqPCBXcml0ZSAxIGNsZWFycyB0aGUgY29ycmVzcG9uZGluZyBiaXQgaW4gdGhlIFJTVENUTF9TT0ZUUkVTRVRfU1RBVCAqLw0KLyogUlNUQ1RMX1NPRlRSRVNFVF9DTFJbU1JDM10gQml0cyAqLw0KI2RlZmluZSBSU1RDVExfU09GVFJFU0VUX0NMUl9TUkMzX09GUyAgICAgICAgICAgICggMykgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyoqPCBTUkMzIEJpdCBPZmZzZXQgKi8NCiNkZWZpbmUgUlNUQ1RMX1NPRlRSRVNFVF9DTFJfU1JDMyAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDAwMDgpICAgICAgICAgIC8qKjwgV3JpdGUgMSBjbGVhcnMgdGhlIGNvcnJlc3BvbmRpbmcgYml0IGluIHRoZSBSU1RDVExfU09GVFJFU0VUX1NUQVQgKi8NCi8qIFJTVENUTF9TT0ZUUkVTRVRfQ0xSW1NSQzRdIEJpdHMgKi8NCiNkZWZpbmUgUlNUQ1RMX1NPRlRSRVNFVF9DTFJfU1JDNF9PRlMgICAgICAgICAgICAoIDQpICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgU1JDNCBCaXQgT2Zmc2V0ICovDQojZGVmaW5lIFJTVENUTF9TT0ZUUkVTRVRfQ0xSX1NSQzQgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwMDEwKSAgICAgICAgICAvKio8IFdyaXRlIDEgY2xlYXJzIHRoZSBjb3JyZXNwb25kaW5nIGJpdCBpbiB0aGUgUlNUQ1RMX1NPRlRSRVNFVF9TVEFUICovDQovKiBSU1RDVExfU09GVFJFU0VUX0NMUltTUkM1XSBCaXRzICovDQojZGVmaW5lIFJTVENUTF9TT0ZUUkVTRVRfQ0xSX1NSQzVfT0ZTICAgICAgICAgICAgKCA1KSAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKio8IFNSQzUgQml0IE9mZnNldCAqLw0KI2RlZmluZSBSU1RDVExfU09GVFJFU0VUX0NMUl9TUkM1ICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMDAyMCkgICAgICAgICAgLyoqPCBXcml0ZSAxIGNsZWFycyB0aGUgY29ycmVzcG9uZGluZyBiaXQgaW4gdGhlIFJTVENUTF9TT0ZUUkVTRVRfU1RBVCAqLw0KLyogUlNUQ1RMX1NPRlRSRVNFVF9DTFJbU1JDNl0gQml0cyAqLw0KI2RlZmluZSBSU1RDVExfU09GVFJFU0VUX0NMUl9TUkM2X09GUyAgICAgICAgICAgICggNikgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyoqPCBTUkM2IEJpdCBPZmZzZXQgKi8NCiNkZWZpbmUgUlNUQ1RMX1NPRlRSRVNFVF9DTFJfU1JDNiAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDAwNDApICAgICAgICAgIC8qKjwgV3JpdGUgMSBjbGVhcnMgdGhlIGNvcnJlc3BvbmRpbmcgYml0IGluIHRoZSBSU1RDVExfU09GVFJFU0VUX1NUQVQgKi8NCi8qIFJTVENUTF9TT0ZUUkVTRVRfQ0xSW1NSQzddIEJpdHMgKi8NCiNkZWZpbmUgUlNUQ1RMX1NPRlRSRVNFVF9DTFJfU1JDN19PRlMgICAgICAgICAgICAoIDcpICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgU1JDNyBCaXQgT2Zmc2V0ICovDQojZGVmaW5lIFJTVENUTF9TT0ZUUkVTRVRfQ0xSX1NSQzcgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwMDgwKSAgICAgICAgICAvKio8IFdyaXRlIDEgY2xlYXJzIHRoZSBjb3JyZXNwb25kaW5nIGJpdCBpbiB0aGUgUlNUQ1RMX1NPRlRSRVNFVF9TVEFUICovDQovKiBSU1RDVExfU09GVFJFU0VUX0NMUltTUkM4XSBCaXRzICovDQojZGVmaW5lIFJTVENUTF9TT0ZUUkVTRVRfQ0xSX1NSQzhfT0ZTICAgICAgICAgICAgKCA4KSAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKio8IFNSQzggQml0IE9mZnNldCAqLw0KI2RlZmluZSBSU1RDVExfU09GVFJFU0VUX0NMUl9TUkM4ICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMDEwMCkgICAgICAgICAgLyoqPCBXcml0ZSAxIGNsZWFycyB0aGUgY29ycmVzcG9uZGluZyBiaXQgaW4gdGhlIFJTVENUTF9TT0ZUUkVTRVRfU1RBVCAqLw0KLyogUlNUQ1RMX1NPRlRSRVNFVF9DTFJbU1JDOV0gQml0cyAqLw0KI2RlZmluZSBSU1RDVExfU09GVFJFU0VUX0NMUl9TUkM5X09GUyAgICAgICAgICAgICggOSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyoqPCBTUkM5IEJpdCBPZmZzZXQgKi8NCiNkZWZpbmUgUlNUQ1RMX1NPRlRSRVNFVF9DTFJfU1JDOSAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDAyMDApICAgICAgICAgIC8qKjwgV3JpdGUgMSBjbGVhcnMgdGhlIGNvcnJlc3BvbmRpbmcgYml0IGluIHRoZSBSU1RDVExfU09GVFJFU0VUX1NUQVQgKi8NCi8qIFJTVENUTF9TT0ZUUkVTRVRfQ0xSW1NSQzEwXSBCaXRzICovDQojZGVmaW5lIFJTVENUTF9TT0ZUUkVTRVRfQ0xSX1NSQzEwX09GUyAgICAgICAgICAgKDEwKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKio8IFNSQzEwIEJpdCBPZmZzZXQgKi8NCiNkZWZpbmUgUlNUQ1RMX1NPRlRSRVNFVF9DTFJfU1JDMTAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDA0MDApICAgICAgICAgIC8qKjwgV3JpdGUgMSBjbGVhcnMgdGhlIGNvcnJlc3BvbmRpbmcgYml0IGluIHRoZSBSU1RDVExfU09GVFJFU0VUX1NUQVQgKi8NCi8qIFJTVENUTF9TT0ZUUkVTRVRfQ0xSW1NSQzExXSBCaXRzICovDQojZGVmaW5lIFJTVENUTF9TT0ZUUkVTRVRfQ0xSX1NSQzExX09GUyAgICAgICAgICAgKDExKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKio8IFNSQzExIEJpdCBPZmZzZXQgKi8NCiNkZWZpbmUgUlNUQ1RMX1NPRlRSRVNFVF9DTFJfU1JDMTEgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDA4MDApICAgICAgICAgIC8qKjwgV3JpdGUgMSBjbGVhcnMgdGhlIGNvcnJlc3BvbmRpbmcgYml0IGluIHRoZSBSU1RDVExfU09GVFJFU0VUX1NUQVQgKi8NCi8qIFJTVENUTF9TT0ZUUkVTRVRfQ0xSW1NSQzEyXSBCaXRzICovDQojZGVmaW5lIFJTVENUTF9TT0ZUUkVTRVRfQ0xSX1NSQzEyX09GUyAgICAgICAgICAgKDEyKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKio8IFNSQzEyIEJpdCBPZmZzZXQgKi8NCiNkZWZpbmUgUlNUQ1RMX1NPRlRSRVNFVF9DTFJfU1JDMTIgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDEwMDApICAgICAgICAgIC8qKjwgV3JpdGUgMSBjbGVhcnMgdGhlIGNvcnJlc3BvbmRpbmcgYml0IGluIHRoZSBSU1RDVExfU09GVFJFU0VUX1NUQVQgKi8NCi8qIFJTVENUTF9TT0ZUUkVTRVRfQ0xSW1NSQzEzXSBCaXRzICovDQojZGVmaW5lIFJTVENUTF9TT0ZUUkVTRVRfQ0xSX1NSQzEzX09GUyAgICAgICAgICAgKDEzKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKio8IFNSQzEzIEJpdCBPZmZzZXQgKi8NCiNkZWZpbmUgUlNUQ1RMX1NPRlRSRVNFVF9DTFJfU1JDMTMgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDIwMDApICAgICAgICAgIC8qKjwgV3JpdGUgMSBjbGVhcnMgdGhlIGNvcnJlc3BvbmRpbmcgYml0IGluIHRoZSBSU1RDVExfU09GVFJFU0VUX1NUQVQgKi8NCi8qIFJTVENUTF9TT0ZUUkVTRVRfQ0xSW1NSQzE0XSBCaXRzICovDQojZGVmaW5lIFJTVENUTF9TT0ZUUkVTRVRfQ0xSX1NSQzE0X09GUyAgICAgICAgICAgKDE0KSAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKio8IFNSQzE0IEJpdCBPZmZzZXQgKi8NCiNkZWZpbmUgUlNUQ1RMX1NPRlRSRVNFVF9DTFJfU1JDMTQgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDQwMDApICAgICAgICAgIC8qKjwgV3JpdGUgMSBjbGVhcnMgdGhlIGNvcnJlc3BvbmRpbmcgYml0IGluIHRoZSBSU1RDVExfU09GVFJFU0VUX1NUQVQgKi8NCi8qIFJTVENUTF9TT0ZUUkVTRVRfQ0xSW1NSQzE1XSBCaXRzICovDQojZGVmaW5lIFJTVENUTF9TT0ZUUkVTRVRfQ0xSX1NSQzE1X09GUyAgICAgICAgICAgKDE1KSAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKio8IFNSQzE1IEJpdCBPZmZzZXQgKi8NCiNkZWZpbmUgUlNUQ1RMX1NPRlRSRVNFVF9DTFJfU1JDMTUgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDgwMDApICAgICAgICAgIC8qKjwgV3JpdGUgMSBjbGVhcnMgdGhlIGNvcnJlc3BvbmRpbmcgYml0IGluIHRoZSBSU1RDVExfU09GVFJFU0VUX1NUQVQgKi8NCi8qIFJTVENUTF9TT0ZUUkVTRVRfU0VUW1NSQzBdIEJpdHMgKi8NCiNkZWZpbmUgUlNUQ1RMX1NPRlRSRVNFVF9TRVRfU1JDMF9PRlMgICAgICAgICAgICAoIDApICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgU1JDMCBCaXQgT2Zmc2V0ICovDQojZGVmaW5lIFJTVENUTF9TT0ZUUkVTRVRfU0VUX1NSQzAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwMDAxKSAgICAgICAgICAvKio8IFdyaXRlIDEgc2V0cyB0aGUgY29ycmVzcG9uZGluZyBiaXQgaW4gdGhlIFJTVENUTF9TT0ZUUkVTRVRfU1RBVCAoYW5kIGluaXRpYXRlcyAqLw0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyogYSBTb2Z0IFJlc2V0KSAqLw0KLyogUlNUQ1RMX1NPRlRSRVNFVF9TRVRbU1JDMV0gQml0cyAqLw0KI2RlZmluZSBSU1RDVExfU09GVFJFU0VUX1NFVF9TUkMxX09GUyAgICAgICAgICAgICggMSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyoqPCBTUkMxIEJpdCBPZmZzZXQgKi8NCiNkZWZpbmUgUlNUQ1RMX1NPRlRSRVNFVF9TRVRfU1JDMSAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDAwMDIpICAgICAgICAgIC8qKjwgV3JpdGUgMSBzZXRzIHRoZSBjb3JyZXNwb25kaW5nIGJpdCBpbiB0aGUgUlNUQ1RMX1NPRlRSRVNFVF9TVEFUIChhbmQgaW5pdGlhdGVzICovDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiBhIFNvZnQgUmVzZXQpICovDQovKiBSU1RDVExfU09GVFJFU0VUX1NFVFtTUkMyXSBCaXRzICovDQojZGVmaW5lIFJTVENUTF9TT0ZUUkVTRVRfU0VUX1NSQzJfT0ZTICAgICAgICAgICAgKCAyKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKio8IFNSQzIgQml0IE9mZnNldCAqLw0KI2RlZmluZSBSU1RDVExfU09GVFJFU0VUX1NFVF9TUkMyICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMDAwNCkgICAgICAgICAgLyoqPCBXcml0ZSAxIHNldHMgdGhlIGNvcnJlc3BvbmRpbmcgYml0IGluIHRoZSBSU1RDVExfU09GVFJFU0VUX1NUQVQgKGFuZCBpbml0aWF0ZXMgKi8NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qIGEgU29mdCBSZXNldCkgKi8NCi8qIFJTVENUTF9TT0ZUUkVTRVRfU0VUW1NSQzNdIEJpdHMgKi8NCiNkZWZpbmUgUlNUQ1RMX1NPRlRSRVNFVF9TRVRfU1JDM19PRlMgICAgICAgICAgICAoIDMpICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgU1JDMyBCaXQgT2Zmc2V0ICovDQojZGVmaW5lIFJTVENUTF9TT0ZUUkVTRVRfU0VUX1NSQzMgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwMDA4KSAgICAgICAgICAvKio8IFdyaXRlIDEgc2V0cyB0aGUgY29ycmVzcG9uZGluZyBiaXQgaW4gdGhlIFJTVENUTF9TT0ZUUkVTRVRfU1RBVCAoYW5kIGluaXRpYXRlcyAqLw0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyogYSBTb2Z0IFJlc2V0KSAqLw0KLyogUlNUQ1RMX1NPRlRSRVNFVF9TRVRbU1JDNF0gQml0cyAqLw0KI2RlZmluZSBSU1RDVExfU09GVFJFU0VUX1NFVF9TUkM0X09GUyAgICAgICAgICAgICggNCkgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyoqPCBTUkM0IEJpdCBPZmZzZXQgKi8NCiNkZWZpbmUgUlNUQ1RMX1NPRlRSRVNFVF9TRVRfU1JDNCAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDAwMTApICAgICAgICAgIC8qKjwgV3JpdGUgMSBzZXRzIHRoZSBjb3JyZXNwb25kaW5nIGJpdCBpbiB0aGUgUlNUQ1RMX1NPRlRSRVNFVF9TVEFUIChhbmQgaW5pdGlhdGVzICovDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiBhIFNvZnQgUmVzZXQpICovDQovKiBSU1RDVExfU09GVFJFU0VUX1NFVFtTUkM1XSBCaXRzICovDQojZGVmaW5lIFJTVENUTF9TT0ZUUkVTRVRfU0VUX1NSQzVfT0ZTICAgICAgICAgICAgKCA1KSAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKio8IFNSQzUgQml0IE9mZnNldCAqLw0KI2RlZmluZSBSU1RDVExfU09GVFJFU0VUX1NFVF9TUkM1ICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMDAyMCkgICAgICAgICAgLyoqPCBXcml0ZSAxIHNldHMgdGhlIGNvcnJlc3BvbmRpbmcgYml0IGluIHRoZSBSU1RDVExfU09GVFJFU0VUX1NUQVQgKGFuZCBpbml0aWF0ZXMgKi8NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qIGEgU29mdCBSZXNldCkgKi8NCi8qIFJTVENUTF9TT0ZUUkVTRVRfU0VUW1NSQzZdIEJpdHMgKi8NCiNkZWZpbmUgUlNUQ1RMX1NPRlRSRVNFVF9TRVRfU1JDNl9PRlMgICAgICAgICAgICAoIDYpICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgU1JDNiBCaXQgT2Zmc2V0ICovDQojZGVmaW5lIFJTVENUTF9TT0ZUUkVTRVRfU0VUX1NSQzYgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwMDQwKSAgICAgICAgICAvKio8IFdyaXRlIDEgc2V0cyB0aGUgY29ycmVzcG9uZGluZyBiaXQgaW4gdGhlIFJTVENUTF9TT0ZUUkVTRVRfU1RBVCAoYW5kIGluaXRpYXRlcyAqLw0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyogYSBTb2Z0IFJlc2V0KSAqLw0KLyogUlNUQ1RMX1NPRlRSRVNFVF9TRVRbU1JDN10gQml0cyAqLw0KI2RlZmluZSBSU1RDVExfU09GVFJFU0VUX1NFVF9TUkM3X09GUyAgICAgICAgICAgICggNykgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyoqPCBTUkM3IEJpdCBPZmZzZXQgKi8NCiNkZWZpbmUgUlNUQ1RMX1NPRlRSRVNFVF9TRVRfU1JDNyAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDAwODApICAgICAgICAgIC8qKjwgV3JpdGUgMSBzZXRzIHRoZSBjb3JyZXNwb25kaW5nIGJpdCBpbiB0aGUgUlNUQ1RMX1NPRlRSRVNFVF9TVEFUIChhbmQgaW5pdGlhdGVzICovDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiBhIFNvZnQgUmVzZXQpICovDQovKiBSU1RDVExfU09GVFJFU0VUX1NFVFtTUkM4XSBCaXRzICovDQojZGVmaW5lIFJTVENUTF9TT0ZUUkVTRVRfU0VUX1NSQzhfT0ZTICAgICAgICAgICAgKCA4KSAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKio8IFNSQzggQml0IE9mZnNldCAqLw0KI2RlZmluZSBSU1RDVExfU09GVFJFU0VUX1NFVF9TUkM4ICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMDEwMCkgICAgICAgICAgLyoqPCBXcml0ZSAxIHNldHMgdGhlIGNvcnJlc3BvbmRpbmcgYml0IGluIHRoZSBSU1RDVExfU09GVFJFU0VUX1NUQVQgKGFuZCBpbml0aWF0ZXMgKi8NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qIGEgU29mdCBSZXNldCkgKi8NCi8qIFJTVENUTF9TT0ZUUkVTRVRfU0VUW1NSQzldIEJpdHMgKi8NCiNkZWZpbmUgUlNUQ1RMX1NPRlRSRVNFVF9TRVRfU1JDOV9PRlMgICAgICAgICAgICAoIDkpICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgU1JDOSBCaXQgT2Zmc2V0ICovDQojZGVmaW5lIFJTVENUTF9TT0ZUUkVTRVRfU0VUX1NSQzkgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwMjAwKSAgICAgICAgICAvKio8IFdyaXRlIDEgc2V0cyB0aGUgY29ycmVzcG9uZGluZyBiaXQgaW4gdGhlIFJTVENUTF9TT0ZUUkVTRVRfU1RBVCAoYW5kIGluaXRpYXRlcyAqLw0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyogYSBTb2Z0IFJlc2V0KSAqLw0KLyogUlNUQ1RMX1NPRlRSRVNFVF9TRVRbU1JDMTBdIEJpdHMgKi8NCiNkZWZpbmUgUlNUQ1RMX1NPRlRSRVNFVF9TRVRfU1JDMTBfT0ZTICAgICAgICAgICAoMTApICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgU1JDMTAgQml0IE9mZnNldCAqLw0KI2RlZmluZSBSU1RDVExfU09GVFJFU0VUX1NFVF9TUkMxMCAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMDQwMCkgICAgICAgICAgLyoqPCBXcml0ZSAxIHNldHMgdGhlIGNvcnJlc3BvbmRpbmcgYml0IGluIHRoZSBSU1RDVExfU09GVFJFU0VUX1NUQVQgKGFuZCBpbml0aWF0ZXMgKi8NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qIGEgU29mdCBSZXNldCkgKi8NCi8qIFJTVENUTF9TT0ZUUkVTRVRfU0VUW1NSQzExXSBCaXRzICovDQojZGVmaW5lIFJTVENUTF9TT0ZUUkVTRVRfU0VUX1NSQzExX09GUyAgICAgICAgICAgKDExKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKio8IFNSQzExIEJpdCBPZmZzZXQgKi8NCiNkZWZpbmUgUlNUQ1RMX1NPRlRSRVNFVF9TRVRfU1JDMTEgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDA4MDApICAgICAgICAgIC8qKjwgV3JpdGUgMSBzZXRzIHRoZSBjb3JyZXNwb25kaW5nIGJpdCBpbiB0aGUgUlNUQ1RMX1NPRlRSRVNFVF9TVEFUIChhbmQgaW5pdGlhdGVzICovDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiBhIFNvZnQgUmVzZXQpICovDQovKiBSU1RDVExfU09GVFJFU0VUX1NFVFtTUkMxMl0gQml0cyAqLw0KI2RlZmluZSBSU1RDVExfU09GVFJFU0VUX1NFVF9TUkMxMl9PRlMgICAgICAgICAgICgxMikgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyoqPCBTUkMxMiBCaXQgT2Zmc2V0ICovDQojZGVmaW5lIFJTVENUTF9TT0ZUUkVTRVRfU0VUX1NSQzEyICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAxMDAwKSAgICAgICAgICAvKio8IFdyaXRlIDEgc2V0cyB0aGUgY29ycmVzcG9uZGluZyBiaXQgaW4gdGhlIFJTVENUTF9TT0ZUUkVTRVRfU1RBVCAoYW5kIGluaXRpYXRlcyAqLw0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyogYSBTb2Z0IFJlc2V0KSAqLw0KLyogUlNUQ1RMX1NPRlRSRVNFVF9TRVRbU1JDMTNdIEJpdHMgKi8NCiNkZWZpbmUgUlNUQ1RMX1NPRlRSRVNFVF9TRVRfU1JDMTNfT0ZTICAgICAgICAgICAoMTMpICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgU1JDMTMgQml0IE9mZnNldCAqLw0KI2RlZmluZSBSU1RDVExfU09GVFJFU0VUX1NFVF9TUkMxMyAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMjAwMCkgICAgICAgICAgLyoqPCBXcml0ZSAxIHNldHMgdGhlIGNvcnJlc3BvbmRpbmcgYml0IGluIHRoZSBSU1RDVExfU09GVFJFU0VUX1NUQVQgKGFuZCBpbml0aWF0ZXMgKi8NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qIGEgU29mdCBSZXNldCkgKi8NCi8qIFJTVENUTF9TT0ZUUkVTRVRfU0VUW1NSQzE0XSBCaXRzICovDQojZGVmaW5lIFJTVENUTF9TT0ZUUkVTRVRfU0VUX1NSQzE0X09GUyAgICAgICAgICAgKDE0KSAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKio8IFNSQzE0IEJpdCBPZmZzZXQgKi8NCiNkZWZpbmUgUlNUQ1RMX1NPRlRSRVNFVF9TRVRfU1JDMTQgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDQwMDApICAgICAgICAgIC8qKjwgV3JpdGUgMSBzZXRzIHRoZSBjb3JyZXNwb25kaW5nIGJpdCBpbiB0aGUgUlNUQ1RMX1NPRlRSRVNFVF9TVEFUIChhbmQgaW5pdGlhdGVzICovDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiBhIFNvZnQgUmVzZXQpICovDQovKiBSU1RDVExfU09GVFJFU0VUX1NFVFtTUkMxNV0gQml0cyAqLw0KI2RlZmluZSBSU1RDVExfU09GVFJFU0VUX1NFVF9TUkMxNV9PRlMgICAgICAgICAgICgxNSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyoqPCBTUkMxNSBCaXQgT2Zmc2V0ICovDQojZGVmaW5lIFJTVENUTF9TT0ZUUkVTRVRfU0VUX1NSQzE1ICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDA4MDAwKSAgICAgICAgICAvKio8IFdyaXRlIDEgc2V0cyB0aGUgY29ycmVzcG9uZGluZyBiaXQgaW4gdGhlIFJTVENUTF9TT0ZUUkVTRVRfU1RBVCAoYW5kIGluaXRpYXRlcyAqLw0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyogYSBTb2Z0IFJlc2V0KSAqLw0KLyogUlNUQ1RMX1BTU1JFU0VUX1NUQVRbU1ZTTUhdIEJpdHMgKi8NCiNkZWZpbmUgUlNUQ1RMX1BTU1JFU0VUX1NUQVRfU1ZTTUhfT0ZTICAgICAgICAgICAoIDEpICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgU1ZTTUggQml0IE9mZnNldCAqLw0KI2RlZmluZSBSU1RDVExfUFNTUkVTRVRfU1RBVF9TVlNNSCAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMDAwMikgICAgICAgICAgLyoqPCBJbmRpY2F0ZXMgaWYgUE9SIHdhcyBjYXVzZWQgYnkgYW4gU1ZTTUggdHJpcCBjb25kaXRpb24gaW50IHRoZSBQU1MgKi8NCi8qIFJTVENUTF9QU1NSRVNFVF9TVEFUW0JHUkVGXSBCaXRzICovDQojZGVmaW5lIFJTVENUTF9QU1NSRVNFVF9TVEFUX0JHUkVGX09GUyAgICAgICAgICAgKCAyKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKio8IEJHUkVGIEJpdCBPZmZzZXQgKi8NCiNkZWZpbmUgUlNUQ1RMX1BTU1JFU0VUX1NUQVRfQkdSRUYgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDAwMDQpICAgICAgICAgIC8qKjwgSW5kaWNhdGVzIGlmIFBPUiB3YXMgY2F1c2VkIGJ5IGEgQkdSRUYgbm90IG9rYXkgY29uZGl0aW9uIGluIHRoZSBQU1MgKi8NCi8qIFJTVENUTF9QU1NSRVNFVF9TVEFUW1ZDQ0RFVF0gQml0cyAqLw0KI2RlZmluZSBSU1RDVExfUFNTUkVTRVRfU1RBVF9WQ0NERVRfT0ZTICAgICAgICAgICggMykgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyoqPCBWQ0NERVQgQml0IE9mZnNldCAqLw0KI2RlZmluZSBSU1RDVExfUFNTUkVTRVRfU1RBVF9WQ0NERVQgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMDAwOCkgICAgICAgICAgLyoqPCBJbmRpY2F0ZXMgaWYgUE9SIHdhcyBjYXVzZWQgYnkgYSBWQ0NERVQgdHJpcCBjb25kaXRpb24gaW4gdGhlIFBTUyAqLw0KLyogUlNUQ1RMX1BTU1JFU0VUX1NUQVRbU1ZTTF0gQml0cyAqLw0KI2RlZmluZSBSU1RDVExfUFNTUkVTRVRfU1RBVF9TVlNMX09GUyAgICAgICAgICAgICggMCkgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyoqPCBTVlNMIEJpdCBPZmZzZXQgKi8NCiNkZWZpbmUgUlNUQ1RMX1BTU1JFU0VUX1NUQVRfU1ZTTCAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDAwMDEpICAgICAgICAgIC8qKjwgSW5kaWNhdGVzIGlmIFBPUiB3YXMgY2F1c2VkIGJ5IGFuIFNWU0wgdHJpcCBjb25kaXRpb24gaW4gdGhlIFBTUyAqLw0KLyogUlNUQ1RMX1BTU1JFU0VUX0NMUltDTFJdIEJpdHMgKi8NCiNkZWZpbmUgUlNUQ1RMX1BTU1JFU0VUX0NMUl9DTFJfT0ZTICAgICAgICAgICAgICAoIDApICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgQ0xSIEJpdCBPZmZzZXQgKi8NCiNkZWZpbmUgUlNUQ1RMX1BTU1JFU0VUX0NMUl9DTFIgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDAwMDEpICAgICAgICAgIC8qKjwgV3JpdGUgMSBjbGVhcnMgYWxsIFBTUyBSZXNldCBGbGFncyBpbiB0aGUgUlNUQ1RMX1BTU1JFU0VUX1NUQVQgKi8NCi8qIFJTVENUTF9QQ01SRVNFVF9TVEFUW0xQTTM1XSBCaXRzICovDQojZGVmaW5lIFJTVENUTF9QQ01SRVNFVF9TVEFUX0xQTTM1X09GUyAgICAgICAgICAgKCAwKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKio8IExQTTM1IEJpdCBPZmZzZXQgKi8NCiNkZWZpbmUgUlNUQ1RMX1BDTVJFU0VUX1NUQVRfTFBNMzUgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDAwMDEpICAgICAgICAgIC8qKjwgSW5kaWNhdGVzIGlmIFBPUiB3YXMgY2F1c2VkIGJ5IFBDTSBkdWUgdG8gYW4gZXhpdCBmcm9tIExQTTMuNSAqLw0KLyogUlNUQ1RMX1BDTVJFU0VUX1NUQVRbTFBNNDVdIEJpdHMgKi8NCiNkZWZpbmUgUlNUQ1RMX1BDTVJFU0VUX1NUQVRfTFBNNDVfT0ZTICAgICAgICAgICAoIDEpICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgTFBNNDUgQml0IE9mZnNldCAqLw0KI2RlZmluZSBSU1RDVExfUENNUkVTRVRfU1RBVF9MUE00NSAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMDAwMikgICAgICAgICAgLyoqPCBJbmRpY2F0ZXMgaWYgUE9SIHdhcyBjYXVzZWQgYnkgUENNIGR1ZSB0byBhbiBleGl0IGZyb20gTFBNNC41ICovDQovKiBSU1RDVExfUENNUkVTRVRfQ0xSW0NMUl0gQml0cyAqLw0KI2RlZmluZSBSU1RDVExfUENNUkVTRVRfQ0xSX0NMUl9PRlMgICAgICAgICAgICAgICggMCkgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyoqPCBDTFIgQml0IE9mZnNldCAqLw0KI2RlZmluZSBSU1RDVExfUENNUkVTRVRfQ0xSX0NMUiAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMDAwMSkgICAgICAgICAgLyoqPCBXcml0ZSAxIGNsZWFycyBhbGwgUENNIFJlc2V0IEZsYWdzIGluIHRoZSBSU1RDVExfUENNUkVTRVRfU1RBVCAqLw0KLyogUlNUQ1RMX1BJTlJFU0VUX1NUQVRbUlNUTk1JXSBCaXRzICovDQojZGVmaW5lIFJTVENUTF9QSU5SRVNFVF9TVEFUX1JTVE5NSV9PRlMgICAgICAgICAgKCAwKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKio8IFJTVE5NSSBCaXQgT2Zmc2V0ICovDQojZGVmaW5lIFJTVENUTF9QSU5SRVNFVF9TVEFUX1JTVE5NSSAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwMDAxKSAgICAgICAgICAvKio8IFBPUiB3YXMgY2F1c2VkIGJ5IFJTVG4vTk1JIHBpbiBiYXNlZCByZXNldCBldmVudCAqLw0KLyogUlNUQ1RMX1BJTlJFU0VUX0NMUltDTFJdIEJpdHMgKi8NCiNkZWZpbmUgUlNUQ1RMX1BJTlJFU0VUX0NMUl9DTFJfT0ZTICAgICAgICAgICAgICAoIDApICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgQ0xSIEJpdCBPZmZzZXQgKi8NCiNkZWZpbmUgUlNUQ1RMX1BJTlJFU0VUX0NMUl9DTFIgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDAwMDEpICAgICAgICAgIC8qKjwgV3JpdGUgMSBjbGVhcnMgdGhlIFJTVG4vTk1JIFBpbiBSZXNldCBGbGFnIGluIFJTVENUTF9QSU5SRVNFVF9TVEFUICovDQovKiBSU1RDVExfUkVCT09UUkVTRVRfU1RBVFtSRUJPT1RdIEJpdHMgKi8NCiNkZWZpbmUgUlNUQ1RMX1JFQk9PVFJFU0VUX1NUQVRfUkVCT09UX09GUyAgICAgICAoIDApICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgUkVCT09UIEJpdCBPZmZzZXQgKi8NCiNkZWZpbmUgUlNUQ1RMX1JFQk9PVFJFU0VUX1NUQVRfUkVCT09UICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDAwMDEpICAgICAgICAgIC8qKjwgSW5kaWNhdGVzIGlmIFJlYm9vdCByZXNldCB3YXMgY2F1c2VkIGJ5IHRoZSBTWVNDVEwgbW9kdWxlLiAqLw0KLyogUlNUQ1RMX1JFQk9PVFJFU0VUX0NMUltDTFJdIEJpdHMgKi8NCiNkZWZpbmUgUlNUQ1RMX1JFQk9PVFJFU0VUX0NMUl9DTFJfT0ZTICAgICAgICAgICAoIDApICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgQ0xSIEJpdCBPZmZzZXQgKi8NCiNkZWZpbmUgUlNUQ1RMX1JFQk9PVFJFU0VUX0NMUl9DTFIgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDAwMDEpICAgICAgICAgIC8qKjwgV3JpdGUgMSBjbGVhcnMgdGhlIFJlYm9vdCBSZXNldCBGbGFnIGluIFJTVENUTF9SRUJPT1RSRVNFVF9TVEFUICovDQovKiBSU1RDVExfQ1NSRVNFVF9TVEFUW0RDT1JfU0hUXSBCaXRzICovDQojZGVmaW5lIFJTVENUTF9DU1JFU0VUX1NUQVRfRENPUl9TSFRfT0ZTICAgICAgICAgKCAwKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKio8IERDT1JfU0hUIEJpdCBPZmZzZXQgKi8NCiNkZWZpbmUgUlNUQ1RMX0NTUkVTRVRfU1RBVF9EQ09SX1NIVCAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDAwMDEpICAgICAgICAgIC8qKjwgSW5kaWNhdGVzIGlmIFBPUiB3YXMgY2F1c2VkIGJ5IERDTyBzaG9ydCBjaXJjdWl0IGZhdWx0IGluIHRoZSBleHRlcm5hbCAgKi8NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qIHJlc2lzdG9yIG1vZGUgKi8NCi8qIFJTVENUTF9DU1JFU0VUX0NMUltDTFJdIEJpdHMgKi8NCiNkZWZpbmUgUlNUQ1RMX0NTUkVTRVRfQ0xSX0NMUl9PRlMgICAgICAgICAgICAgICAoIDApICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgQ0xSIEJpdCBPZmZzZXQgKi8NCiNkZWZpbmUgUlNUQ1RMX0NTUkVTRVRfQ0xSX0NMUiAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDAwMDEpICAgICAgICAgIC8qKjwgV3JpdGUgMSBjbGVhcnMgdGhlIERDT1JfU0hUIEZsYWcgaW4gUlNUQ1RMX0NTUkVTRVRfU1RBVCBhcyB3ZWxsIGFzIERDT1JfU0hUSUZHICovDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiBmbGFnIGluIENTSUZHIHJlZ2lzdGVyIG9mIGNsb2NrIHN5c3RlbSAqLw0KDQovKiBQcmUtZGVmaW5lZCBiaXRmaWVsZCB2YWx1ZXMgKi8NCiNkZWZpbmUgUlNUQ1RMX1JFU0VUUkVRX1JTVEtFWV9WQUwgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwNjkwMCkgICAgICAgICAgLyogS2V5IHZhbHVlIHRvIGVuYWJsZSB3cml0ZXMgdG8gYml0cyAxLTAgKi8NCg0KDQovKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqDQoqIFJUQ19DIEJpdHMNCioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8NCi8qIFJUQ19DX0NUTDBbUkRZSUZHXSBCaXRzICovDQojZGVmaW5lIFJUQ19DX0NUTDBfUkRZSUZHX09GUyAgICAgICAgICAgICAgICAgICAgKCAwKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKio8IFJUQ1JEWUlGRyBCaXQgT2Zmc2V0ICovDQojZGVmaW5lIFJUQ19DX0NUTDBfUkRZSUZHICAgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MTZfdCkweDAwMDEpICAgICAgICAgICAgICAvKio8IFJlYWwtdGltZSBjbG9jayByZWFkeSBpbnRlcnJ1cHQgZmxhZyAqLw0KLyogUlRDX0NfQ1RMMFtBSUZHXSBCaXRzICovDQojZGVmaW5lIFJUQ19DX0NUTDBfQUlGR19PRlMgICAgICAgICAgICAgICAgICAgICAgKCAxKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKio8IFJUQ0FJRkcgQml0IE9mZnNldCAqLw0KI2RlZmluZSBSVENfQ19DVEwwX0FJRkcgICAgICAgICAgICAgICAgICAgICAgICAgICgodWludDE2X3QpMHgwMDAyKSAgICAgICAgICAgICAgLyoqPCBSZWFsLXRpbWUgY2xvY2sgYWxhcm0gaW50ZXJydXB0IGZsYWcgKi8NCi8qIFJUQ19DX0NUTDBbVEVWSUZHXSBCaXRzICovDQojZGVmaW5lIFJUQ19DX0NUTDBfVEVWSUZHX09GUyAgICAgICAgICAgICAgICAgICAgKCAyKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKio8IFJUQ1RFVklGRyBCaXQgT2Zmc2V0ICovDQojZGVmaW5lIFJUQ19DX0NUTDBfVEVWSUZHICAgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MTZfdCkweDAwMDQpICAgICAgICAgICAgICAvKio8IFJlYWwtdGltZSBjbG9jayB0aW1lIGV2ZW50IGludGVycnVwdCBmbGFnICovDQovKiBSVENfQ19DVEwwW09GSUZHXSBCaXRzICovDQojZGVmaW5lIFJUQ19DX0NUTDBfT0ZJRkdfT0ZTICAgICAgICAgICAgICAgICAgICAgKCAzKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKio8IFJUQ09GSUZHIEJpdCBPZmZzZXQgKi8NCiNkZWZpbmUgUlRDX0NfQ1RMMF9PRklGRyAgICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQxNl90KTB4MDAwOCkgICAgICAgICAgICAgIC8qKjwgMzIta0h6IGNyeXN0YWwgb3NjaWxsYXRvciBmYXVsdCBpbnRlcnJ1cHQgZmxhZyAqLw0KLyogUlRDX0NfQ1RMMFtSRFlJRV0gQml0cyAqLw0KI2RlZmluZSBSVENfQ19DVEwwX1JEWUlFX09GUyAgICAgICAgICAgICAgICAgICAgICggNCkgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyoqPCBSVENSRFlJRSBCaXQgT2Zmc2V0ICovDQojZGVmaW5lIFJUQ19DX0NUTDBfUkRZSUUgICAgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MTZfdCkweDAwMTApICAgICAgICAgICAgICAvKio8IFJlYWwtdGltZSBjbG9jayByZWFkeSBpbnRlcnJ1cHQgZW5hYmxlICovDQovKiBSVENfQ19DVEwwW0FJRV0gQml0cyAqLw0KI2RlZmluZSBSVENfQ19DVEwwX0FJRV9PRlMgICAgICAgICAgICAgICAgICAgICAgICggNSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyoqPCBSVENBSUUgQml0IE9mZnNldCAqLw0KI2RlZmluZSBSVENfQ19DVEwwX0FJRSAgICAgICAgICAgICAgICAgICAgICAgICAgICgodWludDE2X3QpMHgwMDIwKSAgICAgICAgICAgICAgLyoqPCBSZWFsLXRpbWUgY2xvY2sgYWxhcm0gaW50ZXJydXB0IGVuYWJsZSAqLw0KLyogUlRDX0NfQ1RMMFtURVZJRV0gQml0cyAqLw0KI2RlZmluZSBSVENfQ19DVEwwX1RFVklFX09GUyAgICAgICAgICAgICAgICAgICAgICggNikgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyoqPCBSVENURVZJRSBCaXQgT2Zmc2V0ICovDQojZGVmaW5lIFJUQ19DX0NUTDBfVEVWSUUgICAgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MTZfdCkweDAwNDApICAgICAgICAgICAgICAvKio8IFJlYWwtdGltZSBjbG9jayB0aW1lIGV2ZW50IGludGVycnVwdCBlbmFibGUgKi8NCi8qIFJUQ19DX0NUTDBbT0ZJRV0gQml0cyAqLw0KI2RlZmluZSBSVENfQ19DVEwwX09GSUVfT0ZTICAgICAgICAgICAgICAgICAgICAgICggNykgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyoqPCBSVENPRklFIEJpdCBPZmZzZXQgKi8NCiNkZWZpbmUgUlRDX0NfQ1RMMF9PRklFICAgICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQxNl90KTB4MDA4MCkgICAgICAgICAgICAgIC8qKjwgMzIta0h6IGNyeXN0YWwgb3NjaWxsYXRvciBmYXVsdCBpbnRlcnJ1cHQgZW5hYmxlICovDQovKiBSVENfQ19DVEwwW0tFWV0gQml0cyAqLw0KI2RlZmluZSBSVENfQ19DVEwwX0tFWV9PRlMgICAgICAgICAgICAgICAgICAgICAgICggOCkgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyoqPCBSVENLRVkgQml0IE9mZnNldCAqLw0KI2RlZmluZSBSVENfQ19DVEwwX0tFWV9NQVNLICAgICAgICAgICAgICAgICAgICAgICgodWludDE2X3QpMHhGRjAwKSAgICAgICAgICAgICAgLyoqPCBSVENLRVkgQml0IE1hc2sgKi8NCi8qIFJUQ19DX0NUTDEzW1RFVl0gQml0cyAqLw0KI2RlZmluZSBSVENfQ19DVEwxM19URVZfT0ZTICAgICAgICAgICAgICAgICAgICAgICggMCkgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyoqPCBSVENURVYgQml0IE9mZnNldCAqLw0KI2RlZmluZSBSVENfQ19DVEwxM19URVZfTUFTSyAgICAgICAgICAgICAgICAgICAgICgodWludDE2X3QpMHgwMDAzKSAgICAgICAgICAgICAgLyoqPCBSVENURVYgQml0IE1hc2sgKi8NCiNkZWZpbmUgUlRDX0NfQ1RMMTNfVEVWMCAgICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQxNl90KTB4MDAwMSkgICAgICAgICAgICAgIC8qKjwgVEVWIEJpdCAwICovDQojZGVmaW5lIFJUQ19DX0NUTDEzX1RFVjEgICAgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MTZfdCkweDAwMDIpICAgICAgICAgICAgICAvKio8IFRFViBCaXQgMSAqLw0KI2RlZmluZSBSVENfQ19DVEwxM19URVZfMCAgICAgICAgICAgICAgICAgICAgICAgICgodWludDE2X3QpMHgwMDAwKSAgICAgICAgICAgICAgLyoqPCBNaW51dGUgY2hhbmdlZCAqLw0KI2RlZmluZSBSVENfQ19DVEwxM19URVZfMSAgICAgICAgICAgICAgICAgICAgICAgICgodWludDE2X3QpMHgwMDAxKSAgICAgICAgICAgICAgLyoqPCBIb3VyIGNoYW5nZWQgKi8NCiNkZWZpbmUgUlRDX0NfQ1RMMTNfVEVWXzIgICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQxNl90KTB4MDAwMikgICAgICAgICAgICAgIC8qKjwgRXZlcnkgZGF5IGF0IG1pZG5pZ2h0ICgwMDowMCkgKi8NCiNkZWZpbmUgUlRDX0NfQ1RMMTNfVEVWXzMgICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQxNl90KTB4MDAwMykgICAgICAgICAgICAgIC8qKjwgRXZlcnkgZGF5IGF0IG5vb24gKDEyOjAwKSAqLw0KLyogUlRDX0NfQ1RMMTNbU1NFTF0gQml0cyAqLw0KI2RlZmluZSBSVENfQ19DVEwxM19TU0VMX09GUyAgICAgICAgICAgICAgICAgICAgICggMikgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyoqPCBSVENTU0VMIEJpdCBPZmZzZXQgKi8NCiNkZWZpbmUgUlRDX0NfQ1RMMTNfU1NFTF9NQVNLICAgICAgICAgICAgICAgICAgICAoKHVpbnQxNl90KTB4MDAwQykgICAgICAgICAgICAgIC8qKjwgUlRDU1NFTCBCaXQgTWFzayAqLw0KI2RlZmluZSBSVENfQ19DVEwxM19TU0VMMCAgICAgICAgICAgICAgICAgICAgICAgICgodWludDE2X3QpMHgwMDA0KSAgICAgICAgICAgICAgLyoqPCBTU0VMIEJpdCAwICovDQojZGVmaW5lIFJUQ19DX0NUTDEzX1NTRUwxICAgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MTZfdCkweDAwMDgpICAgICAgICAgICAgICAvKio8IFNTRUwgQml0IDEgKi8NCiNkZWZpbmUgUlRDX0NfQ1RMMTNfU1NFTF8wICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQxNl90KTB4MDAwMCkgICAgICAgICAgICAgIC8qKjwgQkNMSyAqLw0KI2RlZmluZSBSVENfQ19DVEwxM19TU0VMX19CQ0xLICAgICAgICAgICAgICAgICAgICgodWludDE2X3QpMHgwMDAwKSAgICAgICAgICAgICAgLyoqPCBCQ0xLICovDQovKiBSVENfQ19DVEwxM1tSRFldIEJpdHMgKi8NCiNkZWZpbmUgUlRDX0NfQ1RMMTNfUkRZX09GUyAgICAgICAgICAgICAgICAgICAgICAoIDQpICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgUlRDUkRZIEJpdCBPZmZzZXQgKi8NCiNkZWZpbmUgUlRDX0NfQ1RMMTNfUkRZICAgICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQxNl90KTB4MDAxMCkgICAgICAgICAgICAgIC8qKjwgUmVhbC10aW1lIGNsb2NrIHJlYWR5ICovDQovKiBSVENfQ19DVEwxM1tNT0RFXSBCaXRzICovDQojZGVmaW5lIFJUQ19DX0NUTDEzX01PREVfT0ZTICAgICAgICAgICAgICAgICAgICAgKCA1KSAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKio8IFJUQ01PREUgQml0IE9mZnNldCAqLw0KI2RlZmluZSBSVENfQ19DVEwxM19NT0RFICAgICAgICAgICAgICAgICAgICAgICAgICgodWludDE2X3QpMHgwMDIwKQ0KLyogUlRDX0NfQ1RMMTNbSE9MRF0gQml0cyAqLw0KI2RlZmluZSBSVENfQ19DVEwxM19IT0xEX09GUyAgICAgICAgICAgICAgICAgICAgICggNikgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyoqPCBSVENIT0xEIEJpdCBPZmZzZXQgKi8NCiNkZWZpbmUgUlRDX0NfQ1RMMTNfSE9MRCAgICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQxNl90KTB4MDA0MCkgICAgICAgICAgICAgIC8qKjwgUmVhbC10aW1lIGNsb2NrIGhvbGQgKi8NCi8qIFJUQ19DX0NUTDEzW0JDRF0gQml0cyAqLw0KI2RlZmluZSBSVENfQ19DVEwxM19CQ0RfT0ZTICAgICAgICAgICAgICAgICAgICAgICggNykgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyoqPCBSVENCQ0QgQml0IE9mZnNldCAqLw0KI2RlZmluZSBSVENfQ19DVEwxM19CQ0QgICAgICAgICAgICAgICAgICAgICAgICAgICgodWludDE2X3QpMHgwMDgwKSAgICAgICAgICAgICAgLyoqPCBSZWFsLXRpbWUgY2xvY2sgQkNEIHNlbGVjdCAqLw0KLyogUlRDX0NfQ1RMMTNbQ0FMRl0gQml0cyAqLw0KI2RlZmluZSBSVENfQ19DVEwxM19DQUxGX09GUyAgICAgICAgICAgICAgICAgICAgICggOCkgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyoqPCBSVENDQUxGIEJpdCBPZmZzZXQgKi8NCiNkZWZpbmUgUlRDX0NfQ1RMMTNfQ0FMRl9NQVNLICAgICAgICAgICAgICAgICAgICAoKHVpbnQxNl90KTB4MDMwMCkgICAgICAgICAgICAgIC8qKjwgUlRDQ0FMRiBCaXQgTWFzayAqLw0KI2RlZmluZSBSVENfQ19DVEwxM19DQUxGMCAgICAgICAgICAgICAgICAgICAgICAgICgodWludDE2X3QpMHgwMTAwKSAgICAgICAgICAgICAgLyoqPCBDQUxGIEJpdCAwICovDQojZGVmaW5lIFJUQ19DX0NUTDEzX0NBTEYxICAgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MTZfdCkweDAyMDApICAgICAgICAgICAgICAvKio8IENBTEYgQml0IDEgKi8NCiNkZWZpbmUgUlRDX0NfQ1RMMTNfQ0FMRl8wICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQxNl90KTB4MDAwMCkgICAgICAgICAgICAgIC8qKjwgTm8gZnJlcXVlbmN5IG91dHB1dCB0byBSVENDTEsgcGluICovDQojZGVmaW5lIFJUQ19DX0NUTDEzX0NBTEZfMSAgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MTZfdCkweDAxMDApICAgICAgICAgICAgICAvKio8IDUxMiBIeiAqLw0KI2RlZmluZSBSVENfQ19DVEwxM19DQUxGXzIgICAgICAgICAgICAgICAgICAgICAgICgodWludDE2X3QpMHgwMjAwKSAgICAgICAgICAgICAgLyoqPCAyNTYgSHogKi8NCiNkZWZpbmUgUlRDX0NfQ1RMMTNfQ0FMRl8zICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQxNl90KTB4MDMwMCkgICAgICAgICAgICAgIC8qKjwgMSBIeiAqLw0KI2RlZmluZSBSVENfQ19DVEwxM19DQUxGX19OT05FICAgICAgICAgICAgICAgICAgICgodWludDE2X3QpMHgwMDAwKSAgICAgICAgICAgICAgLyoqPCBObyBmcmVxdWVuY3kgb3V0cHV0IHRvIFJUQ0NMSyBwaW4gKi8NCiNkZWZpbmUgUlRDX0NfQ1RMMTNfQ0FMRl9fNTEyICAgICAgICAgICAgICAgICAgICAoKHVpbnQxNl90KTB4MDEwMCkgICAgICAgICAgICAgIC8qKjwgNTEyIEh6ICovDQojZGVmaW5lIFJUQ19DX0NUTDEzX0NBTEZfXzI1NiAgICAgICAgICAgICAgICAgICAgKCh1aW50MTZfdCkweDAyMDApICAgICAgICAgICAgICAvKio8IDI1NiBIeiAqLw0KI2RlZmluZSBSVENfQ19DVEwxM19DQUxGX18xICAgICAgICAgICAgICAgICAgICAgICgodWludDE2X3QpMHgwMzAwKSAgICAgICAgICAgICAgLyoqPCAxIEh6ICovDQovKiBSVENfQ19PQ0FMW09DQUxdIEJpdHMgKi8NCiNkZWZpbmUgUlRDX0NfT0NBTF9PQ0FMX09GUyAgICAgICAgICAgICAgICAgICAgICAoIDApICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgUlRDT0NBTCBCaXQgT2Zmc2V0ICovDQojZGVmaW5lIFJUQ19DX09DQUxfT0NBTF9NQVNLICAgICAgICAgICAgICAgICAgICAgKCh1aW50MTZfdCkweDAwRkYpICAgICAgICAgICAgICAvKio8IFJUQ09DQUwgQml0IE1hc2sgKi8NCi8qIFJUQ19DX09DQUxbT0NBTFNdIEJpdHMgKi8NCiNkZWZpbmUgUlRDX0NfT0NBTF9PQ0FMU19PRlMgICAgICAgICAgICAgICAgICAgICAoMTUpICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgUlRDT0NBTFMgQml0IE9mZnNldCAqLw0KI2RlZmluZSBSVENfQ19PQ0FMX09DQUxTICAgICAgICAgICAgICAgICAgICAgICAgICgodWludDE2X3QpMHg4MDAwKSAgICAgICAgICAgICAgLyoqPCBSZWFsLXRpbWUgY2xvY2sgb2Zmc2V0IGVycm9yIGNhbGlicmF0aW9uIHNpZ24gKi8NCi8qIFJUQ19DX1RDTVBbVENNUFhdIEJpdHMgKi8NCiNkZWZpbmUgUlRDX0NfVENNUF9UQ01QWF9PRlMgICAgICAgICAgICAgICAgICAgICAoIDApICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgUlRDVENNUCBCaXQgT2Zmc2V0ICovDQojZGVmaW5lIFJUQ19DX1RDTVBfVENNUFhfTUFTSyAgICAgICAgICAgICAgICAgICAgKCh1aW50MTZfdCkweDAwRkYpICAgICAgICAgICAgICAvKio8IFJUQ1RDTVAgQml0IE1hc2sgKi8NCi8qIFJUQ19DX1RDTVBbVENPS10gQml0cyAqLw0KI2RlZmluZSBSVENfQ19UQ01QX1RDT0tfT0ZTICAgICAgICAgICAgICAgICAgICAgICgxMykgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyoqPCBSVENUQ09LIEJpdCBPZmZzZXQgKi8NCiNkZWZpbmUgUlRDX0NfVENNUF9UQ09LICAgICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQxNl90KTB4MjAwMCkgICAgICAgICAgICAgIC8qKjwgUmVhbC10aW1lIGNsb2NrIHRlbXBlcmF0dXJlIGNvbXBlbnNhdGlvbiB3cml0ZSBPSyAqLw0KLyogUlRDX0NfVENNUFtUQ1JEWV0gQml0cyAqLw0KI2RlZmluZSBSVENfQ19UQ01QX1RDUkRZX09GUyAgICAgICAgICAgICAgICAgICAgICgxNCkgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyoqPCBSVENUQ1JEWSBCaXQgT2Zmc2V0ICovDQojZGVmaW5lIFJUQ19DX1RDTVBfVENSRFkgICAgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MTZfdCkweDQwMDApICAgICAgICAgICAgICAvKio8IFJlYWwtdGltZSBjbG9jayB0ZW1wZXJhdHVyZSBjb21wZW5zYXRpb24gcmVhZHkgKi8NCi8qIFJUQ19DX1RDTVBbVENNUFNdIEJpdHMgKi8NCiNkZWZpbmUgUlRDX0NfVENNUF9UQ01QU19PRlMgICAgICAgICAgICAgICAgICAgICAoMTUpICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgUlRDVENNUFMgQml0IE9mZnNldCAqLw0KI2RlZmluZSBSVENfQ19UQ01QX1RDTVBTICAgICAgICAgICAgICAgICAgICAgICAgICgodWludDE2X3QpMHg4MDAwKSAgICAgICAgICAgICAgLyoqPCBSZWFsLXRpbWUgY2xvY2sgdGVtcGVyYXR1cmUgY29tcGVuc2F0aW9uIHNpZ24gKi8NCi8qIFJUQ19DX1BTMENUTFtSVDBQU0lGR10gQml0cyAqLw0KI2RlZmluZSBSVENfQ19QUzBDVExfUlQwUFNJRkdfT0ZTICAgICAgICAgICAgICAgICggMCkgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyoqPCBSVDBQU0lGRyBCaXQgT2Zmc2V0ICovDQojZGVmaW5lIFJUQ19DX1BTMENUTF9SVDBQU0lGRyAgICAgICAgICAgICAgICAgICAgKCh1aW50MTZfdCkweDAwMDEpICAgICAgICAgICAgICAvKio8IFByZXNjYWxlIHRpbWVyIDAgaW50ZXJydXB0IGZsYWcgKi8NCi8qIFJUQ19DX1BTMENUTFtSVDBQU0lFXSBCaXRzICovDQojZGVmaW5lIFJUQ19DX1BTMENUTF9SVDBQU0lFX09GUyAgICAgICAgICAgICAgICAgKCAxKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKio8IFJUMFBTSUUgQml0IE9mZnNldCAqLw0KI2RlZmluZSBSVENfQ19QUzBDVExfUlQwUFNJRSAgICAgICAgICAgICAgICAgICAgICgodWludDE2X3QpMHgwMDAyKSAgICAgICAgICAgICAgLyoqPCBQcmVzY2FsZSB0aW1lciAwIGludGVycnVwdCBlbmFibGUgKi8NCi8qIFJUQ19DX1BTMENUTFtSVDBJUF0gQml0cyAqLw0KI2RlZmluZSBSVENfQ19QUzBDVExfUlQwSVBfT0ZTICAgICAgICAgICAgICAgICAgICggMikgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyoqPCBSVDBJUCBCaXQgT2Zmc2V0ICovDQojZGVmaW5lIFJUQ19DX1BTMENUTF9SVDBJUF9NQVNLICAgICAgICAgICAgICAgICAgKCh1aW50MTZfdCkweDAwMUMpICAgICAgICAgICAgICAvKio8IFJUMElQIEJpdCBNYXNrICovDQojZGVmaW5lIFJUQ19DX1BTMENUTF9SVDBJUDAgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MTZfdCkweDAwMDQpICAgICAgICAgICAgICAvKio8IFJUMElQIEJpdCAwICovDQojZGVmaW5lIFJUQ19DX1BTMENUTF9SVDBJUDEgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MTZfdCkweDAwMDgpICAgICAgICAgICAgICAvKio8IFJUMElQIEJpdCAxICovDQojZGVmaW5lIFJUQ19DX1BTMENUTF9SVDBJUDIgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MTZfdCkweDAwMTApICAgICAgICAgICAgICAvKio8IFJUMElQIEJpdCAyICovDQojZGVmaW5lIFJUQ19DX1BTMENUTF9SVDBJUF8wICAgICAgICAgICAgICAgICAgICAgKCh1aW50MTZfdCkweDAwMDApICAgICAgICAgICAgICAvKio8IERpdmlkZSBieSAyICovDQojZGVmaW5lIFJUQ19DX1BTMENUTF9SVDBJUF8xICAgICAgICAgICAgICAgICAgICAgKCh1aW50MTZfdCkweDAwMDQpICAgICAgICAgICAgICAvKio8IERpdmlkZSBieSA0ICovDQojZGVmaW5lIFJUQ19DX1BTMENUTF9SVDBJUF8yICAgICAgICAgICAgICAgICAgICAgKCh1aW50MTZfdCkweDAwMDgpICAgICAgICAgICAgICAvKio8IERpdmlkZSBieSA4ICovDQojZGVmaW5lIFJUQ19DX1BTMENUTF9SVDBJUF8zICAgICAgICAgICAgICAgICAgICAgKCh1aW50MTZfdCkweDAwMEMpICAgICAgICAgICAgICAvKio8IERpdmlkZSBieSAxNiAqLw0KI2RlZmluZSBSVENfQ19QUzBDVExfUlQwSVBfNCAgICAgICAgICAgICAgICAgICAgICgodWludDE2X3QpMHgwMDEwKSAgICAgICAgICAgICAgLyoqPCBEaXZpZGUgYnkgMzIgKi8NCiNkZWZpbmUgUlRDX0NfUFMwQ1RMX1JUMElQXzUgICAgICAgICAgICAgICAgICAgICAoKHVpbnQxNl90KTB4MDAxNCkgICAgICAgICAgICAgIC8qKjwgRGl2aWRlIGJ5IDY0ICovDQojZGVmaW5lIFJUQ19DX1BTMENUTF9SVDBJUF82ICAgICAgICAgICAgICAgICAgICAgKCh1aW50MTZfdCkweDAwMTgpICAgICAgICAgICAgICAvKio8IERpdmlkZSBieSAxMjggKi8NCiNkZWZpbmUgUlRDX0NfUFMwQ1RMX1JUMElQXzcgICAgICAgICAgICAgICAgICAgICAoKHVpbnQxNl90KTB4MDAxQykgICAgICAgICAgICAgIC8qKjwgRGl2aWRlIGJ5IDI1NiAqLw0KI2RlZmluZSBSVENfQ19QUzBDVExfUlQwSVBfXzIgICAgICAgICAgICAgICAgICAgICgodWludDE2X3QpMHgwMDAwKSAgICAgICAgICAgICAgLyoqPCBEaXZpZGUgYnkgMiAqLw0KI2RlZmluZSBSVENfQ19QUzBDVExfUlQwSVBfXzQgICAgICAgICAgICAgICAgICAgICgodWludDE2X3QpMHgwMDA0KSAgICAgICAgICAgICAgLyoqPCBEaXZpZGUgYnkgNCAqLw0KI2RlZmluZSBSVENfQ19QUzBDVExfUlQwSVBfXzggICAgICAgICAgICAgICAgICAgICgodWludDE2X3QpMHgwMDA4KSAgICAgICAgICAgICAgLyoqPCBEaXZpZGUgYnkgOCAqLw0KI2RlZmluZSBSVENfQ19QUzBDVExfUlQwSVBfXzE2ICAgICAgICAgICAgICAgICAgICgodWludDE2X3QpMHgwMDBDKSAgICAgICAgICAgICAgLyoqPCBEaXZpZGUgYnkgMTYgKi8NCiNkZWZpbmUgUlRDX0NfUFMwQ1RMX1JUMElQX18zMiAgICAgICAgICAgICAgICAgICAoKHVpbnQxNl90KTB4MDAxMCkgICAgICAgICAgICAgIC8qKjwgRGl2aWRlIGJ5IDMyICovDQojZGVmaW5lIFJUQ19DX1BTMENUTF9SVDBJUF9fNjQgICAgICAgICAgICAgICAgICAgKCh1aW50MTZfdCkweDAwMTQpICAgICAgICAgICAgICAvKio8IERpdmlkZSBieSA2NCAqLw0KI2RlZmluZSBSVENfQ19QUzBDVExfUlQwSVBfXzEyOCAgICAgICAgICAgICAgICAgICgodWludDE2X3QpMHgwMDE4KSAgICAgICAgICAgICAgLyoqPCBEaXZpZGUgYnkgMTI4ICovDQojZGVmaW5lIFJUQ19DX1BTMENUTF9SVDBJUF9fMjU2ICAgICAgICAgICAgICAgICAgKCh1aW50MTZfdCkweDAwMUMpICAgICAgICAgICAgICAvKio8IERpdmlkZSBieSAyNTYgKi8NCi8qIFJUQ19DX1BTMUNUTFtSVDFQU0lGR10gQml0cyAqLw0KI2RlZmluZSBSVENfQ19QUzFDVExfUlQxUFNJRkdfT0ZTICAgICAgICAgICAgICAgICggMCkgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyoqPCBSVDFQU0lGRyBCaXQgT2Zmc2V0ICovDQojZGVmaW5lIFJUQ19DX1BTMUNUTF9SVDFQU0lGRyAgICAgICAgICAgICAgICAgICAgKCh1aW50MTZfdCkweDAwMDEpICAgICAgICAgICAgICAvKio8IFByZXNjYWxlIHRpbWVyIDEgaW50ZXJydXB0IGZsYWcgKi8NCi8qIFJUQ19DX1BTMUNUTFtSVDFQU0lFXSBCaXRzICovDQojZGVmaW5lIFJUQ19DX1BTMUNUTF9SVDFQU0lFX09GUyAgICAgICAgICAgICAgICAgKCAxKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKio8IFJUMVBTSUUgQml0IE9mZnNldCAqLw0KI2RlZmluZSBSVENfQ19QUzFDVExfUlQxUFNJRSAgICAgICAgICAgICAgICAgICAgICgodWludDE2X3QpMHgwMDAyKSAgICAgICAgICAgICAgLyoqPCBQcmVzY2FsZSB0aW1lciAxIGludGVycnVwdCBlbmFibGUgKi8NCi8qIFJUQ19DX1BTMUNUTFtSVDFJUF0gQml0cyAqLw0KI2RlZmluZSBSVENfQ19QUzFDVExfUlQxSVBfT0ZTICAgICAgICAgICAgICAgICAgICggMikgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyoqPCBSVDFJUCBCaXQgT2Zmc2V0ICovDQojZGVmaW5lIFJUQ19DX1BTMUNUTF9SVDFJUF9NQVNLICAgICAgICAgICAgICAgICAgKCh1aW50MTZfdCkweDAwMUMpICAgICAgICAgICAgICAvKio8IFJUMUlQIEJpdCBNYXNrICovDQojZGVmaW5lIFJUQ19DX1BTMUNUTF9SVDFJUDAgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MTZfdCkweDAwMDQpICAgICAgICAgICAgICAvKio8IFJUMUlQIEJpdCAwICovDQojZGVmaW5lIFJUQ19DX1BTMUNUTF9SVDFJUDEgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MTZfdCkweDAwMDgpICAgICAgICAgICAgICAvKio8IFJUMUlQIEJpdCAxICovDQojZGVmaW5lIFJUQ19DX1BTMUNUTF9SVDFJUDIgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MTZfdCkweDAwMTApICAgICAgICAgICAgICAvKio8IFJUMUlQIEJpdCAyICovDQojZGVmaW5lIFJUQ19DX1BTMUNUTF9SVDFJUF8wICAgICAgICAgICAgICAgICAgICAgKCh1aW50MTZfdCkweDAwMDApICAgICAgICAgICAgICAvKio8IERpdmlkZSBieSAyICovDQojZGVmaW5lIFJUQ19DX1BTMUNUTF9SVDFJUF8xICAgICAgICAgICAgICAgICAgICAgKCh1aW50MTZfdCkweDAwMDQpICAgICAgICAgICAgICAvKio8IERpdmlkZSBieSA0ICovDQojZGVmaW5lIFJUQ19DX1BTMUNUTF9SVDFJUF8yICAgICAgICAgICAgICAgICAgICAgKCh1aW50MTZfdCkweDAwMDgpICAgICAgICAgICAgICAvKio8IERpdmlkZSBieSA4ICovDQojZGVmaW5lIFJUQ19DX1BTMUNUTF9SVDFJUF8zICAgICAgICAgICAgICAgICAgICAgKCh1aW50MTZfdCkweDAwMEMpICAgICAgICAgICAgICAvKio8IERpdmlkZSBieSAxNiAqLw0KI2RlZmluZSBSVENfQ19QUzFDVExfUlQxSVBfNCAgICAgICAgICAgICAgICAgICAgICgodWludDE2X3QpMHgwMDEwKSAgICAgICAgICAgICAgLyoqPCBEaXZpZGUgYnkgMzIgKi8NCiNkZWZpbmUgUlRDX0NfUFMxQ1RMX1JUMUlQXzUgICAgICAgICAgICAgICAgICAgICAoKHVpbnQxNl90KTB4MDAxNCkgICAgICAgICAgICAgIC8qKjwgRGl2aWRlIGJ5IDY0ICovDQojZGVmaW5lIFJUQ19DX1BTMUNUTF9SVDFJUF82ICAgICAgICAgICAgICAgICAgICAgKCh1aW50MTZfdCkweDAwMTgpICAgICAgICAgICAgICAvKio8IERpdmlkZSBieSAxMjggKi8NCiNkZWZpbmUgUlRDX0NfUFMxQ1RMX1JUMUlQXzcgICAgICAgICAgICAgICAgICAgICAoKHVpbnQxNl90KTB4MDAxQykgICAgICAgICAgICAgIC8qKjwgRGl2aWRlIGJ5IDI1NiAqLw0KI2RlZmluZSBSVENfQ19QUzFDVExfUlQxSVBfXzIgICAgICAgICAgICAgICAgICAgICgodWludDE2X3QpMHgwMDAwKSAgICAgICAgICAgICAgLyoqPCBEaXZpZGUgYnkgMiAqLw0KI2RlZmluZSBSVENfQ19QUzFDVExfUlQxSVBfXzQgICAgICAgICAgICAgICAgICAgICgodWludDE2X3QpMHgwMDA0KSAgICAgICAgICAgICAgLyoqPCBEaXZpZGUgYnkgNCAqLw0KI2RlZmluZSBSVENfQ19QUzFDVExfUlQxSVBfXzggICAgICAgICAgICAgICAgICAgICgodWludDE2X3QpMHgwMDA4KSAgICAgICAgICAgICAgLyoqPCBEaXZpZGUgYnkgOCAqLw0KI2RlZmluZSBSVENfQ19QUzFDVExfUlQxSVBfXzE2ICAgICAgICAgICAgICAgICAgICgodWludDE2X3QpMHgwMDBDKSAgICAgICAgICAgICAgLyoqPCBEaXZpZGUgYnkgMTYgKi8NCiNkZWZpbmUgUlRDX0NfUFMxQ1RMX1JUMUlQX18zMiAgICAgICAgICAgICAgICAgICAoKHVpbnQxNl90KTB4MDAxMCkgICAgICAgICAgICAgIC8qKjwgRGl2aWRlIGJ5IDMyICovDQojZGVmaW5lIFJUQ19DX1BTMUNUTF9SVDFJUF9fNjQgICAgICAgICAgICAgICAgICAgKCh1aW50MTZfdCkweDAwMTQpICAgICAgICAgICAgICAvKio8IERpdmlkZSBieSA2NCAqLw0KI2RlZmluZSBSVENfQ19QUzFDVExfUlQxSVBfXzEyOCAgICAgICAgICAgICAgICAgICgodWludDE2X3QpMHgwMDE4KSAgICAgICAgICAgICAgLyoqPCBEaXZpZGUgYnkgMTI4ICovDQojZGVmaW5lIFJUQ19DX1BTMUNUTF9SVDFJUF9fMjU2ICAgICAgICAgICAgICAgICAgKCh1aW50MTZfdCkweDAwMUMpICAgICAgICAgICAgICAvKio8IERpdmlkZSBieSAyNTYgKi8NCi8qIFJUQ19DX1BTW1JUMFBTXSBCaXRzICovDQojZGVmaW5lIFJUQ19DX1BTX1JUMFBTX09GUyAgICAgICAgICAgICAgICAgICAgICAgKCAwKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKio8IFJUMFBTIEJpdCBPZmZzZXQgKi8NCiNkZWZpbmUgUlRDX0NfUFNfUlQwUFNfTUFTSyAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQxNl90KTB4MDBGRikgICAgICAgICAgICAgIC8qKjwgUlQwUFMgQml0IE1hc2sgKi8NCi8qIFJUQ19DX1BTW1JUMVBTXSBCaXRzICovDQojZGVmaW5lIFJUQ19DX1BTX1JUMVBTX09GUyAgICAgICAgICAgICAgICAgICAgICAgKCA4KSAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKio8IFJUMVBTIEJpdCBPZmZzZXQgKi8NCiNkZWZpbmUgUlRDX0NfUFNfUlQxUFNfTUFTSyAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQxNl90KTB4RkYwMCkgICAgICAgICAgICAgIC8qKjwgUlQxUFMgQml0IE1hc2sgKi8NCi8qIFJUQ19DX1RJTTBbU0VDXSBCaXRzICovDQojZGVmaW5lIFJUQ19DX1RJTTBfU0VDX09GUyAgICAgICAgICAgICAgICAgICAgICAgKCAwKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKio8IFNlY29uZHMgQml0IE9mZnNldCAqLw0KI2RlZmluZSBSVENfQ19USU0wX1NFQ19NQVNLICAgICAgICAgICAgICAgICAgICAgICgodWludDE2X3QpMHgwMDNGKSAgICAgICAgICAgICAgLyoqPCBTZWNvbmRzIEJpdCBNYXNrICovDQovKiBSVENfQ19USU0wW01JTl0gQml0cyAqLw0KI2RlZmluZSBSVENfQ19USU0wX01JTl9PRlMgICAgICAgICAgICAgICAgICAgICAgICggOCkgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyoqPCBNaW51dGVzIEJpdCBPZmZzZXQgKi8NCiNkZWZpbmUgUlRDX0NfVElNMF9NSU5fTUFTSyAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQxNl90KTB4M0YwMCkgICAgICAgICAgICAgIC8qKjwgTWludXRlcyBCaXQgTWFzayAqLw0KLyogUlRDX0NfVElNMFtTRUNfTERdIEJpdHMgKi8NCiNkZWZpbmUgUlRDX0NfVElNMF9TRUNfTERfT0ZTICAgICAgICAgICAgICAgICAgICAoIDApICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgU2Vjb25kc0xvd0RpZ2l0IEJpdCBPZmZzZXQgKi8NCiNkZWZpbmUgUlRDX0NfVElNMF9TRUNfTERfTUFTSyAgICAgICAgICAgICAgICAgICAoKHVpbnQxNl90KTB4MDAwRikgICAgICAgICAgICAgIC8qKjwgU2Vjb25kc0xvd0RpZ2l0IEJpdCBNYXNrICovDQovKiBSVENfQ19USU0wW1NFQ19IRF0gQml0cyAqLw0KI2RlZmluZSBSVENfQ19USU0wX1NFQ19IRF9PRlMgICAgICAgICAgICAgICAgICAgICggNCkgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyoqPCBTZWNvbmRzSGlnaERpZ2l0IEJpdCBPZmZzZXQgKi8NCiNkZWZpbmUgUlRDX0NfVElNMF9TRUNfSERfTUFTSyAgICAgICAgICAgICAgICAgICAoKHVpbnQxNl90KTB4MDA3MCkgICAgICAgICAgICAgIC8qKjwgU2Vjb25kc0hpZ2hEaWdpdCBCaXQgTWFzayAqLw0KLyogUlRDX0NfVElNMFtNSU5fTERdIEJpdHMgKi8NCiNkZWZpbmUgUlRDX0NfVElNMF9NSU5fTERfT0ZTICAgICAgICAgICAgICAgICAgICAoIDgpICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgTWludXRlc0xvd0RpZ2l0IEJpdCBPZmZzZXQgKi8NCiNkZWZpbmUgUlRDX0NfVElNMF9NSU5fTERfTUFTSyAgICAgICAgICAgICAgICAgICAoKHVpbnQxNl90KTB4MEYwMCkgICAgICAgICAgICAgIC8qKjwgTWludXRlc0xvd0RpZ2l0IEJpdCBNYXNrICovDQovKiBSVENfQ19USU0wW01JTl9IRF0gQml0cyAqLw0KI2RlZmluZSBSVENfQ19USU0wX01JTl9IRF9PRlMgICAgICAgICAgICAgICAgICAgICgxMikgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyoqPCBNaW51dGVzSGlnaERpZ2l0IEJpdCBPZmZzZXQgKi8NCiNkZWZpbmUgUlRDX0NfVElNMF9NSU5fSERfTUFTSyAgICAgICAgICAgICAgICAgICAoKHVpbnQxNl90KTB4NzAwMCkgICAgICAgICAgICAgIC8qKjwgTWludXRlc0hpZ2hEaWdpdCBCaXQgTWFzayAqLw0KLyogUlRDX0NfVElNMVtIT1VSXSBCaXRzICovDQojZGVmaW5lIFJUQ19DX1RJTTFfSE9VUl9PRlMgICAgICAgICAgICAgICAgICAgICAgKCAwKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKio8IEhvdXJzIEJpdCBPZmZzZXQgKi8NCiNkZWZpbmUgUlRDX0NfVElNMV9IT1VSX01BU0sgICAgICAgICAgICAgICAgICAgICAoKHVpbnQxNl90KTB4MDAxRikgICAgICAgICAgICAgIC8qKjwgSG91cnMgQml0IE1hc2sgKi8NCi8qIFJUQ19DX1RJTTFbRE9XXSBCaXRzICovDQojZGVmaW5lIFJUQ19DX1RJTTFfRE9XX09GUyAgICAgICAgICAgICAgICAgICAgICAgKCA4KSAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKio8IERheW9mV2VlayBCaXQgT2Zmc2V0ICovDQojZGVmaW5lIFJUQ19DX1RJTTFfRE9XX01BU0sgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MTZfdCkweDA3MDApICAgICAgICAgICAgICAvKio8IERheW9mV2VlayBCaXQgTWFzayAqLw0KLyogUlRDX0NfVElNMVtIT1VSX0xEXSBCaXRzICovDQojZGVmaW5lIFJUQ19DX1RJTTFfSE9VUl9MRF9PRlMgICAgICAgICAgICAgICAgICAgKCAwKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKio8IEhvdXJzTG93RGlnaXQgQml0IE9mZnNldCAqLw0KI2RlZmluZSBSVENfQ19USU0xX0hPVVJfTERfTUFTSyAgICAgICAgICAgICAgICAgICgodWludDE2X3QpMHgwMDBGKSAgICAgICAgICAgICAgLyoqPCBIb3Vyc0xvd0RpZ2l0IEJpdCBNYXNrICovDQovKiBSVENfQ19USU0xW0hPVVJfSERdIEJpdHMgKi8NCiNkZWZpbmUgUlRDX0NfVElNMV9IT1VSX0hEX09GUyAgICAgICAgICAgICAgICAgICAoIDQpICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgSG91cnNIaWdoRGlnaXQgQml0IE9mZnNldCAqLw0KI2RlZmluZSBSVENfQ19USU0xX0hPVVJfSERfTUFTSyAgICAgICAgICAgICAgICAgICgodWludDE2X3QpMHgwMDMwKSAgICAgICAgICAgICAgLyoqPCBIb3Vyc0hpZ2hEaWdpdCBCaXQgTWFzayAqLw0KLyogUlRDX0NfREFURVtEQVldIEJpdHMgKi8NCiNkZWZpbmUgUlRDX0NfREFURV9EQVlfT0ZTICAgICAgICAgICAgICAgICAgICAgICAoIDApICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgRGF5IEJpdCBPZmZzZXQgKi8NCiNkZWZpbmUgUlRDX0NfREFURV9EQVlfTUFTSyAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQxNl90KTB4MDAxRikgICAgICAgICAgICAgIC8qKjwgRGF5IEJpdCBNYXNrICovDQovKiBSVENfQ19EQVRFW01PTl0gQml0cyAqLw0KI2RlZmluZSBSVENfQ19EQVRFX01PTl9PRlMgICAgICAgICAgICAgICAgICAgICAgICggOCkgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyoqPCBNb250aCBCaXQgT2Zmc2V0ICovDQojZGVmaW5lIFJUQ19DX0RBVEVfTU9OX01BU0sgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MTZfdCkweDBGMDApICAgICAgICAgICAgICAvKio8IE1vbnRoIEJpdCBNYXNrICovDQovKiBSVENfQ19EQVRFW0RBWV9MRF0gQml0cyAqLw0KI2RlZmluZSBSVENfQ19EQVRFX0RBWV9MRF9PRlMgICAgICAgICAgICAgICAgICAgICggMCkgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyoqPCBEYXlMb3dEaWdpdCBCaXQgT2Zmc2V0ICovDQojZGVmaW5lIFJUQ19DX0RBVEVfREFZX0xEX01BU0sgICAgICAgICAgICAgICAgICAgKCh1aW50MTZfdCkweDAwMEYpICAgICAgICAgICAgICAvKio8IERheUxvd0RpZ2l0IEJpdCBNYXNrICovDQovKiBSVENfQ19EQVRFW0RBWV9IRF0gQml0cyAqLw0KI2RlZmluZSBSVENfQ19EQVRFX0RBWV9IRF9PRlMgICAgICAgICAgICAgICAgICAgICggNCkgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyoqPCBEYXlIaWdoRGlnaXQgQml0IE9mZnNldCAqLw0KI2RlZmluZSBSVENfQ19EQVRFX0RBWV9IRF9NQVNLICAgICAgICAgICAgICAgICAgICgodWludDE2X3QpMHgwMDMwKSAgICAgICAgICAgICAgLyoqPCBEYXlIaWdoRGlnaXQgQml0IE1hc2sgKi8NCi8qIFJUQ19DX0RBVEVbTU9OX0xEXSBCaXRzICovDQojZGVmaW5lIFJUQ19DX0RBVEVfTU9OX0xEX09GUyAgICAgICAgICAgICAgICAgICAgKCA4KSAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKio8IE1vbnRoTG93RGlnaXQgQml0IE9mZnNldCAqLw0KI2RlZmluZSBSVENfQ19EQVRFX01PTl9MRF9NQVNLICAgICAgICAgICAgICAgICAgICgodWludDE2X3QpMHgwRjAwKSAgICAgICAgICAgICAgLyoqPCBNb250aExvd0RpZ2l0IEJpdCBNYXNrICovDQovKiBSVENfQ19EQVRFW01PTl9IRF0gQml0cyAqLw0KI2RlZmluZSBSVENfQ19EQVRFX01PTl9IRF9PRlMgICAgICAgICAgICAgICAgICAgICgxMikgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyoqPCBNb250aEhpZ2hEaWdpdCBCaXQgT2Zmc2V0ICovDQojZGVmaW5lIFJUQ19DX0RBVEVfTU9OX0hEICAgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MTZfdCkweDEwMDApICAgICAgICAgICAgICAvKio8IE1vbnRoID8gaGlnaCBkaWdpdCAoMCBvciAxKSAqLw0KLyogUlRDX0NfWUVBUltZRUFSX0xCXSBCaXRzICovDQojZGVmaW5lIFJUQ19DX1lFQVJfWUVBUl9MQl9PRlMgICAgICAgICAgICAgICAgICAgKCAwKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKio8IFllYXJMb3dCeXRlIEJpdCBPZmZzZXQgKi8NCiNkZWZpbmUgUlRDX0NfWUVBUl9ZRUFSX0xCX01BU0sgICAgICAgICAgICAgICAgICAoKHVpbnQxNl90KTB4MDBGRikgICAgICAgICAgICAgIC8qKjwgWWVhckxvd0J5dGUgQml0IE1hc2sgKi8NCi8qIFJUQ19DX1lFQVJbWUVBUl9IQl0gQml0cyAqLw0KI2RlZmluZSBSVENfQ19ZRUFSX1lFQVJfSEJfT0ZTICAgICAgICAgICAgICAgICAgICggOCkgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyoqPCBZZWFySGlnaEJ5dGUgQml0IE9mZnNldCAqLw0KI2RlZmluZSBSVENfQ19ZRUFSX1lFQVJfSEJfTUFTSyAgICAgICAgICAgICAgICAgICgodWludDE2X3QpMHgwRjAwKSAgICAgICAgICAgICAgLyoqPCBZZWFySGlnaEJ5dGUgQml0IE1hc2sgKi8NCi8qIFJUQ19DX1lFQVJbWUVBUl0gQml0cyAqLw0KI2RlZmluZSBSVENfQ19ZRUFSX1lFQVJfT0ZTICAgICAgICAgICAgICAgICAgICAgICggMCkgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyoqPCBZZWFyIEJpdCBPZmZzZXQgKi8NCiNkZWZpbmUgUlRDX0NfWUVBUl9ZRUFSX01BU0sgICAgICAgICAgICAgICAgICAgICAoKHVpbnQxNl90KTB4MDAwRikgICAgICAgICAgICAgIC8qKjwgWWVhciBCaXQgTWFzayAqLw0KLyogUlRDX0NfWUVBUltERUNdIEJpdHMgKi8NCiNkZWZpbmUgUlRDX0NfWUVBUl9ERUNfT0ZTICAgICAgICAgICAgICAgICAgICAgICAoIDQpICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgRGVjYWRlIEJpdCBPZmZzZXQgKi8NCiNkZWZpbmUgUlRDX0NfWUVBUl9ERUNfTUFTSyAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQxNl90KTB4MDBGMCkgICAgICAgICAgICAgIC8qKjwgRGVjYWRlIEJpdCBNYXNrICovDQovKiBSVENfQ19ZRUFSW0NFTlRfTERdIEJpdHMgKi8NCiNkZWZpbmUgUlRDX0NfWUVBUl9DRU5UX0xEX09GUyAgICAgICAgICAgICAgICAgICAoIDgpICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgQ2VudHVyeUxvd0RpZ2l0IEJpdCBPZmZzZXQgKi8NCiNkZWZpbmUgUlRDX0NfWUVBUl9DRU5UX0xEX01BU0sgICAgICAgICAgICAgICAgICAoKHVpbnQxNl90KTB4MEYwMCkgICAgICAgICAgICAgIC8qKjwgQ2VudHVyeUxvd0RpZ2l0IEJpdCBNYXNrICovDQovKiBSVENfQ19ZRUFSW0NFTlRfSERdIEJpdHMgKi8NCiNkZWZpbmUgUlRDX0NfWUVBUl9DRU5UX0hEX09GUyAgICAgICAgICAgICAgICAgICAoMTIpICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgQ2VudHVyeUhpZ2hEaWdpdCBCaXQgT2Zmc2V0ICovDQojZGVmaW5lIFJUQ19DX1lFQVJfQ0VOVF9IRF9NQVNLICAgICAgICAgICAgICAgICAgKCh1aW50MTZfdCkweDcwMDApICAgICAgICAgICAgICAvKio8IENlbnR1cnlIaWdoRGlnaXQgQml0IE1hc2sgKi8NCi8qIFJUQ19DX0FNSU5IUltNSU5dIEJpdHMgKi8NCiNkZWZpbmUgUlRDX0NfQU1JTkhSX01JTl9PRlMgICAgICAgICAgICAgICAgICAgICAoIDApICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgTWludXRlcyBCaXQgT2Zmc2V0ICovDQojZGVmaW5lIFJUQ19DX0FNSU5IUl9NSU5fTUFTSyAgICAgICAgICAgICAgICAgICAgKCh1aW50MTZfdCkweDAwM0YpICAgICAgICAgICAgICAvKio8IE1pbnV0ZXMgQml0IE1hc2sgKi8NCi8qIFJUQ19DX0FNSU5IUltNSU5BRV0gQml0cyAqLw0KI2RlZmluZSBSVENfQ19BTUlOSFJfTUlOQUVfT0ZTICAgICAgICAgICAgICAgICAgICggNykgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyoqPCBNSU5BRSBCaXQgT2Zmc2V0ICovDQojZGVmaW5lIFJUQ19DX0FNSU5IUl9NSU5BRSAgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MTZfdCkweDAwODApICAgICAgICAgICAgICAvKio8IEFsYXJtIGVuYWJsZSAqLw0KLyogUlRDX0NfQU1JTkhSW0hPVVJdIEJpdHMgKi8NCiNkZWZpbmUgUlRDX0NfQU1JTkhSX0hPVVJfT0ZTICAgICAgICAgICAgICAgICAgICAoIDgpICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgSG91cnMgQml0IE9mZnNldCAqLw0KI2RlZmluZSBSVENfQ19BTUlOSFJfSE9VUl9NQVNLICAgICAgICAgICAgICAgICAgICgodWludDE2X3QpMHgxRjAwKSAgICAgICAgICAgICAgLyoqPCBIb3VycyBCaXQgTWFzayAqLw0KLyogUlRDX0NfQU1JTkhSW0hPVVJBRV0gQml0cyAqLw0KI2RlZmluZSBSVENfQ19BTUlOSFJfSE9VUkFFX09GUyAgICAgICAgICAgICAgICAgICgxNSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyoqPCBIT1VSQUUgQml0IE9mZnNldCAqLw0KI2RlZmluZSBSVENfQ19BTUlOSFJfSE9VUkFFICAgICAgICAgICAgICAgICAgICAgICgodWludDE2X3QpMHg4MDAwKSAgICAgICAgICAgICAgLyoqPCBBbGFybSBlbmFibGUgKi8NCi8qIFJUQ19DX0FNSU5IUltNSU5fTERdIEJpdHMgKi8NCiNkZWZpbmUgUlRDX0NfQU1JTkhSX01JTl9MRF9PRlMgICAgICAgICAgICAgICAgICAoIDApICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgTWludXRlc0xvd0RpZ2l0IEJpdCBPZmZzZXQgKi8NCiNkZWZpbmUgUlRDX0NfQU1JTkhSX01JTl9MRF9NQVNLICAgICAgICAgICAgICAgICAoKHVpbnQxNl90KTB4MDAwRikgICAgICAgICAgICAgIC8qKjwgTWludXRlc0xvd0RpZ2l0IEJpdCBNYXNrICovDQovKiBSVENfQ19BTUlOSFJbTUlOX0hEXSBCaXRzICovDQojZGVmaW5lIFJUQ19DX0FNSU5IUl9NSU5fSERfT0ZTICAgICAgICAgICAgICAgICAgKCA0KSAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKio8IE1pbnV0ZXNIaWdoRGlnaXQgQml0IE9mZnNldCAqLw0KI2RlZmluZSBSVENfQ19BTUlOSFJfTUlOX0hEX01BU0sgICAgICAgICAgICAgICAgICgodWludDE2X3QpMHgwMDcwKSAgICAgICAgICAgICAgLyoqPCBNaW51dGVzSGlnaERpZ2l0IEJpdCBNYXNrICovDQovKiBSVENfQ19BTUlOSFJbSE9VUl9MRF0gQml0cyAqLw0KI2RlZmluZSBSVENfQ19BTUlOSFJfSE9VUl9MRF9PRlMgICAgICAgICAgICAgICAgICggOCkgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyoqPCBIb3Vyc0xvd0RpZ2l0IEJpdCBPZmZzZXQgKi8NCiNkZWZpbmUgUlRDX0NfQU1JTkhSX0hPVVJfTERfTUFTSyAgICAgICAgICAgICAgICAoKHVpbnQxNl90KTB4MEYwMCkgICAgICAgICAgICAgIC8qKjwgSG91cnNMb3dEaWdpdCBCaXQgTWFzayAqLw0KLyogUlRDX0NfQU1JTkhSW0hPVVJfSERdIEJpdHMgKi8NCiNkZWZpbmUgUlRDX0NfQU1JTkhSX0hPVVJfSERfT0ZTICAgICAgICAgICAgICAgICAoMTIpICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgSG91cnNIaWdoRGlnaXQgQml0IE9mZnNldCAqLw0KI2RlZmluZSBSVENfQ19BTUlOSFJfSE9VUl9IRF9NQVNLICAgICAgICAgICAgICAgICgodWludDE2X3QpMHgzMDAwKSAgICAgICAgICAgICAgLyoqPCBIb3Vyc0hpZ2hEaWdpdCBCaXQgTWFzayAqLw0KLyogUlRDX0NfQURPV0RBWVtET1ddIEJpdHMgKi8NCiNkZWZpbmUgUlRDX0NfQURPV0RBWV9ET1dfT0ZTICAgICAgICAgICAgICAgICAgICAoIDApICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgRGF5b2ZXZWVrIEJpdCBPZmZzZXQgKi8NCiNkZWZpbmUgUlRDX0NfQURPV0RBWV9ET1dfTUFTSyAgICAgICAgICAgICAgICAgICAoKHVpbnQxNl90KTB4MDAwNykgICAgICAgICAgICAgIC8qKjwgRGF5b2ZXZWVrIEJpdCBNYXNrICovDQovKiBSVENfQ19BRE9XREFZW0RPV0FFXSBCaXRzICovDQojZGVmaW5lIFJUQ19DX0FET1dEQVlfRE9XQUVfT0ZTICAgICAgICAgICAgICAgICAgKCA3KSAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKio8IERPV0FFIEJpdCBPZmZzZXQgKi8NCiNkZWZpbmUgUlRDX0NfQURPV0RBWV9ET1dBRSAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQxNl90KTB4MDA4MCkgICAgICAgICAgICAgIC8qKjwgQWxhcm0gZW5hYmxlICovDQovKiBSVENfQ19BRE9XREFZW0RBWV0gQml0cyAqLw0KI2RlZmluZSBSVENfQ19BRE9XREFZX0RBWV9PRlMgICAgICAgICAgICAgICAgICAgICggOCkgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyoqPCBEYXlvZk1vbnRoIEJpdCBPZmZzZXQgKi8NCiNkZWZpbmUgUlRDX0NfQURPV0RBWV9EQVlfTUFTSyAgICAgICAgICAgICAgICAgICAoKHVpbnQxNl90KTB4MUYwMCkgICAgICAgICAgICAgIC8qKjwgRGF5b2ZNb250aCBCaXQgTWFzayAqLw0KLyogUlRDX0NfQURPV0RBWVtEQVlBRV0gQml0cyAqLw0KI2RlZmluZSBSVENfQ19BRE9XREFZX0RBWUFFX09GUyAgICAgICAgICAgICAgICAgICgxNSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyoqPCBEQVlBRSBCaXQgT2Zmc2V0ICovDQojZGVmaW5lIFJUQ19DX0FET1dEQVlfREFZQUUgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MTZfdCkweDgwMDApICAgICAgICAgICAgICAvKio8IEFsYXJtIGVuYWJsZSAqLw0KLyogUlRDX0NfQURPV0RBWVtEQVlfTERdIEJpdHMgKi8NCiNkZWZpbmUgUlRDX0NfQURPV0RBWV9EQVlfTERfT0ZTICAgICAgICAgICAgICAgICAoIDgpICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgRGF5TG93RGlnaXQgQml0IE9mZnNldCAqLw0KI2RlZmluZSBSVENfQ19BRE9XREFZX0RBWV9MRF9NQVNLICAgICAgICAgICAgICAgICgodWludDE2X3QpMHgwRjAwKSAgICAgICAgICAgICAgLyoqPCBEYXlMb3dEaWdpdCBCaXQgTWFzayAqLw0KLyogUlRDX0NfQURPV0RBWVtEQVlfSERdIEJpdHMgKi8NCiNkZWZpbmUgUlRDX0NfQURPV0RBWV9EQVlfSERfT0ZTICAgICAgICAgICAgICAgICAoMTIpICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgRGF5SGlnaERpZ2l0IEJpdCBPZmZzZXQgKi8NCiNkZWZpbmUgUlRDX0NfQURPV0RBWV9EQVlfSERfTUFTSyAgICAgICAgICAgICAgICAoKHVpbnQxNl90KTB4MzAwMCkgICAgICAgICAgICAgIC8qKjwgRGF5SGlnaERpZ2l0IEJpdCBNYXNrICovDQoNCi8qIFByZS1kZWZpbmVkIGJpdGZpZWxkIHZhbHVlcyAqLw0KI2RlZmluZSBSVENfQ19LRVkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQxNl90KTB4QTUwMCkgICAgICAgICAgICAgIC8qIFJUQ19DIEtleSBWYWx1ZSBmb3IgUlRDX0Mgd3JpdGUgYWNjZXNzICovDQojZGVmaW5lIFJUQ19DX0tFWV9IICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgodWludDE2X3QpMHgwMEE1KSAgICAgICAgICAgICAgLyogUlRDX0MgS2V5IFZhbHVlIGZvciBSVENfQyB3cml0ZSBhY2Nlc3MgKi8NCiNkZWZpbmUgUlRDX0NfS0VZX1ZBTCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MTZfdCkweEE1MDApICAgICAgICAgICAgICAvKiBSVENfQyBLZXkgVmFsdWUgZm9yIFJUQ19DIHdyaXRlIGFjY2VzcyAqLw0KDQoNCi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioNCiogU0NCIEJpdHMNCioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8NCi8qIFNDQl9QRlIwW1NUQVRFMF0gQml0cyAqLw0KI2RlZmluZSBTQ0JfUEZSMF9TVEFURTBfT0ZTICAgICAgICAgICAgICAgICAgICAgICggMCkgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyoqPCBTVEFURTAgQml0IE9mZnNldCAqLw0KI2RlZmluZSBTQ0JfUEZSMF9TVEFURTBfTUFTSyAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMDAwRikgICAgICAgICAgLyoqPCBTVEFURTAgQml0IE1hc2sgKi8NCiNkZWZpbmUgU0NCX1BGUjBfU1RBVEUwMCAgICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDAwMDEpICAgICAgICAgIC8qKjwgU1RBVEUwIEJpdCAwICovDQojZGVmaW5lIFNDQl9QRlIwX1NUQVRFMDEgICAgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwMDAyKSAgICAgICAgICAvKio8IFNUQVRFMCBCaXQgMSAqLw0KI2RlZmluZSBTQ0JfUEZSMF9TVEFURTAyICAgICAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMDAwNCkgICAgICAgICAgLyoqPCBTVEFURTAgQml0IDIgKi8NCiNkZWZpbmUgU0NCX1BGUjBfU1RBVEUwMyAgICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDAwMDgpICAgICAgICAgIC8qKjwgU1RBVEUwIEJpdCAzICovDQojZGVmaW5lIFNDQl9QRlIwX1NUQVRFMF8wICAgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwMDAwKSAgICAgICAgICAvKio8IG5vIEFSTSBlbmNvZGluZyAqLw0KI2RlZmluZSBTQ0JfUEZSMF9TVEFURTBfMSAgICAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMDAwMSkgICAgICAgICAgLyoqPCBOL0EgKi8NCi8qIFNDQl9QRlIwW1NUQVRFMV0gQml0cyAqLw0KI2RlZmluZSBTQ0JfUEZSMF9TVEFURTFfT0ZTICAgICAgICAgICAgICAgICAgICAgICggNCkgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyoqPCBTVEFURTEgQml0IE9mZnNldCAqLw0KI2RlZmluZSBTQ0JfUEZSMF9TVEFURTFfTUFTSyAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMDBGMCkgICAgICAgICAgLyoqPCBTVEFURTEgQml0IE1hc2sgKi8NCiNkZWZpbmUgU0NCX1BGUjBfU1RBVEUxMCAgICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDAwMTApICAgICAgICAgIC8qKjwgU1RBVEUxIEJpdCAwICovDQojZGVmaW5lIFNDQl9QRlIwX1NUQVRFMTEgICAgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwMDIwKSAgICAgICAgICAvKio8IFNUQVRFMSBCaXQgMSAqLw0KI2RlZmluZSBTQ0JfUEZSMF9TVEFURTEyICAgICAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMDA0MCkgICAgICAgICAgLyoqPCBTVEFURTEgQml0IDIgKi8NCiNkZWZpbmUgU0NCX1BGUjBfU1RBVEUxMyAgICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDAwODApICAgICAgICAgIC8qKjwgU1RBVEUxIEJpdCAzICovDQojZGVmaW5lIFNDQl9QRlIwX1NUQVRFMV8wICAgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwMDAwKSAgICAgICAgICAvKio8IE4vQSAqLw0KI2RlZmluZSBTQ0JfUEZSMF9TVEFURTFfMSAgICAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMDAxMCkgICAgICAgICAgLyoqPCBOL0EgKi8NCiNkZWZpbmUgU0NCX1BGUjBfU1RBVEUxXzIgICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDAwMjApICAgICAgICAgIC8qKjwgVGh1bWItMiBlbmNvZGluZyB3aXRoIHRoZSAxNi1iaXQgYmFzaWMgaW5zdHJ1Y3Rpb25zIHBsdXMgMzItYml0IEJ1bmNvbmQvQkwgYnV0ICovDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiAgbm8gb3RoZXIgMzItYml0IGJhc2ljIGluc3RydWN0aW9ucyAoTm90ZSBub24tYmFzaWMgMzItYml0IGluc3RydWN0aW9ucyBjYW4gYmUgKi8NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qICBhZGRlZCB1c2luZyB0aGUgYXBwcm9wcmlhdGUgaW5zdHJ1Y3Rpb24gYXR0cmlidXRlLCBidXQgb3RoZXIgMzItYml0IGJhc2ljICAqLw0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyogaW5zdHJ1Y3Rpb25zIGNhbm5vdC4pICovDQojZGVmaW5lIFNDQl9QRlIwX1NUQVRFMV8zICAgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwMDMwKSAgICAgICAgICAvKio8IFRodW1iLTIgZW5jb2Rpbmcgd2l0aCBhbGwgVGh1bWItMiBiYXNpYyBpbnN0cnVjdGlvbnMgKi8NCi8qIFNDQl9QRlIxW01JQ1JPQ09OVFJPTExFUl9QUk9HUkFNTUVSU19NT0RFTF0gQml0cyAqLw0KI2RlZmluZSBTQ0JfUEZSMV9NSUNST0NPTlRST0xMRVJfUFJPR1JBTU1FUlNfTU9ERUxfT0ZTICggOCkgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyoqPCBNSUNST0NPTlRST0xMRVJfUFJPR1JBTU1FUlNfTU9ERUwgQml0IE9mZnNldCAqLw0KI2RlZmluZSBTQ0JfUEZSMV9NSUNST0NPTlRST0xMRVJfUFJPR1JBTU1FUlNfTU9ERUxfTUFTSyAoKHVpbnQzMl90KTB4MDAwMDBGMDApICAgICAgICAgIC8qKjwgTUlDUk9DT05UUk9MTEVSX1BST0dSQU1NRVJTX01PREVMIEJpdCBNYXNrICovDQojZGVmaW5lIFNDQl9QRlIxX01JQ1JPQ09OVFJPTExFUl9QUk9HUkFNTUVSU19NT0RFTDAgKCh1aW50MzJfdCkweDAwMDAwMTAwKSAgICAgICAgICAvKio8IE1JQ1JPQ09OVFJPTExFUl9QUk9HUkFNTUVSU19NT0RFTCBCaXQgMCAqLw0KI2RlZmluZSBTQ0JfUEZSMV9NSUNST0NPTlRST0xMRVJfUFJPR1JBTU1FUlNfTU9ERUwxICgodWludDMyX3QpMHgwMDAwMDIwMCkgICAgICAgICAgLyoqPCBNSUNST0NPTlRST0xMRVJfUFJPR1JBTU1FUlNfTU9ERUwgQml0IDEgKi8NCiNkZWZpbmUgU0NCX1BGUjFfTUlDUk9DT05UUk9MTEVSX1BST0dSQU1NRVJTX01PREVMMiAoKHVpbnQzMl90KTB4MDAwMDA0MDApICAgICAgICAgIC8qKjwgTUlDUk9DT05UUk9MTEVSX1BST0dSQU1NRVJTX01PREVMIEJpdCAyICovDQojZGVmaW5lIFNDQl9QRlIxX01JQ1JPQ09OVFJPTExFUl9QUk9HUkFNTUVSU19NT0RFTDMgKCh1aW50MzJfdCkweDAwMDAwODAwKSAgICAgICAgICAvKio8IE1JQ1JPQ09OVFJPTExFUl9QUk9HUkFNTUVSU19NT0RFTCBCaXQgMyAqLw0KI2RlZmluZSBTQ0JfUEZSMV9NSUNST0NPTlRST0xMRVJfUFJPR1JBTU1FUlNfTU9ERUxfMCAoKHVpbnQzMl90KTB4MDAwMDAwMDApICAgICAgICAgIC8qKjwgbm90IHN1cHBvcnRlZCAqLw0KI2RlZmluZSBTQ0JfUEZSMV9NSUNST0NPTlRST0xMRVJfUFJPR1JBTU1FUlNfTU9ERUxfMiAoKHVpbnQzMl90KTB4MDAwMDAyMDApICAgICAgICAgIC8qKjwgdHdvLXN0YWNrIHN1cHBvcnQgKi8NCi8qIFNDQl9ERlIwW01JQ1JPQ09OVFJPTExFUl9ERUJVR19NT0RFTF0gQml0cyAqLw0KI2RlZmluZSBTQ0JfREZSMF9NSUNST0NPTlRST0xMRVJfREVCVUdfTU9ERUxfT0ZTICgyMCkgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyoqPCBNSUNST0NPTlRST0xMRVJfREVCVUdfTU9ERUwgQml0IE9mZnNldCAqLw0KI2RlZmluZSBTQ0JfREZSMF9NSUNST0NPTlRST0xMRVJfREVCVUdfTU9ERUxfTUFTSyAoKHVpbnQzMl90KTB4MDBGMDAwMDApICAgICAgICAgIC8qKjwgTUlDUk9DT05UUk9MTEVSX0RFQlVHX01PREVMIEJpdCBNYXNrICovDQojZGVmaW5lIFNDQl9ERlIwX01JQ1JPQ09OVFJPTExFUl9ERUJVR19NT0RFTDAgICAgKCh1aW50MzJfdCkweDAwMTAwMDAwKSAgICAgICAgICAvKio8IE1JQ1JPQ09OVFJPTExFUl9ERUJVR19NT0RFTCBCaXQgMCAqLw0KI2RlZmluZSBTQ0JfREZSMF9NSUNST0NPTlRST0xMRVJfREVCVUdfTU9ERUwxICAgICgodWludDMyX3QpMHgwMDIwMDAwMCkgICAgICAgICAgLyoqPCBNSUNST0NPTlRST0xMRVJfREVCVUdfTU9ERUwgQml0IDEgKi8NCiNkZWZpbmUgU0NCX0RGUjBfTUlDUk9DT05UUk9MTEVSX0RFQlVHX01PREVMMiAgICAoKHVpbnQzMl90KTB4MDA0MDAwMDApICAgICAgICAgIC8qKjwgTUlDUk9DT05UUk9MTEVSX0RFQlVHX01PREVMIEJpdCAyICovDQojZGVmaW5lIFNDQl9ERlIwX01JQ1JPQ09OVFJPTExFUl9ERUJVR19NT0RFTDMgICAgKCh1aW50MzJfdCkweDAwODAwMDAwKSAgICAgICAgICAvKio8IE1JQ1JPQ09OVFJPTExFUl9ERUJVR19NT0RFTCBCaXQgMyAqLw0KI2RlZmluZSBTQ0JfREZSMF9NSUNST0NPTlRST0xMRVJfREVCVUdfTU9ERUxfMCAgICgodWludDMyX3QpMHgwMDAwMDAwMCkgICAgICAgICAgLyoqPCBub3Qgc3VwcG9ydGVkICovDQojZGVmaW5lIFNDQl9ERlIwX01JQ1JPQ09OVFJPTExFUl9ERUJVR19NT0RFTF8xICAgKCh1aW50MzJfdCkweDAwMTAwMDAwKSAgICAgICAgICAvKio8IE1pY3JvY29udHJvbGxlciBkZWJ1ZyB2MSAoSVRNdjEsIERXVHYxLCBvcHRpb25hbCBFVE0pICovDQovKiBTQ0JfTU1GUjBbUE1TQV9TVVBQT1JUXSBCaXRzICovDQojZGVmaW5lIFNDQl9NTUZSMF9QTVNBX1NVUFBPUlRfT0ZTICAgICAgICAgICAgICAgKCA0KSAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKio8IFBNU0FfU1VQUE9SVCBCaXQgT2Zmc2V0ICovDQojZGVmaW5lIFNDQl9NTUZSMF9QTVNBX1NVUFBPUlRfTUFTSyAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwMEYwKSAgICAgICAgICAvKio8IFBNU0FfU1VQUE9SVCBCaXQgTWFzayAqLw0KI2RlZmluZSBTQ0JfTU1GUjBfUE1TQV9TVVBQT1JUMCAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMDAxMCkgICAgICAgICAgLyoqPCBQTVNBX1NVUFBPUlQgQml0IDAgKi8NCiNkZWZpbmUgU0NCX01NRlIwX1BNU0FfU1VQUE9SVDEgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDAwMjApICAgICAgICAgIC8qKjwgUE1TQV9TVVBQT1JUIEJpdCAxICovDQojZGVmaW5lIFNDQl9NTUZSMF9QTVNBX1NVUFBPUlQyICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwMDQwKSAgICAgICAgICAvKio8IFBNU0FfU1VQUE9SVCBCaXQgMiAqLw0KI2RlZmluZSBTQ0JfTU1GUjBfUE1TQV9TVVBQT1JUMyAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMDA4MCkgICAgICAgICAgLyoqPCBQTVNBX1NVUFBPUlQgQml0IDMgKi8NCiNkZWZpbmUgU0NCX01NRlIwX1BNU0FfU1VQUE9SVF8wICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDAwMDApICAgICAgICAgIC8qKjwgbm90IHN1cHBvcnRlZCAqLw0KI2RlZmluZSBTQ0JfTU1GUjBfUE1TQV9TVVBQT1JUXzEgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMDAxMCkgICAgICAgICAgLyoqPCBJTVBMRU1FTlRBVElPTiBERUZJTkVEIChOL0EpICovDQojZGVmaW5lIFNDQl9NTUZSMF9QTVNBX1NVUFBPUlRfMiAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwMDIwKSAgICAgICAgICAvKio8IFBNU0EgYmFzZSAoZmVhdHVyZXMgYXMgZGVmaW5lZCBmb3IgQVJNdjYpIChOL0EpICovDQojZGVmaW5lIFNDQl9NTUZSMF9QTVNBX1NVUFBPUlRfMyAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwMDMwKSAgICAgICAgICAvKio8IFBNU0F2NyAoYmFzZSBwbHVzIHN1YnJlZ2lvbiBzdXBwb3J0KSAqLw0KLyogU0NCX01NRlIwW0NBQ0hFX0NPSEVSRU5DRV9TVVBQT1JUXSBCaXRzICovDQojZGVmaW5lIFNDQl9NTUZSMF9DQUNIRV9DT0hFUkVOQ0VfU1VQUE9SVF9PRlMgICAgKCA4KSAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKio8IENBQ0hFX0NPSEVSRU5DRV9TVVBQT1JUIEJpdCBPZmZzZXQgKi8NCiNkZWZpbmUgU0NCX01NRlIwX0NBQ0hFX0NPSEVSRU5DRV9TVVBQT1JUX01BU0sgICAoKHVpbnQzMl90KTB4MDAwMDBGMDApICAgICAgICAgIC8qKjwgQ0FDSEVfQ09IRVJFTkNFX1NVUFBPUlQgQml0IE1hc2sgKi8NCiNkZWZpbmUgU0NCX01NRlIwX0NBQ0hFX0NPSEVSRU5DRV9TVVBQT1JUMCAgICAgICAoKHVpbnQzMl90KTB4MDAwMDAxMDApICAgICAgICAgIC8qKjwgQ0FDSEVfQ09IRVJFTkNFX1NVUFBPUlQgQml0IDAgKi8NCiNkZWZpbmUgU0NCX01NRlIwX0NBQ0hFX0NPSEVSRU5DRV9TVVBQT1JUMSAgICAgICAoKHVpbnQzMl90KTB4MDAwMDAyMDApICAgICAgICAgIC8qKjwgQ0FDSEVfQ09IRVJFTkNFX1NVUFBPUlQgQml0IDEgKi8NCiNkZWZpbmUgU0NCX01NRlIwX0NBQ0hFX0NPSEVSRU5DRV9TVVBQT1JUMiAgICAgICAoKHVpbnQzMl90KTB4MDAwMDA0MDApICAgICAgICAgIC8qKjwgQ0FDSEVfQ09IRVJFTkNFX1NVUFBPUlQgQml0IDIgKi8NCiNkZWZpbmUgU0NCX01NRlIwX0NBQ0hFX0NPSEVSRU5DRV9TVVBQT1JUMyAgICAgICAoKHVpbnQzMl90KTB4MDAwMDA4MDApICAgICAgICAgIC8qKjwgQ0FDSEVfQ09IRVJFTkNFX1NVUFBPUlQgQml0IDMgKi8NCiNkZWZpbmUgU0NCX01NRlIwX0NBQ0hFX0NPSEVSRU5DRV9TVVBQT1JUXzAgICAgICAoKHVpbnQzMl90KTB4MDAwMDAwMDApICAgICAgICAgIC8qKjwgbm8gc2hhcmVkIHN1cHBvcnQgKi8NCiNkZWZpbmUgU0NCX01NRlIwX0NBQ0hFX0NPSEVSRU5DRV9TVVBQT1JUXzEgICAgICAoKHVpbnQzMl90KTB4MDAwMDAxMDApICAgICAgICAgIC8qKjwgcGFydGlhbC1pbm5lci1zaGFyZWQgY29oZXJlbmN5IChjb2hlcmVuY3kgYW1vbmdzdCBzb21lIC0gYnV0IG5vdCBhbGwgLSBvZiB0aGUgICovDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiBlbnRpdGllcyB3aXRoaW4gYW4gaW5uZXItY29oZXJlbnQgZG9tYWluKSAqLw0KI2RlZmluZSBTQ0JfTU1GUjBfQ0FDSEVfQ09IRVJFTkNFX1NVUFBPUlRfMiAgICAgICgodWludDMyX3QpMHgwMDAwMDIwMCkgICAgICAgICAgLyoqPCBmdWxsLWlubmVyLXNoYXJlZCBjb2hlcmVuY3kgKGNvaGVyZW5jeSBhbW9uZ3N0IGFsbCBvZiB0aGUgZW50aXRpZXMgd2l0aGluIGFuICAqLw0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyogaW5uZXItY29oZXJlbnQgZG9tYWluKSAqLw0KI2RlZmluZSBTQ0JfTU1GUjBfQ0FDSEVfQ09IRVJFTkNFX1NVUFBPUlRfMyAgICAgICgodWludDMyX3QpMHgwMDAwMDMwMCkgICAgICAgICAgLyoqPCBmdWxsIGNvaGVyZW5jeSAoY29oZXJlbmN5IGFtb25nc3QgYWxsIG9mIHRoZSBlbnRpdGllcykgKi8NCi8qIFNDQl9NTUZSMFtPVVRFUl9OT05fU0hBUkFCTEVfU1VQUE9SVF0gQml0cyAqLw0KI2RlZmluZSBTQ0JfTU1GUjBfT1VURVJfTk9OX1NIQVJBQkxFX1NVUFBPUlRfT0ZTICgxMikgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyoqPCBPVVRFUl9OT05fU0hBUkFCTEVfU1VQUE9SVCBCaXQgT2Zmc2V0ICovDQojZGVmaW5lIFNDQl9NTUZSMF9PVVRFUl9OT05fU0hBUkFCTEVfU1VQUE9SVF9NQVNLICgodWludDMyX3QpMHgwMDAwRjAwMCkgICAgICAgICAgLyoqPCBPVVRFUl9OT05fU0hBUkFCTEVfU1VQUE9SVCBCaXQgTWFzayAqLw0KI2RlZmluZSBTQ0JfTU1GUjBfT1VURVJfTk9OX1NIQVJBQkxFX1NVUFBPUlQwICAgICgodWludDMyX3QpMHgwMDAwMTAwMCkgICAgICAgICAgLyoqPCBPVVRFUl9OT05fU0hBUkFCTEVfU1VQUE9SVCBCaXQgMCAqLw0KI2RlZmluZSBTQ0JfTU1GUjBfT1VURVJfTk9OX1NIQVJBQkxFX1NVUFBPUlQxICAgICgodWludDMyX3QpMHgwMDAwMjAwMCkgICAgICAgICAgLyoqPCBPVVRFUl9OT05fU0hBUkFCTEVfU1VQUE9SVCBCaXQgMSAqLw0KI2RlZmluZSBTQ0JfTU1GUjBfT1VURVJfTk9OX1NIQVJBQkxFX1NVUFBPUlQyICAgICgodWludDMyX3QpMHgwMDAwNDAwMCkgICAgICAgICAgLyoqPCBPVVRFUl9OT05fU0hBUkFCTEVfU1VQUE9SVCBCaXQgMiAqLw0KI2RlZmluZSBTQ0JfTU1GUjBfT1VURVJfTk9OX1NIQVJBQkxFX1NVUFBPUlQzICAgICgodWludDMyX3QpMHgwMDAwODAwMCkgICAgICAgICAgLyoqPCBPVVRFUl9OT05fU0hBUkFCTEVfU1VQUE9SVCBCaXQgMyAqLw0KI2RlZmluZSBTQ0JfTU1GUjBfT1VURVJfTk9OX1NIQVJBQkxFX1NVUFBPUlRfMCAgICgodWludDMyX3QpMHgwMDAwMDAwMCkgICAgICAgICAgLyoqPCBPdXRlciBub24tc2hhcmFibGUgbm90IHN1cHBvcnRlZCAqLw0KI2RlZmluZSBTQ0JfTU1GUjBfT1VURVJfTk9OX1NIQVJBQkxFX1NVUFBPUlRfMSAgICgodWludDMyX3QpMHgwMDAwMTAwMCkgICAgICAgICAgLyoqPCBPdXRlciBzaGFyYWJsZSBzdXBwb3J0ZWQgKi8NCi8qIFNDQl9NTUZSMFtBVUlMSUFSWV9SRUdJU1RFUl9TVVBQT1JUXSBCaXRzICovDQojZGVmaW5lIFNDQl9NTUZSMF9BVUlMSUFSWV9SRUdJU1RFUl9TVVBQT1JUX09GUyAgKDIwKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKio8IEFVWElMSUFSWV9SRUdJU1RFUl9TVVBQT1JUIEJpdCBPZmZzZXQgKi8NCiNkZWZpbmUgU0NCX01NRlIwX0FVSUxJQVJZX1JFR0lTVEVSX1NVUFBPUlRfTUFTSyAoKHVpbnQzMl90KTB4MDBGMDAwMDApICAgICAgICAgIC8qKjwgQVVYSUxJQVJZX1JFR0lTVEVSX1NVUFBPUlQgQml0IE1hc2sgKi8NCiNkZWZpbmUgU0NCX01NRlIwX0FVSUxJQVJZX1JFR0lTVEVSX1NVUFBPUlQwICAgICAoKHVpbnQzMl90KTB4MDAxMDAwMDApICAgICAgICAgIC8qKjwgQVVJTElBUllfUkVHSVNURVJfU1VQUE9SVCBCaXQgMCAqLw0KI2RlZmluZSBTQ0JfTU1GUjBfQVVJTElBUllfUkVHSVNURVJfU1VQUE9SVDEgICAgICgodWludDMyX3QpMHgwMDIwMDAwMCkgICAgICAgICAgLyoqPCBBVUlMSUFSWV9SRUdJU1RFUl9TVVBQT1JUIEJpdCAxICovDQojZGVmaW5lIFNDQl9NTUZSMF9BVUlMSUFSWV9SRUdJU1RFUl9TVVBQT1JUMiAgICAgKCh1aW50MzJfdCkweDAwNDAwMDAwKSAgICAgICAgICAvKio8IEFVSUxJQVJZX1JFR0lTVEVSX1NVUFBPUlQgQml0IDIgKi8NCiNkZWZpbmUgU0NCX01NRlIwX0FVSUxJQVJZX1JFR0lTVEVSX1NVUFBPUlQzICAgICAoKHVpbnQzMl90KTB4MDA4MDAwMDApICAgICAgICAgIC8qKjwgQVVJTElBUllfUkVHSVNURVJfU1VQUE9SVCBCaXQgMyAqLw0KI2RlZmluZSBTQ0JfTU1GUjBfQVVJTElBUllfUkVHSVNURVJfU1VQUE9SVF8wICAgICgodWludDMyX3QpMHgwMDAwMDAwMCkgICAgICAgICAgLyoqPCBub3Qgc3VwcG9ydGVkICovDQojZGVmaW5lIFNDQl9NTUZSMF9BVUlMSUFSWV9SRUdJU1RFUl9TVVBQT1JUXzEgICAgKCh1aW50MzJfdCkweDAwMTAwMDAwKSAgICAgICAgICAvKio8IEF1eGlsaWFyeSBjb250cm9sIHJlZ2lzdGVyICovDQovKiBTQ0JfTU1GUjJbV0FJVF9GT1JfSU5URVJSVVBUX1NUQUxMSU5HXSBCaXRzICovDQojZGVmaW5lIFNDQl9NTUZSMl9XQUlUX0ZPUl9JTlRFUlJVUFRfU1RBTExJTkdfT0ZTICgyNCkgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyoqPCBXQUlUX0ZPUl9JTlRFUlJVUFRfU1RBTExJTkcgQml0IE9mZnNldCAqLw0KI2RlZmluZSBTQ0JfTU1GUjJfV0FJVF9GT1JfSU5URVJSVVBUX1NUQUxMSU5HX01BU0sgKCh1aW50MzJfdCkweDBGMDAwMDAwKSAgICAgICAgICAvKio8IFdBSVRfRk9SX0lOVEVSUlVQVF9TVEFMTElORyBCaXQgTWFzayAqLw0KI2RlZmluZSBTQ0JfTU1GUjJfV0FJVF9GT1JfSU5URVJSVVBUX1NUQUxMSU5HMCAgICgodWludDMyX3QpMHgwMTAwMDAwMCkgICAgICAgICAgLyoqPCBXQUlUX0ZPUl9JTlRFUlJVUFRfU1RBTExJTkcgQml0IDAgKi8NCiNkZWZpbmUgU0NCX01NRlIyX1dBSVRfRk9SX0lOVEVSUlVQVF9TVEFMTElORzEgICAoKHVpbnQzMl90KTB4MDIwMDAwMDApICAgICAgICAgIC8qKjwgV0FJVF9GT1JfSU5URVJSVVBUX1NUQUxMSU5HIEJpdCAxICovDQojZGVmaW5lIFNDQl9NTUZSMl9XQUlUX0ZPUl9JTlRFUlJVUFRfU1RBTExJTkcyICAgKCh1aW50MzJfdCkweDA0MDAwMDAwKSAgICAgICAgICAvKio8IFdBSVRfRk9SX0lOVEVSUlVQVF9TVEFMTElORyBCaXQgMiAqLw0KI2RlZmluZSBTQ0JfTU1GUjJfV0FJVF9GT1JfSU5URVJSVVBUX1NUQUxMSU5HMyAgICgodWludDMyX3QpMHgwODAwMDAwMCkgICAgICAgICAgLyoqPCBXQUlUX0ZPUl9JTlRFUlJVUFRfU1RBTExJTkcgQml0IDMgKi8NCiNkZWZpbmUgU0NCX01NRlIyX1dBSVRfRk9SX0lOVEVSUlVQVF9TVEFMTElOR18wICAoKHVpbnQzMl90KTB4MDAwMDAwMDApICAgICAgICAgIC8qKjwgbm90IHN1cHBvcnRlZCAqLw0KI2RlZmluZSBTQ0JfTU1GUjJfV0FJVF9GT1JfSU5URVJSVVBUX1NUQUxMSU5HXzEgICgodWludDMyX3QpMHgwMTAwMDAwMCkgICAgICAgICAgLyoqPCB3YWl0IGZvciBpbnRlcnJ1cHQgc3VwcG9ydGVkICovDQovKiBTQ0JfSVNBUjBbQklUQ09VTlRfSU5TVFJTXSBCaXRzICovDQojZGVmaW5lIFNDQl9JU0FSMF9CSVRDT1VOVF9JTlNUUlNfT0ZTICAgICAgICAgICAgKCA0KSAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKio8IEJJVENPVU5UX0lOU1RSUyBCaXQgT2Zmc2V0ICovDQojZGVmaW5lIFNDQl9JU0FSMF9CSVRDT1VOVF9JTlNUUlNfTUFTSyAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwMEYwKSAgICAgICAgICAvKio8IEJJVENPVU5UX0lOU1RSUyBCaXQgTWFzayAqLw0KI2RlZmluZSBTQ0JfSVNBUjBfQklUQ09VTlRfSU5TVFJTMCAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMDAxMCkgICAgICAgICAgLyoqPCBCSVRDT1VOVF9JTlNUUlMgQml0IDAgKi8NCiNkZWZpbmUgU0NCX0lTQVIwX0JJVENPVU5UX0lOU1RSUzEgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDAwMjApICAgICAgICAgIC8qKjwgQklUQ09VTlRfSU5TVFJTIEJpdCAxICovDQojZGVmaW5lIFNDQl9JU0FSMF9CSVRDT1VOVF9JTlNUUlMyICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwMDQwKSAgICAgICAgICAvKio8IEJJVENPVU5UX0lOU1RSUyBCaXQgMiAqLw0KI2RlZmluZSBTQ0JfSVNBUjBfQklUQ09VTlRfSU5TVFJTMyAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMDA4MCkgICAgICAgICAgLyoqPCBCSVRDT1VOVF9JTlNUUlMgQml0IDMgKi8NCiNkZWZpbmUgU0NCX0lTQVIwX0JJVENPVU5UX0lOU1RSU18wICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDAwMDApICAgICAgICAgIC8qKjwgbm8gYml0LWNvdW50aW5nIGluc3RydWN0aW9ucyBwcmVzZW50ICovDQojZGVmaW5lIFNDQl9JU0FSMF9CSVRDT1VOVF9JTlNUUlNfMSAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwMDEwKSAgICAgICAgICAvKio8IGFkZHMgQ0xaICovDQovKiBTQ0JfSVNBUjBbQklURklFTERfSU5TVFJTXSBCaXRzICovDQojZGVmaW5lIFNDQl9JU0FSMF9CSVRGSUVMRF9JTlNUUlNfT0ZTICAgICAgICAgICAgKCA4KSAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKio8IEJJVEZJRUxEX0lOU1RSUyBCaXQgT2Zmc2V0ICovDQojZGVmaW5lIFNDQl9JU0FSMF9CSVRGSUVMRF9JTlNUUlNfTUFTSyAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwRjAwKSAgICAgICAgICAvKio8IEJJVEZJRUxEX0lOU1RSUyBCaXQgTWFzayAqLw0KI2RlZmluZSBTQ0JfSVNBUjBfQklURklFTERfSU5TVFJTMCAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMDEwMCkgICAgICAgICAgLyoqPCBCSVRGSUVMRF9JTlNUUlMgQml0IDAgKi8NCiNkZWZpbmUgU0NCX0lTQVIwX0JJVEZJRUxEX0lOU1RSUzEgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDAyMDApICAgICAgICAgIC8qKjwgQklURklFTERfSU5TVFJTIEJpdCAxICovDQojZGVmaW5lIFNDQl9JU0FSMF9CSVRGSUVMRF9JTlNUUlMyICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwNDAwKSAgICAgICAgICAvKio8IEJJVEZJRUxEX0lOU1RSUyBCaXQgMiAqLw0KI2RlZmluZSBTQ0JfSVNBUjBfQklURklFTERfSU5TVFJTMyAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMDgwMCkgICAgICAgICAgLyoqPCBCSVRGSUVMRF9JTlNUUlMgQml0IDMgKi8NCiNkZWZpbmUgU0NCX0lTQVIwX0JJVEZJRUxEX0lOU1RSU18wICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDAwMDApICAgICAgICAgIC8qKjwgbm8gYml0ZmllbGQgaW5zdHJ1Y3Rpb25zIHByZXNlbnQgKi8NCiNkZWZpbmUgU0NCX0lTQVIwX0JJVEZJRUxEX0lOU1RSU18xICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDAxMDApICAgICAgICAgIC8qKjwgYWRkcyBCRkMsIEJGSSwgU0JGWCwgVUJGWCAqLw0KLyogU0NCX0lTQVIwW0NNUEJSQU5DSF9JTlNUUlNdIEJpdHMgKi8NCiNkZWZpbmUgU0NCX0lTQVIwX0NNUEJSQU5DSF9JTlNUUlNfT0ZTICAgICAgICAgICAoMTIpICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgQ01QQlJBTkNIX0lOU1RSUyBCaXQgT2Zmc2V0ICovDQojZGVmaW5lIFNDQl9JU0FSMF9DTVBCUkFOQ0hfSU5TVFJTX01BU0sgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDBGMDAwKSAgICAgICAgICAvKio8IENNUEJSQU5DSF9JTlNUUlMgQml0IE1hc2sgKi8NCiNkZWZpbmUgU0NCX0lTQVIwX0NNUEJSQU5DSF9JTlNUUlMwICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDEwMDApICAgICAgICAgIC8qKjwgQ01QQlJBTkNIX0lOU1RSUyBCaXQgMCAqLw0KI2RlZmluZSBTQ0JfSVNBUjBfQ01QQlJBTkNIX0lOU1RSUzEgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMjAwMCkgICAgICAgICAgLyoqPCBDTVBCUkFOQ0hfSU5TVFJTIEJpdCAxICovDQojZGVmaW5lIFNDQl9JU0FSMF9DTVBCUkFOQ0hfSU5TVFJTMiAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDA0MDAwKSAgICAgICAgICAvKio8IENNUEJSQU5DSF9JTlNUUlMgQml0IDIgKi8NCiNkZWZpbmUgU0NCX0lTQVIwX0NNUEJSQU5DSF9JTlNUUlMzICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDgwMDApICAgICAgICAgIC8qKjwgQ01QQlJBTkNIX0lOU1RSUyBCaXQgMyAqLw0KI2RlZmluZSBTQ0JfSVNBUjBfQ01QQlJBTkNIX0lOU1RSU18wICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMDAwMCkgICAgICAgICAgLyoqPCBubyBjb21iaW5lZCBjb21wYXJlLWFuZC1icmFuY2ggaW5zdHJ1Y3Rpb25zIHByZXNlbnQgKi8NCiNkZWZpbmUgU0NCX0lTQVIwX0NNUEJSQU5DSF9JTlNUUlNfMSAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDEwMDApICAgICAgICAgIC8qKjwgYWRkcyBDQntOfVogKi8NCi8qIFNDQl9JU0FSMFtDT1BST0NfSU5TVFJTXSBCaXRzICovDQojZGVmaW5lIFNDQl9JU0FSMF9DT1BST0NfSU5TVFJTX09GUyAgICAgICAgICAgICAgKDE2KSAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKio8IENPUFJPQ19JTlNUUlMgQml0IE9mZnNldCAqLw0KI2RlZmluZSBTQ0JfSVNBUjBfQ09QUk9DX0lOU1RSU19NQVNLICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDBGMDAwMCkgICAgICAgICAgLyoqPCBDT1BST0NfSU5TVFJTIEJpdCBNYXNrICovDQojZGVmaW5lIFNDQl9JU0FSMF9DT1BST0NfSU5TVFJTMCAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDEwMDAwKSAgICAgICAgICAvKio8IENPUFJPQ19JTlNUUlMgQml0IDAgKi8NCiNkZWZpbmUgU0NCX0lTQVIwX0NPUFJPQ19JTlNUUlMxICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMjAwMDApICAgICAgICAgIC8qKjwgQ09QUk9DX0lOU1RSUyBCaXQgMSAqLw0KI2RlZmluZSBTQ0JfSVNBUjBfQ09QUk9DX0lOU1RSUzIgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDA0MDAwMCkgICAgICAgICAgLyoqPCBDT1BST0NfSU5TVFJTIEJpdCAyICovDQojZGVmaW5lIFNDQl9JU0FSMF9DT1BST0NfSU5TVFJTMyAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDgwMDAwKSAgICAgICAgICAvKio8IENPUFJPQ19JTlNUUlMgQml0IDMgKi8NCiNkZWZpbmUgU0NCX0lTQVIwX0NPUFJPQ19JTlNUUlNfMCAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDAwMDApICAgICAgICAgIC8qKjwgbm8gY29wcm9jZXNzb3Igc3VwcG9ydCwgb3RoZXIgdGhhbiBmb3Igc2VwYXJhdGVseSBhdHRyaWJ1dGVkIGFyY2hpdGVjdHVyZXMgICovDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiBzdWNoIGFzIENQMTUgb3IgVkZQICovDQojZGVmaW5lIFNDQl9JU0FSMF9DT1BST0NfSU5TVFJTXzEgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDEwMDAwKSAgICAgICAgICAvKio8IGFkZHMgZ2VuZXJpYyBDRFAsIExEQywgTUNSLCBNUkMsIFNUQyAqLw0KI2RlZmluZSBTQ0JfSVNBUjBfQ09QUk9DX0lOU1RSU18yICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAyMDAwMCkgICAgICAgICAgLyoqPCBhZGRzIGdlbmVyaWMgQ0RQMiwgTERDMiwgTUNSMiwgTVJDMiwgU1RDMiAqLw0KI2RlZmluZSBTQ0JfSVNBUjBfQ09QUk9DX0lOU1RSU18zICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAzMDAwMCkgICAgICAgICAgLyoqPCBhZGRzIGdlbmVyaWMgTUNSUiwgTVJSQyAqLw0KI2RlZmluZSBTQ0JfSVNBUjBfQ09QUk9DX0lOU1RSU180ICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDA0MDAwMCkgICAgICAgICAgLyoqPCBhZGRzIGdlbmVyaWMgTUNSUjIsIE1SUkMyICovDQovKiBTQ0JfSVNBUjBbREVCVUdfSU5TVFJTXSBCaXRzICovDQojZGVmaW5lIFNDQl9JU0FSMF9ERUJVR19JTlNUUlNfT0ZTICAgICAgICAgICAgICAgKDIwKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKio8IERFQlVHX0lOU1RSUyBCaXQgT2Zmc2V0ICovDQojZGVmaW5lIFNDQl9JU0FSMF9ERUJVR19JTlNUUlNfTUFTSyAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwRjAwMDAwKSAgICAgICAgICAvKio8IERFQlVHX0lOU1RSUyBCaXQgTWFzayAqLw0KI2RlZmluZSBTQ0JfSVNBUjBfREVCVUdfSU5TVFJTMCAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDEwMDAwMCkgICAgICAgICAgLyoqPCBERUJVR19JTlNUUlMgQml0IDAgKi8NCiNkZWZpbmUgU0NCX0lTQVIwX0RFQlVHX0lOU1RSUzEgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAyMDAwMDApICAgICAgICAgIC8qKjwgREVCVUdfSU5TVFJTIEJpdCAxICovDQojZGVmaW5lIFNDQl9JU0FSMF9ERUJVR19JTlNUUlMyICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwNDAwMDAwKSAgICAgICAgICAvKio8IERFQlVHX0lOU1RSUyBCaXQgMiAqLw0KI2RlZmluZSBTQ0JfSVNBUjBfREVCVUdfSU5TVFJTMyAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDgwMDAwMCkgICAgICAgICAgLyoqPCBERUJVR19JTlNUUlMgQml0IDMgKi8NCiNkZWZpbmUgU0NCX0lTQVIwX0RFQlVHX0lOU1RSU18wICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDAwMDApICAgICAgICAgIC8qKjwgbm8gZGVidWcgaW5zdHJ1Y3Rpb25zIHByZXNlbnQgKi8NCiNkZWZpbmUgU0NCX0lTQVIwX0RFQlVHX0lOU1RSU18xICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAxMDAwMDApICAgICAgICAgIC8qKjwgYWRkcyBCS1BUICovDQovKiBTQ0JfSVNBUjBbRElWSURFX0lOU1RSU10gQml0cyAqLw0KI2RlZmluZSBTQ0JfSVNBUjBfRElWSURFX0lOU1RSU19PRlMgICAgICAgICAgICAgICgyNCkgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyoqPCBESVZJREVfSU5TVFJTIEJpdCBPZmZzZXQgKi8NCiNkZWZpbmUgU0NCX0lTQVIwX0RJVklERV9JTlNUUlNfTUFTSyAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MEYwMDAwMDApICAgICAgICAgIC8qKjwgRElWSURFX0lOU1RSUyBCaXQgTWFzayAqLw0KI2RlZmluZSBTQ0JfSVNBUjBfRElWSURFX0lOU1RSUzAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMTAwMDAwMCkgICAgICAgICAgLyoqPCBESVZJREVfSU5TVFJTIEJpdCAwICovDQojZGVmaW5lIFNDQl9JU0FSMF9ESVZJREVfSU5TVFJTMSAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAyMDAwMDAwKSAgICAgICAgICAvKio8IERJVklERV9JTlNUUlMgQml0IDEgKi8NCiNkZWZpbmUgU0NCX0lTQVIwX0RJVklERV9JTlNUUlMyICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDQwMDAwMDApICAgICAgICAgIC8qKjwgRElWSURFX0lOU1RSUyBCaXQgMiAqLw0KI2RlZmluZSBTQ0JfSVNBUjBfRElWSURFX0lOU1RSUzMgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwODAwMDAwMCkgICAgICAgICAgLyoqPCBESVZJREVfSU5TVFJTIEJpdCAzICovDQojZGVmaW5lIFNDQl9JU0FSMF9ESVZJREVfSU5TVFJTXzAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwMDAwKSAgICAgICAgICAvKio8IG5vIGRpdmlkZSBpbnN0cnVjdGlvbnMgcHJlc2VudCAqLw0KI2RlZmluZSBTQ0JfSVNBUjBfRElWSURFX0lOU1RSU18xICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMTAwMDAwMCkgICAgICAgICAgLyoqPCBhZGRzIFNESVYsIFVESVYgKHYxIHF1b3RpZW50IG9ubHkgcmVzdWx0KSAqLw0KLyogU0NCX0lTQVIxW0VURU5EX0lOU1JTXSBCaXRzICovDQojZGVmaW5lIFNDQl9JU0FSMV9FVEVORF9JTlNSU19PRlMgICAgICAgICAgICAgICAgKDEyKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKio8IEVYVEVORF9JTlNSUyBCaXQgT2Zmc2V0ICovDQojZGVmaW5lIFNDQl9JU0FSMV9FVEVORF9JTlNSU19NQVNLICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDBGMDAwKSAgICAgICAgICAvKio8IEVYVEVORF9JTlNSUyBCaXQgTWFzayAqLw0KI2RlZmluZSBTQ0JfSVNBUjFfRVRFTkRfSU5TUlMwICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMTAwMCkgICAgICAgICAgLyoqPCBFVEVORF9JTlNSUyBCaXQgMCAqLw0KI2RlZmluZSBTQ0JfSVNBUjFfRVRFTkRfSU5TUlMxICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMjAwMCkgICAgICAgICAgLyoqPCBFVEVORF9JTlNSUyBCaXQgMSAqLw0KI2RlZmluZSBTQ0JfSVNBUjFfRVRFTkRfSU5TUlMyICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwNDAwMCkgICAgICAgICAgLyoqPCBFVEVORF9JTlNSUyBCaXQgMiAqLw0KI2RlZmluZSBTQ0JfSVNBUjFfRVRFTkRfSU5TUlMzICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwODAwMCkgICAgICAgICAgLyoqPCBFVEVORF9JTlNSUyBCaXQgMyAqLw0KI2RlZmluZSBTQ0JfSVNBUjFfRVRFTkRfSU5TUlNfMCAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMDAwMCkgICAgICAgICAgLyoqPCBubyBzY2FsYXIgKGkuZS4gbm9uLVNJTUQpIHNpZ24vemVyby1leHRlbmQgaW5zdHJ1Y3Rpb25zIHByZXNlbnQgKi8NCiNkZWZpbmUgU0NCX0lTQVIxX0VURU5EX0lOU1JTXzEgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDEwMDApICAgICAgICAgIC8qKjwgYWRkcyBTWFRCLCBTWFRILCBVWFRCLCBVWFRIICovDQojZGVmaW5lIFNDQl9JU0FSMV9FVEVORF9JTlNSU18yICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAyMDAwKSAgICAgICAgICAvKio8IE4vQSAqLw0KLyogU0NCX0lTQVIxW0lGVEhFTl9JTlNUUlNdIEJpdHMgKi8NCiNkZWZpbmUgU0NCX0lTQVIxX0lGVEhFTl9JTlNUUlNfT0ZTICAgICAgICAgICAgICAoMTYpICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgSUZUSEVOX0lOU1RSUyBCaXQgT2Zmc2V0ICovDQojZGVmaW5lIFNDQl9JU0FSMV9JRlRIRU5fSU5TVFJTX01BU0sgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMEYwMDAwKSAgICAgICAgICAvKio8IElGVEhFTl9JTlNUUlMgQml0IE1hc2sgKi8NCiNkZWZpbmUgU0NCX0lTQVIxX0lGVEhFTl9JTlNUUlMwICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMTAwMDApICAgICAgICAgIC8qKjwgSUZUSEVOX0lOU1RSUyBCaXQgMCAqLw0KI2RlZmluZSBTQ0JfSVNBUjFfSUZUSEVOX0lOU1RSUzEgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAyMDAwMCkgICAgICAgICAgLyoqPCBJRlRIRU5fSU5TVFJTIEJpdCAxICovDQojZGVmaW5lIFNDQl9JU0FSMV9JRlRIRU5fSU5TVFJTMiAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDQwMDAwKSAgICAgICAgICAvKio8IElGVEhFTl9JTlNUUlMgQml0IDIgKi8NCiNkZWZpbmUgU0NCX0lTQVIxX0lGVEhFTl9JTlNUUlMzICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwODAwMDApICAgICAgICAgIC8qKjwgSUZUSEVOX0lOU1RSUyBCaXQgMyAqLw0KI2RlZmluZSBTQ0JfSVNBUjFfSUZUSEVOX0lOU1RSU18wICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMDAwMCkgICAgICAgICAgLyoqPCBJVCBpbnN0cnVjdGlvbnMgbm90IHByZXNlbnQgKi8NCiNkZWZpbmUgU0NCX0lTQVIxX0lGVEhFTl9JTlNUUlNfMSAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMTAwMDApICAgICAgICAgIC8qKjwgYWRkcyBJVCBpbnN0cnVjdGlvbnMgKGFuZCBJVCBiaXRzIGluIFBTUnMpICovDQovKiBTQ0JfSVNBUjFbSU1NRURJQVRFX0lOU1RSU10gQml0cyAqLw0KI2RlZmluZSBTQ0JfSVNBUjFfSU1NRURJQVRFX0lOU1RSU19PRlMgICAgICAgICAgICgyMCkgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyoqPCBJTU1FRElBVEVfSU5TVFJTIEJpdCBPZmZzZXQgKi8NCiNkZWZpbmUgU0NCX0lTQVIxX0lNTUVESUFURV9JTlNUUlNfTUFTSyAgICAgICAgICAoKHVpbnQzMl90KTB4MDBGMDAwMDApICAgICAgICAgIC8qKjwgSU1NRURJQVRFX0lOU1RSUyBCaXQgTWFzayAqLw0KI2RlZmluZSBTQ0JfSVNBUjFfSU1NRURJQVRFX0lOU1RSUzAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDEwMDAwMCkgICAgICAgICAgLyoqPCBJTU1FRElBVEVfSU5TVFJTIEJpdCAwICovDQojZGVmaW5lIFNDQl9JU0FSMV9JTU1FRElBVEVfSU5TVFJTMSAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMjAwMDAwKSAgICAgICAgICAvKio8IElNTUVESUFURV9JTlNUUlMgQml0IDEgKi8NCiNkZWZpbmUgU0NCX0lTQVIxX0lNTUVESUFURV9JTlNUUlMyICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDA0MDAwMDApICAgICAgICAgIC8qKjwgSU1NRURJQVRFX0lOU1RSUyBCaXQgMiAqLw0KI2RlZmluZSBTQ0JfSVNBUjFfSU1NRURJQVRFX0lOU1RSUzMgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDgwMDAwMCkgICAgICAgICAgLyoqPCBJTU1FRElBVEVfSU5TVFJTIEJpdCAzICovDQojZGVmaW5lIFNDQl9JU0FSMV9JTU1FRElBVEVfSU5TVFJTXzAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwMDAwKSAgICAgICAgICAvKio8IG5vIHNwZWNpYWwgaW1tZWRpYXRlLWdlbmVyYXRpbmcgaW5zdHJ1Y3Rpb25zIHByZXNlbnQgKi8NCiNkZWZpbmUgU0NCX0lTQVIxX0lNTUVESUFURV9JTlNUUlNfMSAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAxMDAwMDApICAgICAgICAgIC8qKjwgYWRkcyBBRERXLCBNT1ZXLCBNT1ZULCBTVUJXICovDQovKiBTQ0JfSVNBUjFbSU5URVJXT1JLX0lOU1RSU10gQml0cyAqLw0KI2RlZmluZSBTQ0JfSVNBUjFfSU5URVJXT1JLX0lOU1RSU19PRlMgICAgICAgICAgICgyNCkgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyoqPCBJTlRFUldPUktfSU5TVFJTIEJpdCBPZmZzZXQgKi8NCiNkZWZpbmUgU0NCX0lTQVIxX0lOVEVSV09SS19JTlNUUlNfTUFTSyAgICAgICAgICAoKHVpbnQzMl90KTB4MEYwMDAwMDApICAgICAgICAgIC8qKjwgSU5URVJXT1JLX0lOU1RSUyBCaXQgTWFzayAqLw0KI2RlZmluZSBTQ0JfSVNBUjFfSU5URVJXT1JLX0lOU1RSUzAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMTAwMDAwMCkgICAgICAgICAgLyoqPCBJTlRFUldPUktfSU5TVFJTIEJpdCAwICovDQojZGVmaW5lIFNDQl9JU0FSMV9JTlRFUldPUktfSU5TVFJTMSAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAyMDAwMDAwKSAgICAgICAgICAvKio8IElOVEVSV09SS19JTlNUUlMgQml0IDEgKi8NCiNkZWZpbmUgU0NCX0lTQVIxX0lOVEVSV09SS19JTlNUUlMyICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDQwMDAwMDApICAgICAgICAgIC8qKjwgSU5URVJXT1JLX0lOU1RSUyBCaXQgMiAqLw0KI2RlZmluZSBTQ0JfSVNBUjFfSU5URVJXT1JLX0lOU1RSUzMgICAgICAgICAgICAgICgodWludDMyX3QpMHgwODAwMDAwMCkgICAgICAgICAgLyoqPCBJTlRFUldPUktfSU5TVFJTIEJpdCAzICovDQojZGVmaW5lIFNDQl9JU0FSMV9JTlRFUldPUktfSU5TVFJTXzAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwMDAwKSAgICAgICAgICAvKio8IG5vIGludGVyd29ya2luZyBpbnN0cnVjdGlvbnMgc3VwcG9ydGVkICovDQojZGVmaW5lIFNDQl9JU0FSMV9JTlRFUldPUktfSU5TVFJTXzEgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAxMDAwMDAwKSAgICAgICAgICAvKio8IGFkZHMgQlggKGFuZCBUIGJpdCBpbiBQU1JzKSAqLw0KI2RlZmluZSBTQ0JfSVNBUjFfSU5URVJXT1JLX0lOU1RSU18yICAgICAgICAgICAgICgodWludDMyX3QpMHgwMjAwMDAwMCkgICAgICAgICAgLyoqPCBhZGRzIEJMWCwgYW5kIFBDIGxvYWRzIGhhdmUgQlgtbGlrZSBiZWhhdmlvciAqLw0KI2RlZmluZSBTQ0JfSVNBUjFfSU5URVJXT1JLX0lOU1RSU18zICAgICAgICAgICAgICgodWludDMyX3QpMHgwMzAwMDAwMCkgICAgICAgICAgLyoqPCBOL0EgKi8NCi8qIFNDQl9JU0FSMltMT0FEU1RPUkVfSU5TVFJTXSBCaXRzICovDQojZGVmaW5lIFNDQl9JU0FSMl9MT0FEU1RPUkVfSU5TVFJTX09GUyAgICAgICAgICAgKCAwKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKio8IExPQURTVE9SRV9JTlNUUlMgQml0IE9mZnNldCAqLw0KI2RlZmluZSBTQ0JfSVNBUjJfTE9BRFNUT1JFX0lOU1RSU19NQVNLICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMDAwRikgICAgICAgICAgLyoqPCBMT0FEU1RPUkVfSU5TVFJTIEJpdCBNYXNrICovDQojZGVmaW5lIFNDQl9JU0FSMl9MT0FEU1RPUkVfSU5TVFJTMCAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwMDAxKSAgICAgICAgICAvKio8IExPQURTVE9SRV9JTlNUUlMgQml0IDAgKi8NCiNkZWZpbmUgU0NCX0lTQVIyX0xPQURTVE9SRV9JTlNUUlMxICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDAwMDIpICAgICAgICAgIC8qKjwgTE9BRFNUT1JFX0lOU1RSUyBCaXQgMSAqLw0KI2RlZmluZSBTQ0JfSVNBUjJfTE9BRFNUT1JFX0lOU1RSUzIgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMDAwNCkgICAgICAgICAgLyoqPCBMT0FEU1RPUkVfSU5TVFJTIEJpdCAyICovDQojZGVmaW5lIFNDQl9JU0FSMl9MT0FEU1RPUkVfSU5TVFJTMyAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwMDA4KSAgICAgICAgICAvKio8IExPQURTVE9SRV9JTlNUUlMgQml0IDMgKi8NCiNkZWZpbmUgU0NCX0lTQVIyX0xPQURTVE9SRV9JTlNUUlNfMCAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDAwMDApICAgICAgICAgIC8qKjwgbm8gYWRkaXRpb25hbCBub3JtYWwgbG9hZC9zdG9yZSBpbnN0cnVjdGlvbnMgcHJlc2VudCAqLw0KI2RlZmluZSBTQ0JfSVNBUjJfTE9BRFNUT1JFX0lOU1RSU18xICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMDAwMSkgICAgICAgICAgLyoqPCBhZGRzIExEUkQvU1RSRCAqLw0KLyogU0NCX0lTQVIyW01FTUhJTlRfSU5TVFJTXSBCaXRzICovDQojZGVmaW5lIFNDQl9JU0FSMl9NRU1ISU5UX0lOU1RSU19PRlMgICAgICAgICAgICAgKCA0KSAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKio8IE1FTUhJTlRfSU5TVFJTIEJpdCBPZmZzZXQgKi8NCiNkZWZpbmUgU0NCX0lTQVIyX01FTUhJTlRfSU5TVFJTX01BU0sgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDAwRjApICAgICAgICAgIC8qKjwgTUVNSElOVF9JTlNUUlMgQml0IE1hc2sgKi8NCiNkZWZpbmUgU0NCX0lTQVIyX01FTUhJTlRfSU5TVFJTMCAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDAwMTApICAgICAgICAgIC8qKjwgTUVNSElOVF9JTlNUUlMgQml0IDAgKi8NCiNkZWZpbmUgU0NCX0lTQVIyX01FTUhJTlRfSU5TVFJTMSAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDAwMjApICAgICAgICAgIC8qKjwgTUVNSElOVF9JTlNUUlMgQml0IDEgKi8NCiNkZWZpbmUgU0NCX0lTQVIyX01FTUhJTlRfSU5TVFJTMiAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDAwNDApICAgICAgICAgIC8qKjwgTUVNSElOVF9JTlNUUlMgQml0IDIgKi8NCiNkZWZpbmUgU0NCX0lTQVIyX01FTUhJTlRfSU5TVFJTMyAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDAwODApICAgICAgICAgIC8qKjwgTUVNSElOVF9JTlNUUlMgQml0IDMgKi8NCiNkZWZpbmUgU0NCX0lTQVIyX01FTUhJTlRfSU5TVFJTXzAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDAwMDApICAgICAgICAgIC8qKjwgbm8gbWVtb3J5IGhpbnQgaW5zdHJ1Y3Rpb25zIHByZXNlbiAqLw0KI2RlZmluZSBTQ0JfSVNBUjJfTUVNSElOVF9JTlNUUlNfMSAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMDAxMCkgICAgICAgICAgLyoqPCBhZGRzIFBMRCAqLw0KI2RlZmluZSBTQ0JfSVNBUjJfTUVNSElOVF9JTlNUUlNfMiAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMDAyMCkgICAgICAgICAgLyoqPCBhZGRzIFBMRCAoaWUgYSByZXBlYXQgb24gdmFsdWUgMSkgKi8NCiNkZWZpbmUgU0NCX0lTQVIyX01FTUhJTlRfSU5TVFJTXzMgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDAwMzApICAgICAgICAgIC8qKjwgYWRkcyBQTEkgKi8NCi8qIFNDQl9JU0FSMltNVUxUSUFDQ0VTU0lOVF9JTlNUUlNdIEJpdHMgKi8NCiNkZWZpbmUgU0NCX0lTQVIyX01VTFRJQUNDRVNTSU5UX0lOU1RSU19PRlMgICAgICAoIDgpICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgTVVMVElBQ0NFU1NJTlRfSU5TVFJTIEJpdCBPZmZzZXQgKi8NCiNkZWZpbmUgU0NCX0lTQVIyX01VTFRJQUNDRVNTSU5UX0lOU1RSU19NQVNLICAgICAoKHVpbnQzMl90KTB4MDAwMDBGMDApICAgICAgICAgIC8qKjwgTVVMVElBQ0NFU1NJTlRfSU5TVFJTIEJpdCBNYXNrICovDQojZGVmaW5lIFNDQl9JU0FSMl9NVUxUSUFDQ0VTU0lOVF9JTlNUUlMwICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwMTAwKSAgICAgICAgICAvKio8IE1VTFRJQUNDRVNTSU5UX0lOU1RSUyBCaXQgMCAqLw0KI2RlZmluZSBTQ0JfSVNBUjJfTVVMVElBQ0NFU1NJTlRfSU5TVFJTMSAgICAgICAgICgodWludDMyX3QpMHgwMDAwMDIwMCkgICAgICAgICAgLyoqPCBNVUxUSUFDQ0VTU0lOVF9JTlNUUlMgQml0IDEgKi8NCiNkZWZpbmUgU0NCX0lTQVIyX01VTFRJQUNDRVNTSU5UX0lOU1RSUzIgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDA0MDApICAgICAgICAgIC8qKjwgTVVMVElBQ0NFU1NJTlRfSU5TVFJTIEJpdCAyICovDQojZGVmaW5lIFNDQl9JU0FSMl9NVUxUSUFDQ0VTU0lOVF9JTlNUUlMzICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwODAwKSAgICAgICAgICAvKio8IE1VTFRJQUNDRVNTSU5UX0lOU1RSUyBCaXQgMyAqLw0KI2RlZmluZSBTQ0JfSVNBUjJfTVVMVElBQ0NFU1NJTlRfSU5TVFJTXzAgICAgICAgICgodWludDMyX3QpMHgwMDAwMDAwMCkgICAgICAgICAgLyoqPCB0aGUgKExETS9TVE0pIGluc3RydWN0aW9ucyBhcmUgbm9uLWludGVycnVwdGlibGUgKi8NCiNkZWZpbmUgU0NCX0lTQVIyX01VTFRJQUNDRVNTSU5UX0lOU1RSU18xICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDAxMDApICAgICAgICAgIC8qKjwgdGhlIChMRE0vU1RNKSBpbnN0cnVjdGlvbnMgYXJlIHJlc3RhcnRhYmxlICovDQojZGVmaW5lIFNDQl9JU0FSMl9NVUxUSUFDQ0VTU0lOVF9JTlNUUlNfMiAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwMjAwKSAgICAgICAgICAvKio8IHRoZSAoTERNL1NUTSkgaW5zdHJ1Y3Rpb25zIGFyZSBjb250aW51YWJsZSAqLw0KLyogU0NCX0lTQVIyW01VTFRfSU5TVFJTXSBCaXRzICovDQojZGVmaW5lIFNDQl9JU0FSMl9NVUxUX0lOU1RSU19PRlMgICAgICAgICAgICAgICAgKDEyKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKio8IE1VTFRfSU5TVFJTIEJpdCBPZmZzZXQgKi8NCiNkZWZpbmUgU0NCX0lTQVIyX01VTFRfSU5TVFJTX01BU0sgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMEYwMDApICAgICAgICAgIC8qKjwgTVVMVF9JTlNUUlMgQml0IE1hc2sgKi8NCiNkZWZpbmUgU0NCX0lTQVIyX01VTFRfSU5TVFJTMCAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDEwMDApICAgICAgICAgIC8qKjwgTVVMVF9JTlNUUlMgQml0IDAgKi8NCiNkZWZpbmUgU0NCX0lTQVIyX01VTFRfSU5TVFJTMSAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDIwMDApICAgICAgICAgIC8qKjwgTVVMVF9JTlNUUlMgQml0IDEgKi8NCiNkZWZpbmUgU0NCX0lTQVIyX01VTFRfSU5TVFJTMiAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDQwMDApICAgICAgICAgIC8qKjwgTVVMVF9JTlNUUlMgQml0IDIgKi8NCiNkZWZpbmUgU0NCX0lTQVIyX01VTFRfSU5TVFJTMyAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDgwMDApICAgICAgICAgIC8qKjwgTVVMVF9JTlNUUlMgQml0IDMgKi8NCiNkZWZpbmUgU0NCX0lTQVIyX01VTFRfSU5TVFJTXzAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDAwMDApICAgICAgICAgIC8qKjwgb25seSBNVUwgcHJlc2VudCAqLw0KI2RlZmluZSBTQ0JfSVNBUjJfTVVMVF9JTlNUUlNfMSAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMTAwMCkgICAgICAgICAgLyoqPCBhZGRzIE1MQSAqLw0KI2RlZmluZSBTQ0JfSVNBUjJfTVVMVF9JTlNUUlNfMiAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMjAwMCkgICAgICAgICAgLyoqPCBhZGRzIE1MUyAqLw0KLyogU0NCX0lTQVIyW01VTFRTX0lOU1RSU10gQml0cyAqLw0KI2RlZmluZSBTQ0JfSVNBUjJfTVVMVFNfSU5TVFJTX09GUyAgICAgICAgICAgICAgICgxNikgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyoqPCBNVUxUU19JTlNUUlMgQml0IE9mZnNldCAqLw0KI2RlZmluZSBTQ0JfSVNBUjJfTVVMVFNfSU5TVFJTX01BU0sgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDBGMDAwMCkgICAgICAgICAgLyoqPCBNVUxUU19JTlNUUlMgQml0IE1hc2sgKi8NCiNkZWZpbmUgU0NCX0lTQVIyX01VTFRTX0lOU1RSUzAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMTAwMDApICAgICAgICAgIC8qKjwgTVVMVFNfSU5TVFJTIEJpdCAwICovDQojZGVmaW5lIFNDQl9JU0FSMl9NVUxUU19JTlNUUlMxICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDIwMDAwKSAgICAgICAgICAvKio8IE1VTFRTX0lOU1RSUyBCaXQgMSAqLw0KI2RlZmluZSBTQ0JfSVNBUjJfTVVMVFNfSU5TVFJTMiAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDA0MDAwMCkgICAgICAgICAgLyoqPCBNVUxUU19JTlNUUlMgQml0IDIgKi8NCiNkZWZpbmUgU0NCX0lTQVIyX01VTFRTX0lOU1RSUzMgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwODAwMDApICAgICAgICAgIC8qKjwgTVVMVFNfSU5TVFJTIEJpdCAzICovDQojZGVmaW5lIFNDQl9JU0FSMl9NVUxUU19JTlNUUlNfMCAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwMDAwKSAgICAgICAgICAvKio8IG5vIHNpZ25lZCBtdWx0aXBseSBpbnN0cnVjdGlvbnMgcHJlc2VudCAqLw0KI2RlZmluZSBTQ0JfSVNBUjJfTVVMVFNfSU5TVFJTXzEgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAxMDAwMCkgICAgICAgICAgLyoqPCBhZGRzIFNNVUxMLCBTTUxBTCAqLw0KI2RlZmluZSBTQ0JfSVNBUjJfTVVMVFNfSU5TVFJTXzIgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAyMDAwMCkgICAgICAgICAgLyoqPCBOL0EgKi8NCiNkZWZpbmUgU0NCX0lTQVIyX01VTFRTX0lOU1RSU18zICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMzAwMDApICAgICAgICAgIC8qKjwgTi9BICovDQovKiBTQ0JfSVNBUjJbTVVMVFVfSU5TVFJTXSBCaXRzICovDQojZGVmaW5lIFNDQl9JU0FSMl9NVUxUVV9JTlNUUlNfT0ZTICAgICAgICAgICAgICAgKDIwKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKio8IE1VTFRVX0lOU1RSUyBCaXQgT2Zmc2V0ICovDQojZGVmaW5lIFNDQl9JU0FSMl9NVUxUVV9JTlNUUlNfTUFTSyAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwRjAwMDAwKSAgICAgICAgICAvKio8IE1VTFRVX0lOU1RSUyBCaXQgTWFzayAqLw0KI2RlZmluZSBTQ0JfSVNBUjJfTVVMVFVfSU5TVFJTMCAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDEwMDAwMCkgICAgICAgICAgLyoqPCBNVUxUVV9JTlNUUlMgQml0IDAgKi8NCiNkZWZpbmUgU0NCX0lTQVIyX01VTFRVX0lOU1RSUzEgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAyMDAwMDApICAgICAgICAgIC8qKjwgTVVMVFVfSU5TVFJTIEJpdCAxICovDQojZGVmaW5lIFNDQl9JU0FSMl9NVUxUVV9JTlNUUlMyICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwNDAwMDAwKSAgICAgICAgICAvKio8IE1VTFRVX0lOU1RSUyBCaXQgMiAqLw0KI2RlZmluZSBTQ0JfSVNBUjJfTVVMVFVfSU5TVFJTMyAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDgwMDAwMCkgICAgICAgICAgLyoqPCBNVUxUVV9JTlNUUlMgQml0IDMgKi8NCiNkZWZpbmUgU0NCX0lTQVIyX01VTFRVX0lOU1RSU18wICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDAwMDApICAgICAgICAgIC8qKjwgbm8gdW5zaWduZWQgbXVsdGlwbHkgaW5zdHJ1Y3Rpb25zIHByZXNlbnQgKi8NCiNkZWZpbmUgU0NCX0lTQVIyX01VTFRVX0lOU1RSU18xICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAxMDAwMDApICAgICAgICAgIC8qKjwgYWRkcyBVTVVMTCwgVU1MQUwgKi8NCiNkZWZpbmUgU0NCX0lTQVIyX01VTFRVX0lOU1RSU18yICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAyMDAwMDApICAgICAgICAgIC8qKjwgTi9BICovDQovKiBTQ0JfSVNBUjJbUkVWRVJTQUxfSU5TVFJTXSBCaXRzICovDQojZGVmaW5lIFNDQl9JU0FSMl9SRVZFUlNBTF9JTlNUUlNfT0ZTICAgICAgICAgICAgKDI4KSAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKio8IFJFVkVSU0FMX0lOU1RSUyBCaXQgT2Zmc2V0ICovDQojZGVmaW5lIFNDQl9JU0FSMl9SRVZFUlNBTF9JTlNUUlNfTUFTSyAgICAgICAgICAgKCh1aW50MzJfdCkweEYwMDAwMDAwKSAgICAgICAgICAvKio8IFJFVkVSU0FMX0lOU1RSUyBCaXQgTWFzayAqLw0KI2RlZmluZSBTQ0JfSVNBUjJfUkVWRVJTQUxfSU5TVFJTMCAgICAgICAgICAgICAgICgodWludDMyX3QpMHgxMDAwMDAwMCkgICAgICAgICAgLyoqPCBSRVZFUlNBTF9JTlNUUlMgQml0IDAgKi8NCiNkZWZpbmUgU0NCX0lTQVIyX1JFVkVSU0FMX0lOU1RSUzEgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MjAwMDAwMDApICAgICAgICAgIC8qKjwgUkVWRVJTQUxfSU5TVFJTIEJpdCAxICovDQojZGVmaW5lIFNDQl9JU0FSMl9SRVZFUlNBTF9JTlNUUlMyICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDQwMDAwMDAwKSAgICAgICAgICAvKio8IFJFVkVSU0FMX0lOU1RSUyBCaXQgMiAqLw0KI2RlZmluZSBTQ0JfSVNBUjJfUkVWRVJTQUxfSU5TVFJTMyAgICAgICAgICAgICAgICgodWludDMyX3QpMHg4MDAwMDAwMCkgICAgICAgICAgLyoqPCBSRVZFUlNBTF9JTlNUUlMgQml0IDMgKi8NCiNkZWZpbmUgU0NCX0lTQVIyX1JFVkVSU0FMX0lOU1RSU18wICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDAwMDApICAgICAgICAgIC8qKjwgbm8gcmV2ZXJzYWwgaW5zdHJ1Y3Rpb25zIHByZXNlbnQgKi8NCiNkZWZpbmUgU0NCX0lTQVIyX1JFVkVSU0FMX0lOU1RSU18xICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MTAwMDAwMDApICAgICAgICAgIC8qKjwgYWRkcyBSRVYsIFJFVjE2LCBSRVZTSCAqLw0KI2RlZmluZSBTQ0JfSVNBUjJfUkVWRVJTQUxfSU5TVFJTXzIgICAgICAgICAgICAgICgodWludDMyX3QpMHgyMDAwMDAwMCkgICAgICAgICAgLyoqPCBhZGRzIFJCSVQgKi8NCi8qIFNDQl9JU0FSM1tTQVRSVUFURV9JTlNUUlNdIEJpdHMgKi8NCiNkZWZpbmUgU0NCX0lTQVIzX1NBVFJVQVRFX0lOU1RSU19PRlMgICAgICAgICAgICAoIDApICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgU0FUUlVBVEVfSU5TVFJTIEJpdCBPZmZzZXQgKi8NCiNkZWZpbmUgU0NCX0lTQVIzX1NBVFJVQVRFX0lOU1RSU19NQVNLICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDAwMEYpICAgICAgICAgIC8qKjwgU0FUUlVBVEVfSU5TVFJTIEJpdCBNYXNrICovDQojZGVmaW5lIFNDQl9JU0FSM19TQVRSVUFURV9JTlNUUlMwICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwMDAxKSAgICAgICAgICAvKio8IFNBVFJVQVRFX0lOU1RSUyBCaXQgMCAqLw0KI2RlZmluZSBTQ0JfSVNBUjNfU0FUUlVBVEVfSU5TVFJTMSAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMDAwMikgICAgICAgICAgLyoqPCBTQVRSVUFURV9JTlNUUlMgQml0IDEgKi8NCiNkZWZpbmUgU0NCX0lTQVIzX1NBVFJVQVRFX0lOU1RSUzIgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDAwMDQpICAgICAgICAgIC8qKjwgU0FUUlVBVEVfSU5TVFJTIEJpdCAyICovDQojZGVmaW5lIFNDQl9JU0FSM19TQVRSVUFURV9JTlNUUlMzICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwMDA4KSAgICAgICAgICAvKio8IFNBVFJVQVRFX0lOU1RSUyBCaXQgMyAqLw0KI2RlZmluZSBTQ0JfSVNBUjNfU0FUUlVBVEVfSU5TVFJTXzAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMDAwMCkgICAgICAgICAgLyoqPCBubyBub24tU0lNRCBzYXR1cmF0ZSBpbnN0cnVjdGlvbnMgcHJlc2VudCAqLw0KI2RlZmluZSBTQ0JfSVNBUjNfU0FUUlVBVEVfSU5TVFJTXzEgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMDAwMSkgICAgICAgICAgLyoqPCBOL0EgKi8NCi8qIFNDQl9JU0FSM1tTSU1EX0lOU1RSU10gQml0cyAqLw0KI2RlZmluZSBTQ0JfSVNBUjNfU0lNRF9JTlNUUlNfT0ZTICAgICAgICAgICAgICAgICggNCkgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyoqPCBTSU1EX0lOU1RSUyBCaXQgT2Zmc2V0ICovDQojZGVmaW5lIFNDQl9JU0FSM19TSU1EX0lOU1RSU19NQVNLICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwMEYwKSAgICAgICAgICAvKio8IFNJTURfSU5TVFJTIEJpdCBNYXNrICovDQojZGVmaW5lIFNDQl9JU0FSM19TSU1EX0lOU1RSUzAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwMDEwKSAgICAgICAgICAvKio8IFNJTURfSU5TVFJTIEJpdCAwICovDQojZGVmaW5lIFNDQl9JU0FSM19TSU1EX0lOU1RSUzEgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwMDIwKSAgICAgICAgICAvKio8IFNJTURfSU5TVFJTIEJpdCAxICovDQojZGVmaW5lIFNDQl9JU0FSM19TSU1EX0lOU1RSUzIgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwMDQwKSAgICAgICAgICAvKio8IFNJTURfSU5TVFJTIEJpdCAyICovDQojZGVmaW5lIFNDQl9JU0FSM19TSU1EX0lOU1RSUzMgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwMDgwKSAgICAgICAgICAvKio8IFNJTURfSU5TVFJTIEJpdCAzICovDQojZGVmaW5lIFNDQl9JU0FSM19TSU1EX0lOU1RSU18wICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwMDAwKSAgICAgICAgICAvKio8IG5vIFNJTUQgaW5zdHJ1Y3Rpb25zIHByZXNlbnQgKi8NCiNkZWZpbmUgU0NCX0lTQVIzX1NJTURfSU5TVFJTXzEgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDAwMTApICAgICAgICAgIC8qKjwgYWRkcyBTU0FULCBVU0FUIChhbmQgdGhlIFEgZmxhZyBpbiB0aGUgUFNScykgKi8NCiNkZWZpbmUgU0NCX0lTQVIzX1NJTURfSU5TVFJTXzMgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDAwMzApICAgICAgICAgIC8qKjwgTi9BICovDQovKiBTQ0JfSVNBUjNbU1ZDX0lOU1RSU10gQml0cyAqLw0KI2RlZmluZSBTQ0JfSVNBUjNfU1ZDX0lOU1RSU19PRlMgICAgICAgICAgICAgICAgICggOCkgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyoqPCBTVkNfSU5TVFJTIEJpdCBPZmZzZXQgKi8NCiNkZWZpbmUgU0NCX0lTQVIzX1NWQ19JTlNUUlNfTUFTSyAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDBGMDApICAgICAgICAgIC8qKjwgU1ZDX0lOU1RSUyBCaXQgTWFzayAqLw0KI2RlZmluZSBTQ0JfSVNBUjNfU1ZDX0lOU1RSUzAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMDEwMCkgICAgICAgICAgLyoqPCBTVkNfSU5TVFJTIEJpdCAwICovDQojZGVmaW5lIFNDQl9JU0FSM19TVkNfSU5TVFJTMSAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwMjAwKSAgICAgICAgICAvKio8IFNWQ19JTlNUUlMgQml0IDEgKi8NCiNkZWZpbmUgU0NCX0lTQVIzX1NWQ19JTlNUUlMyICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDA0MDApICAgICAgICAgIC8qKjwgU1ZDX0lOU1RSUyBCaXQgMiAqLw0KI2RlZmluZSBTQ0JfSVNBUjNfU1ZDX0lOU1RSUzMgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMDgwMCkgICAgICAgICAgLyoqPCBTVkNfSU5TVFJTIEJpdCAzICovDQojZGVmaW5lIFNDQl9JU0FSM19TVkNfSU5TVFJTXzAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwMDAwKSAgICAgICAgICAvKio8IG5vIFNWQyAoU1dJKSBpbnN0cnVjdGlvbnMgcHJlc2VudCAqLw0KI2RlZmluZSBTQ0JfSVNBUjNfU1ZDX0lOU1RSU18xICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMDEwMCkgICAgICAgICAgLyoqPCBhZGRzIFNWQyAoU1dJKSAqLw0KLyogU0NCX0lTQVIzW1NZTkNQUklNX0lOU1RSU10gQml0cyAqLw0KI2RlZmluZSBTQ0JfSVNBUjNfU1lOQ1BSSU1fSU5TVFJTX09GUyAgICAgICAgICAgICgxMikgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyoqPCBTWU5DUFJJTV9JTlNUUlMgQml0IE9mZnNldCAqLw0KI2RlZmluZSBTQ0JfSVNBUjNfU1lOQ1BSSU1fSU5TVFJTX01BU0sgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwRjAwMCkgICAgICAgICAgLyoqPCBTWU5DUFJJTV9JTlNUUlMgQml0IE1hc2sgKi8NCiNkZWZpbmUgU0NCX0lTQVIzX1NZTkNQUklNX0lOU1RSUzAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDEwMDApICAgICAgICAgIC8qKjwgU1lOQ1BSSU1fSU5TVFJTIEJpdCAwICovDQojZGVmaW5lIFNDQl9JU0FSM19TWU5DUFJJTV9JTlNUUlMxICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAyMDAwKSAgICAgICAgICAvKio8IFNZTkNQUklNX0lOU1RSUyBCaXQgMSAqLw0KI2RlZmluZSBTQ0JfSVNBUjNfU1lOQ1BSSU1fSU5TVFJTMiAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwNDAwMCkgICAgICAgICAgLyoqPCBTWU5DUFJJTV9JTlNUUlMgQml0IDIgKi8NCiNkZWZpbmUgU0NCX0lTQVIzX1NZTkNQUklNX0lOU1RSUzMgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDgwMDApICAgICAgICAgIC8qKjwgU1lOQ1BSSU1fSU5TVFJTIEJpdCAzICovDQojZGVmaW5lIFNDQl9JU0FSM19TWU5DUFJJTV9JTlNUUlNfMCAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwMDAwKSAgICAgICAgICAvKio8IG5vIHN5bmNocm9uaXphdGlvbiBwcmltaXRpdmVzIHByZXNlbnQgKi8NCiNkZWZpbmUgU0NCX0lTQVIzX1NZTkNQUklNX0lOU1RSU18xICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDEwMDApICAgICAgICAgIC8qKjwgYWRkcyBMRFJFWCwgU1RSRVggKi8NCiNkZWZpbmUgU0NCX0lTQVIzX1NZTkNQUklNX0lOU1RSU18yICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDIwMDApICAgICAgICAgIC8qKjwgYWRkcyBMRFJFWEIsIExEUkVYSCwgTERSRVhELCBTVFJFWEIsIFNUUkVYSCwgU1RSRVhELCBDTFJFWChOL0EpICovDQovKiBTQ0JfSVNBUjNbVEFCQlJBTkNIX0lOU1RSU10gQml0cyAqLw0KI2RlZmluZSBTQ0JfSVNBUjNfVEFCQlJBTkNIX0lOU1RSU19PRlMgICAgICAgICAgICgxNikgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyoqPCBUQUJCUkFOQ0hfSU5TVFJTIEJpdCBPZmZzZXQgKi8NCiNkZWZpbmUgU0NCX0lTQVIzX1RBQkJSQU5DSF9JTlNUUlNfTUFTSyAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwRjAwMDApICAgICAgICAgIC8qKjwgVEFCQlJBTkNIX0lOU1RSUyBCaXQgTWFzayAqLw0KI2RlZmluZSBTQ0JfSVNBUjNfVEFCQlJBTkNIX0lOU1RSUzAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAxMDAwMCkgICAgICAgICAgLyoqPCBUQUJCUkFOQ0hfSU5TVFJTIEJpdCAwICovDQojZGVmaW5lIFNDQl9JU0FSM19UQUJCUkFOQ0hfSU5TVFJTMSAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDIwMDAwKSAgICAgICAgICAvKio8IFRBQkJSQU5DSF9JTlNUUlMgQml0IDEgKi8NCiNkZWZpbmUgU0NCX0lTQVIzX1RBQkJSQU5DSF9JTlNUUlMyICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwNDAwMDApICAgICAgICAgIC8qKjwgVEFCQlJBTkNIX0lOU1RSUyBCaXQgMiAqLw0KI2RlZmluZSBTQ0JfSVNBUjNfVEFCQlJBTkNIX0lOU1RSUzMgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDA4MDAwMCkgICAgICAgICAgLyoqPCBUQUJCUkFOQ0hfSU5TVFJTIEJpdCAzICovDQojZGVmaW5lIFNDQl9JU0FSM19UQUJCUkFOQ0hfSU5TVFJTXzAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwMDAwKSAgICAgICAgICAvKio8IG5vIHRhYmxlLWJyYW5jaCBpbnN0cnVjdGlvbnMgcHJlc2VudCAqLw0KI2RlZmluZSBTQ0JfSVNBUjNfVEFCQlJBTkNIX0lOU1RSU18xICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAxMDAwMCkgICAgICAgICAgLyoqPCBhZGRzIFRCQiwgVEJIICovDQovKiBTQ0JfSVNBUjNbVEhVTUJDT1BZX0lOU1RSU10gQml0cyAqLw0KI2RlZmluZSBTQ0JfSVNBUjNfVEhVTUJDT1BZX0lOU1RSU19PRlMgICAgICAgICAgICgyMCkgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyoqPCBUSFVNQkNPUFlfSU5TVFJTIEJpdCBPZmZzZXQgKi8NCiNkZWZpbmUgU0NCX0lTQVIzX1RIVU1CQ09QWV9JTlNUUlNfTUFTSyAgICAgICAgICAoKHVpbnQzMl90KTB4MDBGMDAwMDApICAgICAgICAgIC8qKjwgVEhVTUJDT1BZX0lOU1RSUyBCaXQgTWFzayAqLw0KI2RlZmluZSBTQ0JfSVNBUjNfVEhVTUJDT1BZX0lOU1RSUzAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDEwMDAwMCkgICAgICAgICAgLyoqPCBUSFVNQkNPUFlfSU5TVFJTIEJpdCAwICovDQojZGVmaW5lIFNDQl9JU0FSM19USFVNQkNPUFlfSU5TVFJTMSAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMjAwMDAwKSAgICAgICAgICAvKio8IFRIVU1CQ09QWV9JTlNUUlMgQml0IDEgKi8NCiNkZWZpbmUgU0NCX0lTQVIzX1RIVU1CQ09QWV9JTlNUUlMyICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDA0MDAwMDApICAgICAgICAgIC8qKjwgVEhVTUJDT1BZX0lOU1RSUyBCaXQgMiAqLw0KI2RlZmluZSBTQ0JfSVNBUjNfVEhVTUJDT1BZX0lOU1RSUzMgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDgwMDAwMCkgICAgICAgICAgLyoqPCBUSFVNQkNPUFlfSU5TVFJTIEJpdCAzICovDQojZGVmaW5lIFNDQl9JU0FSM19USFVNQkNPUFlfSU5TVFJTXzAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwMDAwKSAgICAgICAgICAvKio8IFRodW1iIE1PVihyZWdpc3RlcikgaW5zdHJ1Y3Rpb24gZG9lcyBub3QgYWxsb3cgbG93IHJlZyAtPiBsb3cgcmVnICovDQojZGVmaW5lIFNDQl9JU0FSM19USFVNQkNPUFlfSU5TVFJTXzEgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMTAwMDAwKSAgICAgICAgICAvKio8IGFkZHMgVGh1bWIgTU9WKHJlZ2lzdGVyKSBsb3cgcmVnIC0+IGxvdyByZWcgYW5kIHRoZSBDUFkgYWxpYXMgKi8NCi8qIFNDQl9JU0FSM1tUUlVFTk9QX0lOU1RSU10gQml0cyAqLw0KI2RlZmluZSBTQ0JfSVNBUjNfVFJVRU5PUF9JTlNUUlNfT0ZTICAgICAgICAgICAgICgyNCkgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyoqPCBUUlVFTk9QX0lOU1RSUyBCaXQgT2Zmc2V0ICovDQojZGVmaW5lIFNDQl9JU0FSM19UUlVFTk9QX0lOU1RSU19NQVNLICAgICAgICAgICAgKCh1aW50MzJfdCkweDBGMDAwMDAwKSAgICAgICAgICAvKio8IFRSVUVOT1BfSU5TVFJTIEJpdCBNYXNrICovDQojZGVmaW5lIFNDQl9JU0FSM19UUlVFTk9QX0lOU1RSUzAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAxMDAwMDAwKSAgICAgICAgICAvKio8IFRSVUVOT1BfSU5TVFJTIEJpdCAwICovDQojZGVmaW5lIFNDQl9JU0FSM19UUlVFTk9QX0lOU1RSUzEgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAyMDAwMDAwKSAgICAgICAgICAvKio8IFRSVUVOT1BfSU5TVFJTIEJpdCAxICovDQojZGVmaW5lIFNDQl9JU0FSM19UUlVFTk9QX0lOU1RSUzIgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDA0MDAwMDAwKSAgICAgICAgICAvKio8IFRSVUVOT1BfSU5TVFJTIEJpdCAyICovDQojZGVmaW5lIFNDQl9JU0FSM19UUlVFTk9QX0lOU1RSUzMgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDA4MDAwMDAwKSAgICAgICAgICAvKio8IFRSVUVOT1BfSU5TVFJTIEJpdCAzICovDQojZGVmaW5lIFNDQl9JU0FSM19UUlVFTk9QX0lOU1RSU18wICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwMDAwKSAgICAgICAgICAvKio8IHRydWUgTk9QIGluc3RydWN0aW9ucyBub3QgcHJlc2VudCAtIHRoYXQgaXMsIE5PUCBpbnN0cnVjdGlvbnMgd2l0aCBubyByZWdpc3RlciAqLw0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyogZGVwZW5kZW5jaWVzICovDQojZGVmaW5lIFNDQl9JU0FSM19UUlVFTk9QX0lOU1RSU18xICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAxMDAwMDAwKSAgICAgICAgICAvKio8IGFkZHMgInRydWUgTk9QIiwgYW5kIHRoZSBjYXBhYmlsaXR5IG9mIGFkZGl0aW9uYWwgIk5PUCBjb21wYXRpYmxlIGhpbnRzIiAqLw0KLyogU0NCX0lTQVI0W1VOUFJJVl9JTlNUUlNdIEJpdHMgKi8NCiNkZWZpbmUgU0NCX0lTQVI0X1VOUFJJVl9JTlNUUlNfT0ZTICAgICAgICAgICAgICAoIDApICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgVU5QUklWX0lOU1RSUyBCaXQgT2Zmc2V0ICovDQojZGVmaW5lIFNDQl9JU0FSNF9VTlBSSVZfSU5TVFJTX01BU0sgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwMDBGKSAgICAgICAgICAvKio8IFVOUFJJVl9JTlNUUlMgQml0IE1hc2sgKi8NCiNkZWZpbmUgU0NCX0lTQVI0X1VOUFJJVl9JTlNUUlMwICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDAwMDEpICAgICAgICAgIC8qKjwgVU5QUklWX0lOU1RSUyBCaXQgMCAqLw0KI2RlZmluZSBTQ0JfSVNBUjRfVU5QUklWX0lOU1RSUzEgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMDAwMikgICAgICAgICAgLyoqPCBVTlBSSVZfSU5TVFJTIEJpdCAxICovDQojZGVmaW5lIFNDQl9JU0FSNF9VTlBSSVZfSU5TVFJTMiAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwMDA0KSAgICAgICAgICAvKio8IFVOUFJJVl9JTlNUUlMgQml0IDIgKi8NCiNkZWZpbmUgU0NCX0lTQVI0X1VOUFJJVl9JTlNUUlMzICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDAwMDgpICAgICAgICAgIC8qKjwgVU5QUklWX0lOU1RSUyBCaXQgMyAqLw0KI2RlZmluZSBTQ0JfSVNBUjRfVU5QUklWX0lOU1RSU18wICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMDAwMCkgICAgICAgICAgLyoqPCBubyAiVCB2YXJpYW50IiBpbnN0cnVjdGlvbnMgZXhpc3QgKi8NCiNkZWZpbmUgU0NCX0lTQVI0X1VOUFJJVl9JTlNUUlNfMSAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDAwMDEpICAgICAgICAgIC8qKjwgYWRkcyBMRFJCVCwgTERSVCwgU1RSQlQsIFNUUlQgKi8NCiNkZWZpbmUgU0NCX0lTQVI0X1VOUFJJVl9JTlNUUlNfMiAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDAwMDIpICAgICAgICAgIC8qKjwgYWRkcyBMRFJIVCwgTERSU0JULCBMRFJTSFQsIFNUUkhUICovDQovKiBTQ0JfSVNBUjRbV0lUSFNISUZUU19JTlNUUlNdIEJpdHMgKi8NCiNkZWZpbmUgU0NCX0lTQVI0X1dJVEhTSElGVFNfSU5TVFJTX09GUyAgICAgICAgICAoIDQpICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgV0lUSFNISUZUU19JTlNUUlMgQml0IE9mZnNldCAqLw0KI2RlZmluZSBTQ0JfSVNBUjRfV0lUSFNISUZUU19JTlNUUlNfTUFTSyAgICAgICAgICgodWludDMyX3QpMHgwMDAwMDBGMCkgICAgICAgICAgLyoqPCBXSVRIU0hJRlRTX0lOU1RSUyBCaXQgTWFzayAqLw0KI2RlZmluZSBTQ0JfSVNBUjRfV0lUSFNISUZUU19JTlNUUlMwICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMDAxMCkgICAgICAgICAgLyoqPCBXSVRIU0hJRlRTX0lOU1RSUyBCaXQgMCAqLw0KI2RlZmluZSBTQ0JfSVNBUjRfV0lUSFNISUZUU19JTlNUUlMxICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMDAyMCkgICAgICAgICAgLyoqPCBXSVRIU0hJRlRTX0lOU1RSUyBCaXQgMSAqLw0KI2RlZmluZSBTQ0JfSVNBUjRfV0lUSFNISUZUU19JTlNUUlMyICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMDA0MCkgICAgICAgICAgLyoqPCBXSVRIU0hJRlRTX0lOU1RSUyBCaXQgMiAqLw0KI2RlZmluZSBTQ0JfSVNBUjRfV0lUSFNISUZUU19JTlNUUlMzICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMDA4MCkgICAgICAgICAgLyoqPCBXSVRIU0hJRlRTX0lOU1RSUyBCaXQgMyAqLw0KI2RlZmluZSBTQ0JfSVNBUjRfV0lUSFNISUZUU19JTlNUUlNfMCAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMDAwMCkgICAgICAgICAgLyoqPCBub24temVybyBzaGlmdHMgb25seSBzdXBwb3J0IE1PViBhbmQgc2hpZnQgaW5zdHJ1Y3Rpb25zIChzZWUgbm90ZXMpICovDQojZGVmaW5lIFNDQl9JU0FSNF9XSVRIU0hJRlRTX0lOU1RSU18xICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwMDEwKSAgICAgICAgICAvKio8IHNoaWZ0cyBvZiBsb2Fkcy9zdG9yZXMgb3ZlciB0aGUgcmFuZ2UgTFNMIDAtMyAqLw0KI2RlZmluZSBTQ0JfSVNBUjRfV0lUSFNISUZUU19JTlNUUlNfMyAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMDAzMCkgICAgICAgICAgLyoqPCBhZGRzIG90aGVyIGNvbnN0YW50IHNoaWZ0IG9wdGlvbnMuICovDQojZGVmaW5lIFNDQl9JU0FSNF9XSVRIU0hJRlRTX0lOU1RSU180ICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwMDQwKSAgICAgICAgICAvKio8IGFkZHMgcmVnaXN0ZXItY29udHJvbGxlZCBzaGlmdCBvcHRpb25zLiAqLw0KLyogU0NCX0lTQVI0W1dSSVRFQkFDS19JTlNUUlNdIEJpdHMgKi8NCiNkZWZpbmUgU0NCX0lTQVI0X1dSSVRFQkFDS19JTlNUUlNfT0ZTICAgICAgICAgICAoIDgpICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgV1JJVEVCQUNLX0lOU1RSUyBCaXQgT2Zmc2V0ICovDQojZGVmaW5lIFNDQl9JU0FSNF9XUklURUJBQ0tfSU5TVFJTX01BU0sgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwRjAwKSAgICAgICAgICAvKio8IFdSSVRFQkFDS19JTlNUUlMgQml0IE1hc2sgKi8NCiNkZWZpbmUgU0NCX0lTQVI0X1dSSVRFQkFDS19JTlNUUlMwICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDAxMDApICAgICAgICAgIC8qKjwgV1JJVEVCQUNLX0lOU1RSUyBCaXQgMCAqLw0KI2RlZmluZSBTQ0JfSVNBUjRfV1JJVEVCQUNLX0lOU1RSUzEgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMDIwMCkgICAgICAgICAgLyoqPCBXUklURUJBQ0tfSU5TVFJTIEJpdCAxICovDQojZGVmaW5lIFNDQl9JU0FSNF9XUklURUJBQ0tfSU5TVFJTMiAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwNDAwKSAgICAgICAgICAvKio8IFdSSVRFQkFDS19JTlNUUlMgQml0IDIgKi8NCiNkZWZpbmUgU0NCX0lTQVI0X1dSSVRFQkFDS19JTlNUUlMzICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDA4MDApICAgICAgICAgIC8qKjwgV1JJVEVCQUNLX0lOU1RSUyBCaXQgMyAqLw0KI2RlZmluZSBTQ0JfSVNBUjRfV1JJVEVCQUNLX0lOU1RSU18wICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMDAwMCkgICAgICAgICAgLyoqPCBvbmx5IG5vbi13cml0ZWJhY2sgYWRkcmVzc2luZyBtb2RlcyBwcmVzZW50LCBleGNlcHQgdGhhdCBMRE1JQS9TVE1EQi9QVVNIL1BPUCAgKi8NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qIGluc3RydWN0aW9ucyBzdXBwb3J0IHdyaXRlYmFjayBhZGRyZXNzaW5nLiAqLw0KI2RlZmluZSBTQ0JfSVNBUjRfV1JJVEVCQUNLX0lOU1RSU18xICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMDEwMCkgICAgICAgICAgLyoqPCBhZGRzIGFsbCBjdXJyZW50bHktZGVmaW5lZCB3cml0ZWJhY2sgYWRkcmVzc2luZyBtb2RlcyAoQVJNdjcsIFRodW1iLTIpICovDQovKiBTQ0JfSVNBUjRbQkFSUklFUl9JTlNUUlNdIEJpdHMgKi8NCiNkZWZpbmUgU0NCX0lTQVI0X0JBUlJJRVJfSU5TVFJTX09GUyAgICAgICAgICAgICAoMTYpICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgQkFSUklFUl9JTlNUUlMgQml0IE9mZnNldCAqLw0KI2RlZmluZSBTQ0JfSVNBUjRfQkFSUklFUl9JTlNUUlNfTUFTSyAgICAgICAgICAgICgodWludDMyX3QpMHgwMDBGMDAwMCkgICAgICAgICAgLyoqPCBCQVJSSUVSX0lOU1RSUyBCaXQgTWFzayAqLw0KI2RlZmluZSBTQ0JfSVNBUjRfQkFSUklFUl9JTlNUUlMwICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAxMDAwMCkgICAgICAgICAgLyoqPCBCQVJSSUVSX0lOU1RSUyBCaXQgMCAqLw0KI2RlZmluZSBTQ0JfSVNBUjRfQkFSUklFUl9JTlNUUlMxICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAyMDAwMCkgICAgICAgICAgLyoqPCBCQVJSSUVSX0lOU1RSUyBCaXQgMSAqLw0KI2RlZmluZSBTQ0JfSVNBUjRfQkFSUklFUl9JTlNUUlMyICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDA0MDAwMCkgICAgICAgICAgLyoqPCBCQVJSSUVSX0lOU1RSUyBCaXQgMiAqLw0KI2RlZmluZSBTQ0JfSVNBUjRfQkFSUklFUl9JTlNUUlMzICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDA4MDAwMCkgICAgICAgICAgLyoqPCBCQVJSSUVSX0lOU1RSUyBCaXQgMyAqLw0KI2RlZmluZSBTQ0JfSVNBUjRfQkFSUklFUl9JTlNUUlNfMCAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMDAwMCkgICAgICAgICAgLyoqPCBubyBiYXJyaWVyIGluc3RydWN0aW9ucyBzdXBwb3J0ZWQgKi8NCiNkZWZpbmUgU0NCX0lTQVI0X0JBUlJJRVJfSU5TVFJTXzEgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMTAwMDApICAgICAgICAgIC8qKjwgYWRkcyBETUIsIERTQiwgSVNCIGJhcnJpZXIgaW5zdHJ1Y3Rpb25zICovDQovKiBTQ0JfSVNBUjRbU1lOQ1BSSU1fSU5TVFJTX0ZSQUNdIEJpdHMgKi8NCiNkZWZpbmUgU0NCX0lTQVI0X1NZTkNQUklNX0lOU1RSU19GUkFDX09GUyAgICAgICAoMjApICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgU1lOQ1BSSU1fSU5TVFJTX0ZSQUMgQml0IE9mZnNldCAqLw0KI2RlZmluZSBTQ0JfSVNBUjRfU1lOQ1BSSU1fSU5TVFJTX0ZSQUNfTUFTSyAgICAgICgodWludDMyX3QpMHgwMEYwMDAwMCkgICAgICAgICAgLyoqPCBTWU5DUFJJTV9JTlNUUlNfRlJBQyBCaXQgTWFzayAqLw0KI2RlZmluZSBTQ0JfSVNBUjRfU1lOQ1BSSU1fSU5TVFJTX0ZSQUMwICAgICAgICAgICgodWludDMyX3QpMHgwMDEwMDAwMCkgICAgICAgICAgLyoqPCBTWU5DUFJJTV9JTlNUUlNfRlJBQyBCaXQgMCAqLw0KI2RlZmluZSBTQ0JfSVNBUjRfU1lOQ1BSSU1fSU5TVFJTX0ZSQUMxICAgICAgICAgICgodWludDMyX3QpMHgwMDIwMDAwMCkgICAgICAgICAgLyoqPCBTWU5DUFJJTV9JTlNUUlNfRlJBQyBCaXQgMSAqLw0KI2RlZmluZSBTQ0JfSVNBUjRfU1lOQ1BSSU1fSU5TVFJTX0ZSQUMyICAgICAgICAgICgodWludDMyX3QpMHgwMDQwMDAwMCkgICAgICAgICAgLyoqPCBTWU5DUFJJTV9JTlNUUlNfRlJBQyBCaXQgMiAqLw0KI2RlZmluZSBTQ0JfSVNBUjRfU1lOQ1BSSU1fSU5TVFJTX0ZSQUMzICAgICAgICAgICgodWludDMyX3QpMHgwMDgwMDAwMCkgICAgICAgICAgLyoqPCBTWU5DUFJJTV9JTlNUUlNfRlJBQyBCaXQgMyAqLw0KI2RlZmluZSBTQ0JfSVNBUjRfU1lOQ1BSSU1fSU5TVFJTX0ZSQUNfMCAgICAgICAgICgodWludDMyX3QpMHgwMDAwMDAwMCkgICAgICAgICAgLyoqPCBubyBhZGRpdGlvbmFsIHN1cHBvcnQgKi8NCiNkZWZpbmUgU0NCX0lTQVI0X1NZTkNQUklNX0lOU1RSU19GUkFDXzMgICAgICAgICAoKHVpbnQzMl90KTB4MDAzMDAwMDApICAgICAgICAgIC8qKjwgYWRkcyBDTFJFWCwgTERSRVhCLCBTVFJFWEIsIExEUkVYSCwgU1RSRVhIICovDQovKiBTQ0JfSVNBUjRbUFNSX01fSU5TVFJTXSBCaXRzICovDQojZGVmaW5lIFNDQl9JU0FSNF9QU1JfTV9JTlNUUlNfT0ZTICAgICAgICAgICAgICAgKDI0KSAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKio8IFBTUl9NX0lOU1RSUyBCaXQgT2Zmc2V0ICovDQojZGVmaW5lIFNDQl9JU0FSNF9QU1JfTV9JTlNUUlNfTUFTSyAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDBGMDAwMDAwKSAgICAgICAgICAvKio8IFBTUl9NX0lOU1RSUyBCaXQgTWFzayAqLw0KI2RlZmluZSBTQ0JfSVNBUjRfUFNSX01fSU5TVFJTMCAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMTAwMDAwMCkgICAgICAgICAgLyoqPCBQU1JfTV9JTlNUUlMgQml0IDAgKi8NCiNkZWZpbmUgU0NCX0lTQVI0X1BTUl9NX0lOU1RSUzEgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDIwMDAwMDApICAgICAgICAgIC8qKjwgUFNSX01fSU5TVFJTIEJpdCAxICovDQojZGVmaW5lIFNDQl9JU0FSNF9QU1JfTV9JTlNUUlMyICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDA0MDAwMDAwKSAgICAgICAgICAvKio8IFBTUl9NX0lOU1RSUyBCaXQgMiAqLw0KI2RlZmluZSBTQ0JfSVNBUjRfUFNSX01fSU5TVFJTMyAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwODAwMDAwMCkgICAgICAgICAgLyoqPCBQU1JfTV9JTlNUUlMgQml0IDMgKi8NCiNkZWZpbmUgU0NCX0lTQVI0X1BTUl9NX0lOU1RSU18wICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDAwMDApICAgICAgICAgIC8qKjwgaW5zdHJ1Y3Rpb25zIG5vdCBwcmVzZW50ICovDQojZGVmaW5lIFNDQl9JU0FSNF9QU1JfTV9JTlNUUlNfMSAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAxMDAwMDAwKSAgICAgICAgICAvKio8IGFkZHMgQ1BTLCBNUlMsIGFuZCBNU1IgaW5zdHJ1Y3Rpb25zIChNLXByb2ZpbGUgZm9ybXMpICovDQovKiBTQ0JfQ1BBQ1JbQ1AxMV0gQml0cyAqLw0KI2RlZmluZSBTQ0JfQ1BBQ1JfQ1AxMV9PRlMgICAgICAgICAgICAgICAgICAgICAgICgyMikgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyoqPCBDUDExIEJpdCBPZmZzZXQgKi8NCiNkZWZpbmUgU0NCX0NQQUNSX0NQMTFfTUFTSyAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDBDMDAwMDApICAgICAgICAgIC8qKjwgQ1AxMSBCaXQgTWFzayAqLw0KLyogU0NCX0NQQUNSW0NQMTBdIEJpdHMgKi8NCiNkZWZpbmUgU0NCX0NQQUNSX0NQMTBfT0ZTICAgICAgICAgICAgICAgICAgICAgICAoMjApICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgQ1AxMCBCaXQgT2Zmc2V0ICovDQojZGVmaW5lIFNDQl9DUEFDUl9DUDEwX01BU0sgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMzAwMDAwKSAgICAgICAgICAvKio8IENQMTAgQml0IE1hc2sgKi8NCg0KDQovKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqDQoqIFNDblNDQiBCaXRzDQoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovDQoNCg0KLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKg0KKiBTWVNDVEwgQml0cw0KKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLw0KLyogU1lTQ1RMX1JFQk9PVF9DVExbUkVCT09UXSBCaXRzICovDQojZGVmaW5lIFNZU0NUTF9SRUJPT1RfQ1RMX1JFQk9PVF9PRlMgICAgICAgICAgICAgKCAwKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKio8IFJFQk9PVCBCaXQgT2Zmc2V0ICovDQojZGVmaW5lIFNZU0NUTF9SRUJPT1RfQ1RMX1JFQk9PVCAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwMDAxKSAgICAgICAgICAvKio8IFdyaXRlIDEgaW5pdGlhdGVzIGEgUmVib290IG9mIHRoZSBkZXZpY2UgKi8NCi8qIFNZU0NUTF9SRUJPT1RfQ1RMW1dLRVldIEJpdHMgKi8NCiNkZWZpbmUgU1lTQ1RMX1JFQk9PVF9DVExfV0tFWV9PRlMgICAgICAgICAgICAgICAoIDgpICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgV0tFWSBCaXQgT2Zmc2V0ICovDQojZGVmaW5lIFNZU0NUTF9SRUJPT1RfQ1RMX1dLRVlfTUFTSyAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDBGRjAwKSAgICAgICAgICAvKio8IFdLRVkgQml0IE1hc2sgKi8NCi8qIFNZU0NUTF9OTUlfQ1RMU1RBVFtDU19TUkNdIEJpdHMgKi8NCiNkZWZpbmUgU1lTQ1RMX05NSV9DVExTVEFUX0NTX1NSQ19PRlMgICAgICAgICAgICAoIDApICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgQ1NfU1JDIEJpdCBPZmZzZXQgKi8NCiNkZWZpbmUgU1lTQ1RMX05NSV9DVExTVEFUX0NTX1NSQyAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDAwMDEpICAgICAgICAgIC8qKjwgQ1MgaW50ZXJydXB0IGFzIGEgc291cmNlIG9mIE5NSSAqLw0KLyogU1lTQ1RMX05NSV9DVExTVEFUW1BTU19TUkNdIEJpdHMgKi8NCiNkZWZpbmUgU1lTQ1RMX05NSV9DVExTVEFUX1BTU19TUkNfT0ZTICAgICAgICAgICAoIDEpICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgUFNTX1NSQyBCaXQgT2Zmc2V0ICovDQojZGVmaW5lIFNZU0NUTF9OTUlfQ1RMU1RBVF9QU1NfU1JDICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwMDAyKSAgICAgICAgICAvKio8IFBTUyBpbnRlcnJ1cHQgYXMgYSBzb3VyY2Ugb2YgTk1JICovDQovKiBTWVNDVExfTk1JX0NUTFNUQVRbUENNX1NSQ10gQml0cyAqLw0KI2RlZmluZSBTWVNDVExfTk1JX0NUTFNUQVRfUENNX1NSQ19PRlMgICAgICAgICAgICggMikgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyoqPCBQQ01fU1JDIEJpdCBPZmZzZXQgKi8NCiNkZWZpbmUgU1lTQ1RMX05NSV9DVExTVEFUX1BDTV9TUkMgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDAwMDQpICAgICAgICAgIC8qKjwgUENNIGludGVycnVwdCBhcyBhIHNvdXJjZSBvZiBOTUkgKi8NCi8qIFNZU0NUTF9OTUlfQ1RMU1RBVFtQSU5fU1JDXSBCaXRzICovDQojZGVmaW5lIFNZU0NUTF9OTUlfQ1RMU1RBVF9QSU5fU1JDX09GUyAgICAgICAgICAgKCAzKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKio8IFBJTl9TUkMgQml0IE9mZnNldCAqLw0KI2RlZmluZSBTWVNDVExfTk1JX0NUTFNUQVRfUElOX1NSQyAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMDAwOCkNCi8qIFNZU0NUTF9OTUlfQ1RMU1RBVFtDU19GTEddIEJpdHMgKi8NCiNkZWZpbmUgU1lTQ1RMX05NSV9DVExTVEFUX0NTX0ZMR19PRlMgICAgICAgICAgICAoMTYpICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgQ1NfRkxHIEJpdCBPZmZzZXQgKi8NCiNkZWZpbmUgU1lTQ1RMX05NSV9DVExTVEFUX0NTX0ZMRyAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMTAwMDApICAgICAgICAgIC8qKjwgQ1MgaW50ZXJydXB0IHdhcyB0aGUgc291cmNlIG9mIE5NSSAqLw0KLyogU1lTQ1RMX05NSV9DVExTVEFUW1BTU19GTEddIEJpdHMgKi8NCiNkZWZpbmUgU1lTQ1RMX05NSV9DVExTVEFUX1BTU19GTEdfT0ZTICAgICAgICAgICAoMTcpICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgUFNTX0ZMRyBCaXQgT2Zmc2V0ICovDQojZGVmaW5lIFNZU0NUTF9OTUlfQ1RMU1RBVF9QU1NfRkxHICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDIwMDAwKSAgICAgICAgICAvKio8IFBTUyBpbnRlcnJ1cHQgd2FzIHRoZSBzb3VyY2Ugb2YgTk1JICovDQovKiBTWVNDVExfTk1JX0NUTFNUQVRbUENNX0ZMR10gQml0cyAqLw0KI2RlZmluZSBTWVNDVExfTk1JX0NUTFNUQVRfUENNX0ZMR19PRlMgICAgICAgICAgICgxOCkgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyoqPCBQQ01fRkxHIEJpdCBPZmZzZXQgKi8NCiNkZWZpbmUgU1lTQ1RMX05NSV9DVExTVEFUX1BDTV9GTEcgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwNDAwMDApICAgICAgICAgIC8qKjwgUENNIGludGVycnVwdCB3YXMgdGhlIHNvdXJjZSBvZiBOTUkgKi8NCi8qIFNZU0NUTF9OTUlfQ1RMU1RBVFtQSU5fRkxHXSBCaXRzICovDQojZGVmaW5lIFNZU0NUTF9OTUlfQ1RMU1RBVF9QSU5fRkxHX09GUyAgICAgICAgICAgKDE5KSAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKio8IFBJTl9GTEcgQml0IE9mZnNldCAqLw0KI2RlZmluZSBTWVNDVExfTk1JX0NUTFNUQVRfUElOX0ZMRyAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDA4MDAwMCkgICAgICAgICAgLyoqPCBSU1RuL05NSSBwaW4gd2FzIHRoZSBzb3VyY2Ugb2YgTk1JICovDQovKiBTWVNDVExfV0RUUkVTRVRfQ1RMW1RJTUVPVVRdIEJpdHMgKi8NCiNkZWZpbmUgU1lTQ1RMX1dEVFJFU0VUX0NUTF9USU1FT1VUX09GUyAgICAgICAgICAoIDApICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgVElNRU9VVCBCaXQgT2Zmc2V0ICovDQojZGVmaW5lIFNZU0NUTF9XRFRSRVNFVF9DVExfVElNRU9VVCAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwMDAxKSAgICAgICAgICAvKio8IFdEVCB0aW1lb3V0IHJlc2V0IHR5cGUgKi8NCi8qIFNZU0NUTF9XRFRSRVNFVF9DVExbVklPTEFUSU9OXSBCaXRzICovDQojZGVmaW5lIFNZU0NUTF9XRFRSRVNFVF9DVExfVklPTEFUSU9OX09GUyAgICAgICAgKCAxKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKio8IFZJT0xBVElPTiBCaXQgT2Zmc2V0ICovDQojZGVmaW5lIFNZU0NUTF9XRFRSRVNFVF9DVExfVklPTEFUSU9OICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwMDAyKSAgICAgICAgICAvKio8IFdEVCBwYXNzd29yZCB2aW9sYXRpb24gcmVzZXQgdHlwZSAqLw0KLyogU1lTQ1RMX1BFUklIQUxUX0NUTFtIQUxUX1QxNl8wXSBCaXRzICovDQojZGVmaW5lIFNZU0NUTF9QRVJJSEFMVF9DVExfSEFMVF9UMTZfMF9PRlMgICAgICAgKCAwKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKio8IEhBTFRfVDE2XzAgQml0IE9mZnNldCAqLw0KI2RlZmluZSBTWVNDVExfUEVSSUhBTFRfQ1RMX0hBTFRfVDE2XzAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMDAwMSkgICAgICAgICAgLyoqPCBGcmVlemVzIElQIG9wZXJhdGlvbiB3aGVuIENQVSBpcyBoYWx0ZWQgKi8NCi8qIFNZU0NUTF9QRVJJSEFMVF9DVExbSEFMVF9UMTZfMV0gQml0cyAqLw0KI2RlZmluZSBTWVNDVExfUEVSSUhBTFRfQ1RMX0hBTFRfVDE2XzFfT0ZTICAgICAgICggMSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyoqPCBIQUxUX1QxNl8xIEJpdCBPZmZzZXQgKi8NCiNkZWZpbmUgU1lTQ1RMX1BFUklIQUxUX0NUTF9IQUxUX1QxNl8xICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDAwMDIpICAgICAgICAgIC8qKjwgRnJlZXplcyBJUCBvcGVyYXRpb24gd2hlbiBDUFUgaXMgaGFsdGVkICovDQovKiBTWVNDVExfUEVSSUhBTFRfQ1RMW0hBTFRfVDE2XzJdIEJpdHMgKi8NCiNkZWZpbmUgU1lTQ1RMX1BFUklIQUxUX0NUTF9IQUxUX1QxNl8yX09GUyAgICAgICAoIDIpICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgSEFMVF9UMTZfMiBCaXQgT2Zmc2V0ICovDQojZGVmaW5lIFNZU0NUTF9QRVJJSEFMVF9DVExfSEFMVF9UMTZfMiAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwMDA0KSAgICAgICAgICAvKio8IEZyZWV6ZXMgSVAgb3BlcmF0aW9uIHdoZW4gQ1BVIGlzIGhhbHRlZCAqLw0KLyogU1lTQ1RMX1BFUklIQUxUX0NUTFtIQUxUX1QxNl8zXSBCaXRzICovDQojZGVmaW5lIFNZU0NUTF9QRVJJSEFMVF9DVExfSEFMVF9UMTZfM19PRlMgICAgICAgKCAzKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKio8IEhBTFRfVDE2XzMgQml0IE9mZnNldCAqLw0KI2RlZmluZSBTWVNDVExfUEVSSUhBTFRfQ1RMX0hBTFRfVDE2XzMgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMDAwOCkgICAgICAgICAgLyoqPCBGcmVlemVzIElQIG9wZXJhdGlvbiB3aGVuIENQVSBpcyBoYWx0ZWQgKi8NCi8qIFNZU0NUTF9QRVJJSEFMVF9DVExbSEFMVF9UMzJfMF0gQml0cyAqLw0KI2RlZmluZSBTWVNDVExfUEVSSUhBTFRfQ1RMX0hBTFRfVDMyXzBfT0ZTICAgICAgICggNCkgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyoqPCBIQUxUX1QzMl8wIEJpdCBPZmZzZXQgKi8NCiNkZWZpbmUgU1lTQ1RMX1BFUklIQUxUX0NUTF9IQUxUX1QzMl8wICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDAwMTApICAgICAgICAgIC8qKjwgRnJlZXplcyBJUCBvcGVyYXRpb24gd2hlbiBDUFUgaXMgaGFsdGVkICovDQovKiBTWVNDVExfUEVSSUhBTFRfQ1RMW0hBTFRfRVVBMF0gQml0cyAqLw0KI2RlZmluZSBTWVNDVExfUEVSSUhBTFRfQ1RMX0hBTFRfRVVBMF9PRlMgICAgICAgICggNSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyoqPCBIQUxUX2VVQTAgQml0IE9mZnNldCAqLw0KI2RlZmluZSBTWVNDVExfUEVSSUhBTFRfQ1RMX0hBTFRfRVVBMCAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMDAyMCkgICAgICAgICAgLyoqPCBGcmVlemVzIElQIG9wZXJhdGlvbiB3aGVuIENQVSBpcyBoYWx0ZWQgKi8NCi8qIFNZU0NUTF9QRVJJSEFMVF9DVExbSEFMVF9FVUExXSBCaXRzICovDQojZGVmaW5lIFNZU0NUTF9QRVJJSEFMVF9DVExfSEFMVF9FVUExX09GUyAgICAgICAgKCA2KSAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKio8IEhBTFRfZVVBMSBCaXQgT2Zmc2V0ICovDQojZGVmaW5lIFNZU0NUTF9QRVJJSEFMVF9DVExfSEFMVF9FVUExICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwMDQwKSAgICAgICAgICAvKio8IEZyZWV6ZXMgSVAgb3BlcmF0aW9uIHdoZW4gQ1BVIGlzIGhhbHRlZCAqLw0KLyogU1lTQ1RMX1BFUklIQUxUX0NUTFtIQUxUX0VVQTJdIEJpdHMgKi8NCiNkZWZpbmUgU1lTQ1RMX1BFUklIQUxUX0NUTF9IQUxUX0VVQTJfT0ZTICAgICAgICAoIDcpICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgSEFMVF9lVUEyIEJpdCBPZmZzZXQgKi8NCiNkZWZpbmUgU1lTQ1RMX1BFUklIQUxUX0NUTF9IQUxUX0VVQTIgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDAwODApICAgICAgICAgIC8qKjwgRnJlZXplcyBJUCBvcGVyYXRpb24gd2hlbiBDUFUgaXMgaGFsdGVkICovDQovKiBTWVNDVExfUEVSSUhBTFRfQ1RMW0hBTFRfRVVBM10gQml0cyAqLw0KI2RlZmluZSBTWVNDVExfUEVSSUhBTFRfQ1RMX0hBTFRfRVVBM19PRlMgICAgICAgICggOCkgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyoqPCBIQUxUX2VVQTMgQml0IE9mZnNldCAqLw0KI2RlZmluZSBTWVNDVExfUEVSSUhBTFRfQ1RMX0hBTFRfRVVBMyAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMDEwMCkgICAgICAgICAgLyoqPCBGcmVlemVzIElQIG9wZXJhdGlvbiB3aGVuIENQVSBpcyBoYWx0ZWQgKi8NCi8qIFNZU0NUTF9QRVJJSEFMVF9DVExbSEFMVF9FVUIwXSBCaXRzICovDQojZGVmaW5lIFNZU0NUTF9QRVJJSEFMVF9DVExfSEFMVF9FVUIwX09GUyAgICAgICAgKCA5KSAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKio8IEhBTFRfZVVCMCBCaXQgT2Zmc2V0ICovDQojZGVmaW5lIFNZU0NUTF9QRVJJSEFMVF9DVExfSEFMVF9FVUIwICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwMjAwKSAgICAgICAgICAvKio8IEZyZWV6ZXMgSVAgb3BlcmF0aW9uIHdoZW4gQ1BVIGlzIGhhbHRlZCAqLw0KLyogU1lTQ1RMX1BFUklIQUxUX0NUTFtIQUxUX0VVQjFdIEJpdHMgKi8NCiNkZWZpbmUgU1lTQ1RMX1BFUklIQUxUX0NUTF9IQUxUX0VVQjFfT0ZTICAgICAgICAoMTApICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgSEFMVF9lVUIxIEJpdCBPZmZzZXQgKi8NCiNkZWZpbmUgU1lTQ1RMX1BFUklIQUxUX0NUTF9IQUxUX0VVQjEgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDA0MDApICAgICAgICAgIC8qKjwgRnJlZXplcyBJUCBvcGVyYXRpb24gd2hlbiBDUFUgaXMgaGFsdGVkICovDQovKiBTWVNDVExfUEVSSUhBTFRfQ1RMW0hBTFRfRVVCMl0gQml0cyAqLw0KI2RlZmluZSBTWVNDVExfUEVSSUhBTFRfQ1RMX0hBTFRfRVVCMl9PRlMgICAgICAgICgxMSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyoqPCBIQUxUX2VVQjIgQml0IE9mZnNldCAqLw0KI2RlZmluZSBTWVNDVExfUEVSSUhBTFRfQ1RMX0hBTFRfRVVCMiAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMDgwMCkgICAgICAgICAgLyoqPCBGcmVlemVzIElQIG9wZXJhdGlvbiB3aGVuIENQVSBpcyBoYWx0ZWQgKi8NCi8qIFNZU0NUTF9QRVJJSEFMVF9DVExbSEFMVF9FVUIzXSBCaXRzICovDQojZGVmaW5lIFNZU0NUTF9QRVJJSEFMVF9DVExfSEFMVF9FVUIzX09GUyAgICAgICAgKDEyKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKio8IEhBTFRfZVVCMyBCaXQgT2Zmc2V0ICovDQojZGVmaW5lIFNZU0NUTF9QRVJJSEFMVF9DVExfSEFMVF9FVUIzICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAxMDAwKSAgICAgICAgICAvKio8IEZyZWV6ZXMgSVAgb3BlcmF0aW9uIHdoZW4gQ1BVIGlzIGhhbHRlZCAqLw0KLyogU1lTQ1RMX1BFUklIQUxUX0NUTFtIQUxUX0FEQ10gQml0cyAqLw0KI2RlZmluZSBTWVNDVExfUEVSSUhBTFRfQ1RMX0hBTFRfQURDX09GUyAgICAgICAgICgxMykgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyoqPCBIQUxUX0FEQyBCaXQgT2Zmc2V0ICovDQojZGVmaW5lIFNZU0NUTF9QRVJJSEFMVF9DVExfSEFMVF9BREMgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAyMDAwKSAgICAgICAgICAvKio8IEZyZWV6ZXMgSVAgb3BlcmF0aW9uIHdoZW4gQ1BVIGlzIGhhbHRlZCAqLw0KLyogU1lTQ1RMX1BFUklIQUxUX0NUTFtIQUxUX1dEVF0gQml0cyAqLw0KI2RlZmluZSBTWVNDVExfUEVSSUhBTFRfQ1RMX0hBTFRfV0RUX09GUyAgICAgICAgICgxNCkgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyoqPCBIQUxUX1dEVCBCaXQgT2Zmc2V0ICovDQojZGVmaW5lIFNZU0NUTF9QRVJJSEFMVF9DVExfSEFMVF9XRFQgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDA0MDAwKSAgICAgICAgICAvKio8IEZyZWV6ZXMgSVAgb3BlcmF0aW9uIHdoZW4gQ1BVIGlzIGhhbHRlZCAqLw0KLyogU1lTQ1RMX1BFUklIQUxUX0NUTFtIQUxUX0RNQV0gQml0cyAqLw0KI2RlZmluZSBTWVNDVExfUEVSSUhBTFRfQ1RMX0hBTFRfRE1BX09GUyAgICAgICAgICgxNSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyoqPCBIQUxUX0RNQSBCaXQgT2Zmc2V0ICovDQojZGVmaW5lIFNZU0NUTF9QRVJJSEFMVF9DVExfSEFMVF9ETUEgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDA4MDAwKSAgICAgICAgICAvKio8IEZyZWV6ZXMgSVAgb3BlcmF0aW9uIHdoZW4gQ1BVIGlzIGhhbHRlZCAqLw0KLyogU1lTQ1RMX1NSQU1fQkFOS0VOW0JOSzBfRU5dIEJpdHMgKi8NCiNkZWZpbmUgU1lTQ1RMX1NSQU1fQkFOS0VOX0JOSzBfRU5fT0ZTICAgICAgICAgICAoIDApICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgQk5LMF9FTiBCaXQgT2Zmc2V0ICovDQojZGVmaW5lIFNZU0NUTF9TUkFNX0JBTktFTl9CTkswX0VOICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwMDAxKSAgICAgICAgICAvKio8IFNSQU0gQmFuazAgZW5hYmxlICovDQovKiBTWVNDVExfU1JBTV9CQU5LRU5bQk5LMV9FTl0gQml0cyAqLw0KI2RlZmluZSBTWVNDVExfU1JBTV9CQU5LRU5fQk5LMV9FTl9PRlMgICAgICAgICAgICggMSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyoqPCBCTksxX0VOIEJpdCBPZmZzZXQgKi8NCiNkZWZpbmUgU1lTQ1RMX1NSQU1fQkFOS0VOX0JOSzFfRU4gICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDAwMDIpICAgICAgICAgIC8qKjwgU1JBTSBCYW5rMSBlbmFibGUgKi8NCi8qIFNZU0NUTF9TUkFNX0JBTktFTltCTksyX0VOXSBCaXRzICovDQojZGVmaW5lIFNZU0NUTF9TUkFNX0JBTktFTl9CTksyX0VOX09GUyAgICAgICAgICAgKCAyKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKio8IEJOSzJfRU4gQml0IE9mZnNldCAqLw0KI2RlZmluZSBTWVNDVExfU1JBTV9CQU5LRU5fQk5LMl9FTiAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMDAwNCkgICAgICAgICAgLyoqPCBTUkFNIEJhbmsxIGVuYWJsZSAqLw0KLyogU1lTQ1RMX1NSQU1fQkFOS0VOW0JOSzNfRU5dIEJpdHMgKi8NCiNkZWZpbmUgU1lTQ1RMX1NSQU1fQkFOS0VOX0JOSzNfRU5fT0ZTICAgICAgICAgICAoIDMpICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgQk5LM19FTiBCaXQgT2Zmc2V0ICovDQojZGVmaW5lIFNZU0NUTF9TUkFNX0JBTktFTl9CTkszX0VOICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwMDA4KSAgICAgICAgICAvKio8IFNSQU0gQmFuazEgZW5hYmxlICovDQovKiBTWVNDVExfU1JBTV9CQU5LRU5bQk5LNF9FTl0gQml0cyAqLw0KI2RlZmluZSBTWVNDVExfU1JBTV9CQU5LRU5fQk5LNF9FTl9PRlMgICAgICAgICAgICggNCkgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyoqPCBCTks0X0VOIEJpdCBPZmZzZXQgKi8NCiNkZWZpbmUgU1lTQ1RMX1NSQU1fQkFOS0VOX0JOSzRfRU4gICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDAwMTApICAgICAgICAgIC8qKjwgU1JBTSBCYW5rMSBlbmFibGUgKi8NCi8qIFNZU0NUTF9TUkFNX0JBTktFTltCTks1X0VOXSBCaXRzICovDQojZGVmaW5lIFNZU0NUTF9TUkFNX0JBTktFTl9CTks1X0VOX09GUyAgICAgICAgICAgKCA1KSAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKio8IEJOSzVfRU4gQml0IE9mZnNldCAqLw0KI2RlZmluZSBTWVNDVExfU1JBTV9CQU5LRU5fQk5LNV9FTiAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMDAyMCkgICAgICAgICAgLyoqPCBTUkFNIEJhbmsxIGVuYWJsZSAqLw0KLyogU1lTQ1RMX1NSQU1fQkFOS0VOW0JOSzZfRU5dIEJpdHMgKi8NCiNkZWZpbmUgU1lTQ1RMX1NSQU1fQkFOS0VOX0JOSzZfRU5fT0ZTICAgICAgICAgICAoIDYpICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgQk5LNl9FTiBCaXQgT2Zmc2V0ICovDQojZGVmaW5lIFNZU0NUTF9TUkFNX0JBTktFTl9CTks2X0VOICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwMDQwKSAgICAgICAgICAvKio8IFNSQU0gQmFuazEgZW5hYmxlICovDQovKiBTWVNDVExfU1JBTV9CQU5LRU5bQk5LN19FTl0gQml0cyAqLw0KI2RlZmluZSBTWVNDVExfU1JBTV9CQU5LRU5fQk5LN19FTl9PRlMgICAgICAgICAgICggNykgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyoqPCBCTks3X0VOIEJpdCBPZmZzZXQgKi8NCiNkZWZpbmUgU1lTQ1RMX1NSQU1fQkFOS0VOX0JOSzdfRU4gICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDAwODApICAgICAgICAgIC8qKjwgU1JBTSBCYW5rMSBlbmFibGUgKi8NCi8qIFNZU0NUTF9TUkFNX0JBTktFTltTUkFNX1JEWV0gQml0cyAqLw0KI2RlZmluZSBTWVNDVExfU1JBTV9CQU5LRU5fU1JBTV9SRFlfT0ZTICAgICAgICAgICgxNikgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyoqPCBTUkFNX1JEWSBCaXQgT2Zmc2V0ICovDQojZGVmaW5lIFNZU0NUTF9TUkFNX0JBTktFTl9TUkFNX1JEWSAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDEwMDAwKSAgICAgICAgICAvKio8IFNSQU0gcmVhZHkgKi8NCi8qIFNZU0NUTF9TUkFNX0JBTktSRVRbQk5LMF9SRVRdIEJpdHMgKi8NCiNkZWZpbmUgU1lTQ1RMX1NSQU1fQkFOS1JFVF9CTkswX1JFVF9PRlMgICAgICAgICAoIDApICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgQk5LMF9SRVQgQml0IE9mZnNldCAqLw0KI2RlZmluZSBTWVNDVExfU1JBTV9CQU5LUkVUX0JOSzBfUkVUICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMDAwMSkgICAgICAgICAgLyoqPCBCYW5rMCByZXRlbnRpb24gKi8NCi8qIFNZU0NUTF9TUkFNX0JBTktSRVRbQk5LMV9SRVRdIEJpdHMgKi8NCiNkZWZpbmUgU1lTQ1RMX1NSQU1fQkFOS1JFVF9CTksxX1JFVF9PRlMgICAgICAgICAoIDEpICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgQk5LMV9SRVQgQml0IE9mZnNldCAqLw0KI2RlZmluZSBTWVNDVExfU1JBTV9CQU5LUkVUX0JOSzFfUkVUICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMDAwMikgICAgICAgICAgLyoqPCBCYW5rMSByZXRlbnRpb24gKi8NCi8qIFNZU0NUTF9TUkFNX0JBTktSRVRbQk5LMl9SRVRdIEJpdHMgKi8NCiNkZWZpbmUgU1lTQ1RMX1NSQU1fQkFOS1JFVF9CTksyX1JFVF9PRlMgICAgICAgICAoIDIpICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgQk5LMl9SRVQgQml0IE9mZnNldCAqLw0KI2RlZmluZSBTWVNDVExfU1JBTV9CQU5LUkVUX0JOSzJfUkVUICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMDAwNCkgICAgICAgICAgLyoqPCBCYW5rMiByZXRlbnRpb24gKi8NCi8qIFNZU0NUTF9TUkFNX0JBTktSRVRbQk5LM19SRVRdIEJpdHMgKi8NCiNkZWZpbmUgU1lTQ1RMX1NSQU1fQkFOS1JFVF9CTkszX1JFVF9PRlMgICAgICAgICAoIDMpICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgQk5LM19SRVQgQml0IE9mZnNldCAqLw0KI2RlZmluZSBTWVNDVExfU1JBTV9CQU5LUkVUX0JOSzNfUkVUICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMDAwOCkgICAgICAgICAgLyoqPCBCYW5rMyByZXRlbnRpb24gKi8NCi8qIFNZU0NUTF9TUkFNX0JBTktSRVRbQk5LNF9SRVRdIEJpdHMgKi8NCiNkZWZpbmUgU1lTQ1RMX1NSQU1fQkFOS1JFVF9CTks0X1JFVF9PRlMgICAgICAgICAoIDQpICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgQk5LNF9SRVQgQml0IE9mZnNldCAqLw0KI2RlZmluZSBTWVNDVExfU1JBTV9CQU5LUkVUX0JOSzRfUkVUICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMDAxMCkgICAgICAgICAgLyoqPCBCYW5rNCByZXRlbnRpb24gKi8NCi8qIFNZU0NUTF9TUkFNX0JBTktSRVRbQk5LNV9SRVRdIEJpdHMgKi8NCiNkZWZpbmUgU1lTQ1RMX1NSQU1fQkFOS1JFVF9CTks1X1JFVF9PRlMgICAgICAgICAoIDUpICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgQk5LNV9SRVQgQml0IE9mZnNldCAqLw0KI2RlZmluZSBTWVNDVExfU1JBTV9CQU5LUkVUX0JOSzVfUkVUICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMDAyMCkgICAgICAgICAgLyoqPCBCYW5rNSByZXRlbnRpb24gKi8NCi8qIFNZU0NUTF9TUkFNX0JBTktSRVRbQk5LNl9SRVRdIEJpdHMgKi8NCiNkZWZpbmUgU1lTQ1RMX1NSQU1fQkFOS1JFVF9CTks2X1JFVF9PRlMgICAgICAgICAoIDYpICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgQk5LNl9SRVQgQml0IE9mZnNldCAqLw0KI2RlZmluZSBTWVNDVExfU1JBTV9CQU5LUkVUX0JOSzZfUkVUICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMDA0MCkgICAgICAgICAgLyoqPCBCYW5rNiByZXRlbnRpb24gKi8NCi8qIFNZU0NUTF9TUkFNX0JBTktSRVRbQk5LN19SRVRdIEJpdHMgKi8NCiNkZWZpbmUgU1lTQ1RMX1NSQU1fQkFOS1JFVF9CTks3X1JFVF9PRlMgICAgICAgICAoIDcpICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgQk5LN19SRVQgQml0IE9mZnNldCAqLw0KI2RlZmluZSBTWVNDVExfU1JBTV9CQU5LUkVUX0JOSzdfUkVUICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMDA4MCkgICAgICAgICAgLyoqPCBCYW5rNyByZXRlbnRpb24gKi8NCi8qIFNZU0NUTF9TUkFNX0JBTktSRVRbU1JBTV9SRFldIEJpdHMgKi8NCiNkZWZpbmUgU1lTQ1RMX1NSQU1fQkFOS1JFVF9TUkFNX1JEWV9PRlMgICAgICAgICAoMTYpICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgU1JBTV9SRFkgQml0IE9mZnNldCAqLw0KI2RlZmluZSBTWVNDVExfU1JBTV9CQU5LUkVUX1NSQU1fUkRZICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAxMDAwMCkgICAgICAgICAgLyoqPCBTUkFNIHJlYWR5ICovDQovKiBTWVNDVExfRElPX0dMVEZMVF9DVExbR0xUQ0hfRU5dIEJpdHMgKi8NCiNkZWZpbmUgU1lTQ1RMX0RJT19HTFRGTFRfQ1RMX0dMVENIX0VOX09GUyAgICAgICAoIDApICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgR0xUQ0hfRU4gQml0IE9mZnNldCAqLw0KI2RlZmluZSBTWVNDVExfRElPX0dMVEZMVF9DVExfR0xUQ0hfRU4gICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMDAwMSkgICAgICAgICAgLyoqPCBHbGl0Y2ggZmlsdGVyIGVuYWJsZSAqLw0KLyogU1lTQ1RMX1NFQ0RBVEFfVU5MT0NLW1VOTEtFWV0gQml0cyAqLw0KI2RlZmluZSBTWVNDVExfU0VDREFUQV9VTkxPQ0tfVU5MS0VZX09GUyAgICAgICAgICggMCkgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyoqPCBVTkxLRVkgQml0IE9mZnNldCAqLw0KI2RlZmluZSBTWVNDVExfU0VDREFUQV9VTkxPQ0tfVU5MS0VZX01BU0sgICAgICAgICgodWludDMyX3QpMHgwMDAwRkZGRikgICAgICAgICAgLyoqPCBVTkxLRVkgQml0IE1hc2sgKi8NCi8qIFNZU0NUTF9DU1lTX01BU1RFUl9VTkxPQ0tbVU5MS0VZXSBCaXRzICovDQojZGVmaW5lIFNZU0NUTF9DU1lTX01BU1RFUl9VTkxPQ0tfVU5MS0VZX09GUyAgICAgKCAwKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKio8IFVOTEtFWSBCaXQgT2Zmc2V0ICovDQojZGVmaW5lIFNZU0NUTF9DU1lTX01BU1RFUl9VTkxPQ0tfVU5MS0VZX01BU0sgICAgKCh1aW50MzJfdCkweDAwMDBGRkZGKSAgICAgICAgICAvKio8IFVOTEtFWSBCaXQgTWFzayAqLw0KLyogU1lTQ1RMX0JPT1RfQ1RMW0JPT1RfU0VDRU5dIEJpdHMgKi8NCiNkZWZpbmUgU1lTQ1RMX0JPT1RfQ1RMX0JPT1RfU0VDRU5fT0ZTICAgICAgICAgICAoIDApICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgQk9PVF9TRUNFTiBCaXQgT2Zmc2V0ICovDQojZGVmaW5lIFNZU0NUTF9CT09UX0NUTF9CT09UX1NFQ0VOICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwMDAxKQ0KLyogU1lTQ1RMX0JPT1RfQ1RMW0JPT1RBQ1RdIEJpdHMgKi8NCiNkZWZpbmUgU1lTQ1RMX0JPT1RfQ1RMX0JPT1RBQ1RfT0ZTICAgICAgICAgICAgICAoIDEpICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgQk9PVEFDVCBCaXQgT2Zmc2V0ICovDQojZGVmaW5lIFNZU0NUTF9CT09UX0NUTF9CT09UQUNUICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwMDAyKQ0KLyogU1lTQ1RMX0JPT1RfQ1RMW0JPT1RDTVBMXSBCaXRzICovDQojZGVmaW5lIFNZU0NUTF9CT09UX0NUTF9CT09UQ01QTF9PRlMgICAgICAgICAgICAgKCAyKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKio8IEJPT1RDTVBMIEJpdCBPZmZzZXQgKi8NCiNkZWZpbmUgU1lTQ1RMX0JPT1RfQ1RMX0JPT1RDTVBMICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDAwMDQpDQovKiBTWVNDVExfQk9PVF9DVExbQk9PVF9SRU1BUEVOXSBCaXRzICovDQojZGVmaW5lIFNZU0NUTF9CT09UX0NUTF9CT09UX1JFTUFQRU5fT0ZTICAgICAgICAgKCAzKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKio8IEJPT1RfUkVNQVBFTiBCaXQgT2Zmc2V0ICovDQojZGVmaW5lIFNZU0NUTF9CT09UX0NUTF9CT09UX1JFTUFQRU4gICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwMDA4KQ0KLyogU1lTQ1RMX0JPT1RfQ1RMW0VOR1JfRElTXSBCaXRzICovDQojZGVmaW5lIFNZU0NUTF9CT09UX0NUTF9FTkdSX0RJU19PRlMgICAgICAgICAgICAgKCA0KSAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKio8IEVOR1JfRElTIEJpdCBPZmZzZXQgKi8NCiNkZWZpbmUgU1lTQ1RMX0JPT1RfQ1RMX0VOR1JfRElTICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDAwMTApDQovKiBTWVNDVExfQk9PVF9DVExbV0tFWV0gQml0cyAqLw0KI2RlZmluZSBTWVNDVExfQk9PVF9DVExfV0tFWV9PRlMgICAgICAgICAgICAgICAgICggOCkgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyoqPCBXS0VZIEJpdCBPZmZzZXQgKi8NCiNkZWZpbmUgU1lTQ1RMX0JPT1RfQ1RMX1dLRVlfTUFTSyAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMEZGMDApICAgICAgICAgIC8qKjwgV0tFWSBCaXQgTWFzayAqLw0KLyogU1lTQ1RMX1NFQ19DVExbSlRBR19TV0RfTE9DS19FTl0gQml0cyAqLw0KI2RlZmluZSBTWVNDVExfU0VDX0NUTF9KVEFHX1NXRF9MT0NLX0VOX09GUyAgICAgICggMCkgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyoqPCBKVEFHX1NXRF9MT0NLX0VOIEJpdCBPZmZzZXQgKi8NCiNkZWZpbmUgU1lTQ1RMX1NFQ19DVExfSlRBR19TV0RfTE9DS19FTiAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDAwMDEpDQovKiBTWVNDVExfU0VDX0NUTFtJUF9QUk9UX0VOXSBCaXRzICovDQojZGVmaW5lIFNZU0NUTF9TRUNfQ1RMX0lQX1BST1RfRU5fT0ZTICAgICAgICAgICAgKCAxKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKio8IElQX1BST1RfRU4gQml0IE9mZnNldCAqLw0KI2RlZmluZSBTWVNDVExfU0VDX0NUTF9JUF9QUk9UX0VOICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMDAwMikNCi8qIFNZU0NUTF9TRUNfQ1RMW0RMT0NLX0VOXSBCaXRzICovDQojZGVmaW5lIFNZU0NUTF9TRUNfQ1RMX0RMT0NLX0VOX09GUyAgICAgICAgICAgICAgKCAyKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKio8IERMT0NLX0VOIEJpdCBPZmZzZXQgKi8NCiNkZWZpbmUgU1lTQ1RMX1NFQ19DVExfRExPQ0tfRU4gICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDAwMDQpDQovKiBTWVNDVExfU0VDX0NUTFtTQlVTX0lGX0RJU10gQml0cyAqLw0KI2RlZmluZSBTWVNDVExfU0VDX0NUTF9TQlVTX0lGX0RJU19PRlMgICAgICAgICAgICggMykgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyoqPCBTQlVTX0lGX0RJUyBCaXQgT2Zmc2V0ICovDQojZGVmaW5lIFNZU0NUTF9TRUNfQ1RMX1NCVVNfSUZfRElTICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwMDA4KQ0KLyogU1lTQ1RMX1NFQ19DVExbU0VDX1pPTkUwX0VOXSBCaXRzICovDQojZGVmaW5lIFNZU0NUTF9TRUNfQ1RMX1NFQ19aT05FMF9FTl9PRlMgICAgICAgICAgKCA4KSAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKio8IFNFQ19aT05FMF9FTiBCaXQgT2Zmc2V0ICovDQojZGVmaW5lIFNZU0NUTF9TRUNfQ1RMX1NFQ19aT05FMF9FTiAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwMTAwKQ0KLyogU1lTQ1RMX1NFQ19DVExbU0VDX1pPTkUxX0VOXSBCaXRzICovDQojZGVmaW5lIFNZU0NUTF9TRUNfQ1RMX1NFQ19aT05FMV9FTl9PRlMgICAgICAgICAgKCA5KSAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKio8IFNFQ19aT05FMV9FTiBCaXQgT2Zmc2V0ICovDQojZGVmaW5lIFNZU0NUTF9TRUNfQ1RMX1NFQ19aT05FMV9FTiAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwMjAwKQ0KLyogU1lTQ1RMX1NFQ19DVExbU0VDX1pPTkUyX0VOXSBCaXRzICovDQojZGVmaW5lIFNZU0NUTF9TRUNfQ1RMX1NFQ19aT05FMl9FTl9PRlMgICAgICAgICAgKDEwKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKio8IFNFQ19aT05FMl9FTiBCaXQgT2Zmc2V0ICovDQojZGVmaW5lIFNZU0NUTF9TRUNfQ1RMX1NFQ19aT05FMl9FTiAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwNDAwKQ0KLyogU1lTQ1RMX1NFQ19DVExbU0VDX1pPTkUzX0VOXSBCaXRzICovDQojZGVmaW5lIFNZU0NUTF9TRUNfQ1RMX1NFQ19aT05FM19FTl9PRlMgICAgICAgICAgKDExKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKio8IFNFQ19aT05FM19FTiBCaXQgT2Zmc2V0ICovDQojZGVmaW5lIFNZU0NUTF9TRUNfQ1RMX1NFQ19aT05FM19FTiAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwODAwKQ0KLyogU1lTQ1RMX1NFQ19DVExbU0VDX1pPTkUwX0RBVEFFTl0gQml0cyAqLw0KI2RlZmluZSBTWVNDVExfU0VDX0NUTF9TRUNfWk9ORTBfREFUQUVOX09GUyAgICAgICgxNikgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyoqPCBTRUNfWk9ORTBfREFUQUVOIEJpdCBPZmZzZXQgKi8NCiNkZWZpbmUgU1lTQ1RMX1NFQ19DVExfU0VDX1pPTkUwX0RBVEFFTiAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMTAwMDApDQovKiBTWVNDVExfU0VDX0NUTFtTRUNfWk9ORTFfREFUQUVOXSBCaXRzICovDQojZGVmaW5lIFNZU0NUTF9TRUNfQ1RMX1NFQ19aT05FMV9EQVRBRU5fT0ZTICAgICAgKDE3KSAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKio8IFNFQ19aT05FMV9EQVRBRU4gQml0IE9mZnNldCAqLw0KI2RlZmluZSBTWVNDVExfU0VDX0NUTF9TRUNfWk9ORTFfREFUQUVOICAgICAgICAgICgodWludDMyX3QpMHgwMDAyMDAwMCkNCi8qIFNZU0NUTF9TRUNfQ1RMW1NFQ19aT05FMl9EQVRBRU5dIEJpdHMgKi8NCiNkZWZpbmUgU1lTQ1RMX1NFQ19DVExfU0VDX1pPTkUyX0RBVEFFTl9PRlMgICAgICAoMTgpICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgU0VDX1pPTkUyX0RBVEFFTiBCaXQgT2Zmc2V0ICovDQojZGVmaW5lIFNZU0NUTF9TRUNfQ1RMX1NFQ19aT05FMl9EQVRBRU4gICAgICAgICAgKCh1aW50MzJfdCkweDAwMDQwMDAwKQ0KLyogU1lTQ1RMX1NFQ19DVExbU0VDX1pPTkUzX0RBVEFFTl0gQml0cyAqLw0KI2RlZmluZSBTWVNDVExfU0VDX0NUTF9TRUNfWk9ORTNfREFUQUVOX09GUyAgICAgICgxOSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyoqPCBTRUNfWk9ORTNfREFUQUVOIEJpdCBPZmZzZXQgKi8NCiNkZWZpbmUgU1lTQ1RMX1NFQ19DVExfU0VDX1pPTkUzX0RBVEFFTiAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwODAwMDApDQovKiBTWVNDVExfU0VDX1NUQVJUQUREUjBbU1RBUlRfQUREUl0gQml0cyAqLw0KI2RlZmluZSBTWVNDVExfU0VDX1NUQVJUQUREUjBfU1RBUlRfQUREUl9PRlMgICAgICggMCkgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyoqPCBTVEFSVF9BRERSIEJpdCBPZmZzZXQgKi8NCiNkZWZpbmUgU1lTQ1RMX1NFQ19TVEFSVEFERFIwX1NUQVJUX0FERFJfTUFTSyAgICAoKHVpbnQzMl90KTB4MDAwM0ZGRkYpICAgICAgICAgIC8qKjwgU1RBUlRfQUREUiBCaXQgTWFzayAqLw0KLyogU1lTQ1RMX1NFQ19TVEFSVEFERFIxW1NUQVJUX0FERFJdIEJpdHMgKi8NCiNkZWZpbmUgU1lTQ1RMX1NFQ19TVEFSVEFERFIxX1NUQVJUX0FERFJfT0ZTICAgICAoIDApICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgU1RBUlRfQUREUiBCaXQgT2Zmc2V0ICovDQojZGVmaW5lIFNZU0NUTF9TRUNfU1RBUlRBRERSMV9TVEFSVF9BRERSX01BU0sgICAgKCh1aW50MzJfdCkweDAwMDNGRkZGKSAgICAgICAgICAvKio8IFNUQVJUX0FERFIgQml0IE1hc2sgKi8NCi8qIFNZU0NUTF9TRUNfU1RBUlRBRERSMltTVEFSVF9BRERSXSBCaXRzICovDQojZGVmaW5lIFNZU0NUTF9TRUNfU1RBUlRBRERSMl9TVEFSVF9BRERSX09GUyAgICAgKCAwKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKio8IFNUQVJUX0FERFIgQml0IE9mZnNldCAqLw0KI2RlZmluZSBTWVNDVExfU0VDX1NUQVJUQUREUjJfU1RBUlRfQUREUl9NQVNLICAgICgodWludDMyX3QpMHgwMDAzRkZGRikgICAgICAgICAgLyoqPCBTVEFSVF9BRERSIEJpdCBNYXNrICovDQovKiBTWVNDVExfU0VDX1NUQVJUQUREUjNbU1RBUlRfQUREUl0gQml0cyAqLw0KI2RlZmluZSBTWVNDVExfU0VDX1NUQVJUQUREUjNfU1RBUlRfQUREUl9PRlMgICAgICggMCkgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyoqPCBTVEFSVF9BRERSIEJpdCBPZmZzZXQgKi8NCiNkZWZpbmUgU1lTQ1RMX1NFQ19TVEFSVEFERFIzX1NUQVJUX0FERFJfTUFTSyAgICAoKHVpbnQzMl90KTB4MDAwM0ZGRkYpICAgICAgICAgIC8qKjwgU1RBUlRfQUREUiBCaXQgTWFzayAqLw0KLyogU1lTQ1RMX1NFQ19TSVpFMFtTSVpFXSBCaXRzICovDQojZGVmaW5lIFNZU0NUTF9TRUNfU0laRTBfU0laRV9PRlMgICAgICAgICAgICAgICAgKCAwKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKio8IFNJWkUgQml0IE9mZnNldCAqLw0KI2RlZmluZSBTWVNDVExfU0VDX1NJWkUwX1NJWkVfTUFTSyAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAzRkZGRikgICAgICAgICAgLyoqPCBTSVpFIEJpdCBNYXNrICovDQovKiBTWVNDVExfU0VDX1NJWkUxW1NJWkVdIEJpdHMgKi8NCiNkZWZpbmUgU1lTQ1RMX1NFQ19TSVpFMV9TSVpFX09GUyAgICAgICAgICAgICAgICAoIDApICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgU0laRSBCaXQgT2Zmc2V0ICovDQojZGVmaW5lIFNZU0NUTF9TRUNfU0laRTFfU0laRV9NQVNLICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDNGRkZGKSAgICAgICAgICAvKio8IFNJWkUgQml0IE1hc2sgKi8NCi8qIFNZU0NUTF9TRUNfU0laRTJbU0laRV0gQml0cyAqLw0KI2RlZmluZSBTWVNDVExfU0VDX1NJWkUyX1NJWkVfT0ZTICAgICAgICAgICAgICAgICggMCkgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyoqPCBTSVpFIEJpdCBPZmZzZXQgKi8NCiNkZWZpbmUgU1lTQ1RMX1NFQ19TSVpFMl9TSVpFX01BU0sgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwM0ZGRkYpICAgICAgICAgIC8qKjwgU0laRSBCaXQgTWFzayAqLw0KLyogU1lTQ1RMX1NFQ19TSVpFM1tTSVpFXSBCaXRzICovDQojZGVmaW5lIFNZU0NUTF9TRUNfU0laRTNfU0laRV9PRlMgICAgICAgICAgICAgICAgKCAwKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKio8IFNJWkUgQml0IE9mZnNldCAqLw0KI2RlZmluZSBTWVNDVExfU0VDX1NJWkUzX1NJWkVfTUFTSyAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAzRkZGRikgICAgICAgICAgLyoqPCBTSVpFIEJpdCBNYXNrICovDQovKiBTWVNDVExfRVRXX0NUTFtFVFNFTF0gQml0cyAqLw0KI2RlZmluZSBTWVNDVExfRVRXX0NUTF9FVFNFTF9PRlMgICAgICAgICAgICAgICAgICggMCkgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyoqPCBFVFNFTCBCaXQgT2Zmc2V0ICovDQojZGVmaW5lIFNZU0NUTF9FVFdfQ1RMX0VUU0VMICAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwMDAxKQ0KLyogU1lTQ1RMX0VUV19DVExbREJHRU5dIEJpdHMgKi8NCiNkZWZpbmUgU1lTQ1RMX0VUV19DVExfREJHRU5fT0ZTICAgICAgICAgICAgICAgICAoIDEpICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgREJHRU4gQml0IE9mZnNldCAqLw0KI2RlZmluZSBTWVNDVExfRVRXX0NUTF9EQkdFTiAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMDAwMikNCi8qIFNZU0NUTF9FVFdfQ1RMW1dLRVldIEJpdHMgKi8NCiNkZWZpbmUgU1lTQ1RMX0VUV19DVExfV0tFWV9PRlMgICAgICAgICAgICAgICAgICAoIDgpICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgV0tFWSBCaXQgT2Zmc2V0ICovDQojZGVmaW5lIFNZU0NUTF9FVFdfQ1RMX1dLRVlfTUFTSyAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDBGRjAwKSAgICAgICAgICAvKio8IFdLRVkgQml0IE1hc2sgKi8NCi8qIFNZU0NUTF9GTEFTSF9TSVpFQ0ZHW1NJWkVdIEJpdHMgKi8NCiNkZWZpbmUgU1lTQ1RMX0ZMQVNIX1NJWkVDRkdfU0laRV9PRlMgICAgICAgICAgICAoIDApICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgU0laRSBCaXQgT2Zmc2V0ICovDQojZGVmaW5lIFNZU0NUTF9GTEFTSF9TSVpFQ0ZHX1NJWkVfTUFTSyAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDdGRkZGKSAgICAgICAgICAvKio8IFNJWkUgQml0IE1hc2sgKi8NCi8qIFNZU0NUTF9TUkFNX1NJWkVDRkdbU0laRV0gQml0cyAqLw0KI2RlZmluZSBTWVNDVExfU1JBTV9TSVpFQ0ZHX1NJWkVfT0ZTICAgICAgICAgICAgICggMCkgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyoqPCBTSVpFIEJpdCBPZmZzZXQgKi8NCiNkZWZpbmUgU1lTQ1RMX1NSQU1fU0laRUNGR19TSVpFX01BU0sgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMUZGRkYpICAgICAgICAgIC8qKjwgU0laRSBCaXQgTWFzayAqLw0KLyogU1lTQ1RMX1NSQU1fTlVNQkFOS1tOVU1fQkFOS10gQml0cyAqLw0KI2RlZmluZSBTWVNDVExfU1JBTV9OVU1CQU5LX05VTV9CQU5LX09GUyAgICAgICAgICggMCkgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyoqPCBOVU1fQkFOSyBCaXQgT2Zmc2V0ICovDQojZGVmaW5lIFNZU0NUTF9TUkFNX05VTUJBTktfTlVNX0JBTktfTUFTSyAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwMDFGKSAgICAgICAgICAvKio8IE5VTV9CQU5LIEJpdCBNYXNrICovDQovKiBTWVNDVExfVElNRVJfQ0ZHW1QwX0VOXSBCaXRzICovDQojZGVmaW5lIFNZU0NUTF9USU1FUl9DRkdfVDBfRU5fT0ZTICAgICAgICAgICAgICAgKCAwKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKio8IFQwX0VOIEJpdCBPZmZzZXQgKi8NCiNkZWZpbmUgU1lTQ1RMX1RJTUVSX0NGR19UMF9FTiAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDAwMDEpICAgICAgICAgIC8qKjwgRW5hYmxlIGJpdCBmb3IgVGltZXIwICovDQovKiBTWVNDVExfVElNRVJfQ0ZHW1QxX0VOXSBCaXRzICovDQojZGVmaW5lIFNZU0NUTF9USU1FUl9DRkdfVDFfRU5fT0ZTICAgICAgICAgICAgICAgKCAxKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKio8IFQxX0VOIEJpdCBPZmZzZXQgKi8NCiNkZWZpbmUgU1lTQ1RMX1RJTUVSX0NGR19UMV9FTiAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDAwMDIpICAgICAgICAgIC8qKjwgRW5hYmxlIGJpdCBmb3IgVGltZXIxICovDQovKiBTWVNDVExfVElNRVJfQ0ZHW1QyX0VOXSBCaXRzICovDQojZGVmaW5lIFNZU0NUTF9USU1FUl9DRkdfVDJfRU5fT0ZTICAgICAgICAgICAgICAgKCAyKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKio8IFQyX0VOIEJpdCBPZmZzZXQgKi8NCiNkZWZpbmUgU1lTQ1RMX1RJTUVSX0NGR19UMl9FTiAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDAwMDQpICAgICAgICAgIC8qKjwgRW5hYmxlIGJpdCBmb3IgVGltZXIyICovDQovKiBTWVNDVExfVElNRVJfQ0ZHW1QzX0VOXSBCaXRzICovDQojZGVmaW5lIFNZU0NUTF9USU1FUl9DRkdfVDNfRU5fT0ZTICAgICAgICAgICAgICAgKCAzKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKio8IFQzX0VOIEJpdCBPZmZzZXQgKi8NCiNkZWZpbmUgU1lTQ1RMX1RJTUVSX0NGR19UM19FTiAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDAwMDgpICAgICAgICAgIC8qKjwgRW5hYmxlIGJpdCBmb3IgVGltZXIzICovDQovKiBTWVNDVExfVElNRVJfQ0ZHW1QzMl9FTl0gQml0cyAqLw0KI2RlZmluZSBTWVNDVExfVElNRVJfQ0ZHX1QzMl9FTl9PRlMgICAgICAgICAgICAgICgxNikgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyoqPCBUMzJfRU4gQml0IE9mZnNldCAqLw0KI2RlZmluZSBTWVNDVExfVElNRVJfQ0ZHX1QzMl9FTiAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAxMDAwMCkgICAgICAgICAgLyoqPCBFbmFibGUgYml0IGZvciBUaW1lcjMyICovDQovKiBTWVNDVExfRVVTQ0lfQ0ZHW0VVQTBfRU5dIEJpdHMgKi8NCiNkZWZpbmUgU1lTQ1RMX0VVU0NJX0NGR19FVUEwX0VOX09GUyAgICAgICAgICAgICAoIDApICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgZVVBMF9FTiBCaXQgT2Zmc2V0ICovDQojZGVmaW5lIFNZU0NUTF9FVVNDSV9DRkdfRVVBMF9FTiAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwMDAxKSAgICAgICAgICAvKio8IEVuYWJsZSBiaXQgZm9yIGVVU0NJX0EwICovDQovKiBTWVNDVExfRVVTQ0lfQ0ZHW0VVQTFfRU5dIEJpdHMgKi8NCiNkZWZpbmUgU1lTQ1RMX0VVU0NJX0NGR19FVUExX0VOX09GUyAgICAgICAgICAgICAoIDEpICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgZVVBMV9FTiBCaXQgT2Zmc2V0ICovDQojZGVmaW5lIFNZU0NUTF9FVVNDSV9DRkdfRVVBMV9FTiAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwMDAyKSAgICAgICAgICAvKio8IEVuYWJsZSBiaXQgZm9yIGVVU0NJX0ExICovDQovKiBTWVNDVExfRVVTQ0lfQ0ZHW0VVQTJfRU5dIEJpdHMgKi8NCiNkZWZpbmUgU1lTQ1RMX0VVU0NJX0NGR19FVUEyX0VOX09GUyAgICAgICAgICAgICAoIDIpICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgZVVBMl9FTiBCaXQgT2Zmc2V0ICovDQojZGVmaW5lIFNZU0NUTF9FVVNDSV9DRkdfRVVBMl9FTiAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwMDA0KSAgICAgICAgICAvKio8IEVuYWJsZSBiaXQgZm9yIGVVU0NJX0EyICovDQovKiBTWVNDVExfRVVTQ0lfQ0ZHW0VVQTNfRU5dIEJpdHMgKi8NCiNkZWZpbmUgU1lTQ1RMX0VVU0NJX0NGR19FVUEzX0VOX09GUyAgICAgICAgICAgICAoIDMpICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgZVVBM19FTiBCaXQgT2Zmc2V0ICovDQojZGVmaW5lIFNZU0NUTF9FVVNDSV9DRkdfRVVBM19FTiAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwMDA4KSAgICAgICAgICAvKio8IEVuYWJsZSBiaXQgZm9yIGVVU0NJX0EzICovDQovKiBTWVNDVExfRVVTQ0lfQ0ZHW0VVQjBfRU5dIEJpdHMgKi8NCiNkZWZpbmUgU1lTQ1RMX0VVU0NJX0NGR19FVUIwX0VOX09GUyAgICAgICAgICAgICAoMTYpICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgZVVCMF9FTiBCaXQgT2Zmc2V0ICovDQojZGVmaW5lIFNZU0NUTF9FVVNDSV9DRkdfRVVCMF9FTiAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDEwMDAwKSAgICAgICAgICAvKio8IEVuYWJsZSBiaXQgZm9yIGVVU0NJX0IwICovDQovKiBTWVNDVExfRVVTQ0lfQ0ZHW0VVQjFfRU5dIEJpdHMgKi8NCiNkZWZpbmUgU1lTQ1RMX0VVU0NJX0NGR19FVUIxX0VOX09GUyAgICAgICAgICAgICAoMTcpICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgZVVCMV9FTiBCaXQgT2Zmc2V0ICovDQojZGVmaW5lIFNZU0NUTF9FVVNDSV9DRkdfRVVCMV9FTiAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDIwMDAwKSAgICAgICAgICAvKio8IEVuYWJsZSBiaXQgZm9yIGVVU0NJX0IxICovDQovKiBTWVNDVExfRVVTQ0lfQ0ZHW0VVQjJfRU5dIEJpdHMgKi8NCiNkZWZpbmUgU1lTQ1RMX0VVU0NJX0NGR19FVUIyX0VOX09GUyAgICAgICAgICAgICAoMTgpICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgZVVCMl9FTiBCaXQgT2Zmc2V0ICovDQojZGVmaW5lIFNZU0NUTF9FVVNDSV9DRkdfRVVCMl9FTiAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDQwMDAwKSAgICAgICAgICAvKio8IEVuYWJsZSBiaXQgZm9yIGVVU0NJX0IyICovDQovKiBTWVNDVExfRVVTQ0lfQ0ZHW0VVQjNfRU5dIEJpdHMgKi8NCiNkZWZpbmUgU1lTQ1RMX0VVU0NJX0NGR19FVUIzX0VOX09GUyAgICAgICAgICAgICAoMTkpICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgZVVCM19FTiBCaXQgT2Zmc2V0ICovDQojZGVmaW5lIFNZU0NUTF9FVVNDSV9DRkdfRVVCM19FTiAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDgwMDAwKSAgICAgICAgICAvKio8IEVuYWJsZSBiaXQgZm9yIGVVU0NJX0IzICovDQovKiBTWVNDVExfQURDX0NGR1tBRENfRU5dIEJpdHMgKi8NCiNkZWZpbmUgU1lTQ1RMX0FEQ19DRkdfQURDX0VOX09GUyAgICAgICAgICAgICAgICAoIDApICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgQURDX0VOIEJpdCBPZmZzZXQgKi8NCiNkZWZpbmUgU1lTQ1RMX0FEQ19DRkdfQURDX0VOICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDAwMDEpICAgICAgICAgIC8qKjwgRW5hYmxlIGJpdCBmb3IgQURDICovDQovKiBTWVNDVExfWFRBTF9DRkdbTEZYVF9FTl0gQml0cyAqLw0KI2RlZmluZSBTWVNDVExfWFRBTF9DRkdfTEZYVF9FTl9PRlMgICAgICAgICAgICAgICggMCkgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyoqPCBMRlhUX0VOIEJpdCBPZmZzZXQgKi8NCiNkZWZpbmUgU1lTQ1RMX1hUQUxfQ0ZHX0xGWFRfRU4gICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDAwMDEpICAgICAgICAgIC8qKjwgRW5hYmxlIGJpdCBmb3IgTEZYVCAqLw0KLyogU1lTQ1RMX1hUQUxfQ0ZHW0hGWFRfRU5dIEJpdHMgKi8NCiNkZWZpbmUgU1lTQ1RMX1hUQUxfQ0ZHX0hGWFRfRU5fT0ZTICAgICAgICAgICAgICAoIDEpICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgSEZYVF9FTiBCaXQgT2Zmc2V0ICovDQojZGVmaW5lIFNZU0NUTF9YVEFMX0NGR19IRlhUX0VOICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwMDAyKSAgICAgICAgICAvKio8IEVuYWJsZSBiaXQgZm9yIEhGWFQgKi8NCi8qIFNZU0NUTF9YVEFMX0NGR1tIRlhUMl9FTl0gQml0cyAqLw0KI2RlZmluZSBTWVNDVExfWFRBTF9DRkdfSEZYVDJfRU5fT0ZTICAgICAgICAgICAgICggMikgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyoqPCBIRlhUMl9FTiBCaXQgT2Zmc2V0ICovDQojZGVmaW5lIFNZU0NUTF9YVEFMX0NGR19IRlhUMl9FTiAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwMDA0KSAgICAgICAgICAvKio8IEVuYWJsZSBiaXQgZm9yIEhGWFQyICovDQovKiBTWVNDVExfQk9DX0NGR1tCT0NfQ1RMXSBCaXRzICovDQojZGVmaW5lIFNZU0NUTF9CT0NfQ0ZHX0JPQ19DVExfT0ZTICAgICAgICAgICAgICAgKCAwKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKio8IEJPQ19DVEwgQml0IE9mZnNldCAqLw0KI2RlZmluZSBTWVNDVExfQk9DX0NGR19CT0NfQ1RMX01BU0sgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMDAwNykgICAgICAgICAgLyoqPCBCT0NfQ1RMIEJpdCBNYXNrICovDQojZGVmaW5lIFNZU0NUTF9CT0NfQ0ZHX0JPQ19DVEwwICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwMDAxKSAgICAgICAgICAvKio8IEJPQ19DVEwgQml0IDAgKi8NCiNkZWZpbmUgU1lTQ1RMX0JPQ19DRkdfQk9DX0NUTDEgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDAwMDIpICAgICAgICAgIC8qKjwgQk9DX0NUTCBCaXQgMSAqLw0KI2RlZmluZSBTWVNDVExfQk9DX0NGR19CT0NfQ1RMMiAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMDAwNCkgICAgICAgICAgLyoqPCBCT0NfQ1RMIEJpdCAyICovDQojZGVmaW5lIFNZU0NUTF9CT0NfQ0ZHX0JPQ19DVExfMCAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwMDAwKSAgICAgICAgICAvKio8IDEwMHBpbiBwYWNrYWdlICovDQojZGVmaW5lIFNZU0NUTF9CT0NfQ0ZHX0JPQ19DVExfMSAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwMDAxKSAgICAgICAgICAvKio8IDgwcGluIHBhY2thZ2UgKi8NCiNkZWZpbmUgU1lTQ1RMX0JPQ19DRkdfQk9DX0NUTF8yICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDAwMDIpICAgICAgICAgIC8qKjwgNjRwaW4gcGFja2FnZSAqLw0KI2RlZmluZSBTWVNDVExfQk9DX0NGR19CT0NfQ1RMXzMgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMDAwMykgICAgICAgICAgLyoqPCA2NHBpbiBwYWNrYWdlICovDQojZGVmaW5lIFNZU0NUTF9CT0NfQ0ZHX0JPQ19DVExfX1BJTl8xMDAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwMDAwKSAgICAgICAgICAvKio8IDEwMHBpbiBwYWNrYWdlICovDQojZGVmaW5lIFNZU0NUTF9CT0NfQ0ZHX0JPQ19DVExfX1BJTl84MCAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwMDAxKSAgICAgICAgICAvKio8IDgwcGluIHBhY2thZ2UgKi8NCiNkZWZpbmUgU1lTQ1RMX0JPQ19DRkdfQk9DX0NUTF9fUElOXzY0ICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDAwMDIpICAgICAgICAgIC8qKjwgNjRwaW4gcGFja2FnZSAqLw0KDQojZGVmaW5lIFNZU0NUTF9CT0NfQ0ZHX0JPQ19DVExfNCAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwMDA0KSAgICAgICAgICAvKio8IFJlc2VydmVkIGZvciBmdXR1cmUgdXNlICovDQojZGVmaW5lIFNZU0NUTF9CT0NfQ0ZHX0JPQ19DVExfNSAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwMDA1KSAgICAgICAgICAvKio8IFJlc2VydmVkIGZvciBmdXR1cmUgdXNlICovDQojZGVmaW5lIFNZU0NUTF9CT0NfQ0ZHX0JPQ19DVExfNiAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwMDA2KSAgICAgICAgICAvKio8IFJlc2VydmVkIGZvciBmdXR1cmUgdXNlICovDQojZGVmaW5lIFNZU0NUTF9CT0NfQ0ZHX0JPQ19DVExfNyAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwMDA3KSAgICAgICAgICAvKio8IFJlc2VydmVkIGZvciBmdXR1cmUgdXNlICovDQovKiBTWVNDVExfTUFTVEVSX1VOTE9DS1tVTkxLRVldIEJpdHMgKi8NCiNkZWZpbmUgU1lTQ1RMX01BU1RFUl9VTkxPQ0tfVU5MS0VZX09GUyAgICAgICAgICAoIDApICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgVU5MS0VZIEJpdCBPZmZzZXQgKi8NCiNkZWZpbmUgU1lTQ1RMX01BU1RFUl9VTkxPQ0tfVU5MS0VZX01BU0sgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMEZGRkYpICAgICAgICAgIC8qKjwgVU5MS0VZIEJpdCBNYXNrICovDQovKiBTWVNDVExfUkVTRVRfUkVRW1BPUl0gQml0cyAqLw0KI2RlZmluZSBTWVNDVExfUkVTRVRfUkVRX1BPUl9PRlMgICAgICAgICAgICAgICAgICggMCkgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyoqPCBQT1IgQml0IE9mZnNldCAqLw0KI2RlZmluZSBTWVNDVExfUkVTRVRfUkVRX1BPUiAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMDAwMSkgICAgICAgICAgLyoqPCBHZW5lcmF0ZSBQT1IgKi8NCi8qIFNZU0NUTF9SRVNFVF9SRVFbUkVCT09UXSBCaXRzICovDQojZGVmaW5lIFNZU0NUTF9SRVNFVF9SRVFfUkVCT09UX09GUyAgICAgICAgICAgICAgKCAxKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKio8IFJFQk9PVCBCaXQgT2Zmc2V0ICovDQojZGVmaW5lIFNZU0NUTF9SRVNFVF9SRVFfUkVCT09UICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwMDAyKSAgICAgICAgICAvKio8IEdlbmVyYXRlIFJlYm9vdF9SZXNldCAqLw0KLyogU1lTQ1RMX1JFU0VUX1JFUVtXS0VZXSBCaXRzICovDQojZGVmaW5lIFNZU0NUTF9SRVNFVF9SRVFfV0tFWV9PRlMgICAgICAgICAgICAgICAgKCA4KSAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKio8IFdLRVkgQml0IE9mZnNldCAqLw0KI2RlZmluZSBTWVNDVExfUkVTRVRfUkVRX1dLRVlfTUFTSyAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwRkYwMCkgICAgICAgICAgLyoqPCBXS0VZIEJpdCBNYXNrICovDQovKiBTWVNDVExfUkVTRVRfU1RBVE9WRVJbU09GVF0gQml0cyAqLw0KI2RlZmluZSBTWVNDVExfUkVTRVRfU1RBVE9WRVJfU09GVF9PRlMgICAgICAgICAgICggMCkgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyoqPCBTT0ZUIEJpdCBPZmZzZXQgKi8NCiNkZWZpbmUgU1lTQ1RMX1JFU0VUX1NUQVRPVkVSX1NPRlQgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDAwMDEpICAgICAgICAgIC8qKjwgSW5kaWNhdGVzIGlmIFNPRlQgUmVzZXQgaXMgYWN0aXZlICovDQovKiBTWVNDVExfUkVTRVRfU1RBVE9WRVJbSEFSRF0gQml0cyAqLw0KI2RlZmluZSBTWVNDVExfUkVTRVRfU1RBVE9WRVJfSEFSRF9PRlMgICAgICAgICAgICggMSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyoqPCBIQVJEIEJpdCBPZmZzZXQgKi8NCiNkZWZpbmUgU1lTQ1RMX1JFU0VUX1NUQVRPVkVSX0hBUkQgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDAwMDIpICAgICAgICAgIC8qKjwgSW5kaWNhdGVzIGlmIEhBUkQgUmVzZXQgaXMgYWN0aXZlICovDQovKiBTWVNDVExfUkVTRVRfU1RBVE9WRVJbUkVCT09UXSBCaXRzICovDQojZGVmaW5lIFNZU0NUTF9SRVNFVF9TVEFUT1ZFUl9SRUJPT1RfT0ZTICAgICAgICAgKCAyKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKio8IFJFQk9PVCBCaXQgT2Zmc2V0ICovDQojZGVmaW5lIFNZU0NUTF9SRVNFVF9TVEFUT1ZFUl9SRUJPT1QgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwMDA0KSAgICAgICAgICAvKio8IEluZGljYXRlcyBpZiBSZWJvb3QgUmVzZXQgaXMgYWN0aXZlICovDQovKiBTWVNDVExfUkVTRVRfU1RBVE9WRVJbU09GVF9PVkVSXSBCaXRzICovDQojZGVmaW5lIFNZU0NUTF9SRVNFVF9TVEFUT1ZFUl9TT0ZUX09WRVJfT0ZTICAgICAgKCA4KSAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKio8IFNPRlRfT1ZFUiBCaXQgT2Zmc2V0ICovDQojZGVmaW5lIFNZU0NUTF9SRVNFVF9TVEFUT1ZFUl9TT0ZUX09WRVIgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwMTAwKSAgICAgICAgICAvKio8IFNPRlRfUmVzZXQgb3ZlcndyaXRlIHJlcXVlc3QgKi8NCi8qIFNZU0NUTF9SRVNFVF9TVEFUT1ZFUltIQVJEX09WRVJdIEJpdHMgKi8NCiNkZWZpbmUgU1lTQ1RMX1JFU0VUX1NUQVRPVkVSX0hBUkRfT1ZFUl9PRlMgICAgICAoIDkpICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgSEFSRF9PVkVSIEJpdCBPZmZzZXQgKi8NCiNkZWZpbmUgU1lTQ1RMX1JFU0VUX1NUQVRPVkVSX0hBUkRfT1ZFUiAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDAyMDApICAgICAgICAgIC8qKjwgSEFSRF9SZXNldCBvdmVyd3JpdGUgcmVxdWVzdCAqLw0KLyogU1lTQ1RMX1JFU0VUX1NUQVRPVkVSW1JCVF9PVkVSXSBCaXRzICovDQojZGVmaW5lIFNZU0NUTF9SRVNFVF9TVEFUT1ZFUl9SQlRfT1ZFUl9PRlMgICAgICAgKDEwKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKio8IFJCVF9PVkVSIEJpdCBPZmZzZXQgKi8NCiNkZWZpbmUgU1lTQ1RMX1JFU0VUX1NUQVRPVkVSX1JCVF9PVkVSICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDA0MDApICAgICAgICAgIC8qKjwgUmVib290IFJlc2V0IG92ZXJ3cml0ZSByZXF1ZXN0ICovDQovKiBTWVNDVExfU1lTVEVNX1NUQVRbREJHX1NFQ19BQ1RdIEJpdHMgKi8NCiNkZWZpbmUgU1lTQ1RMX1NZU1RFTV9TVEFUX0RCR19TRUNfQUNUX09GUyAgICAgICAoIDMpICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgREJHX1NFQ19BQ1QgQml0IE9mZnNldCAqLw0KI2RlZmluZSBTWVNDVExfU1lTVEVNX1NUQVRfREJHX1NFQ19BQ1QgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMDAwOCkgICAgICAgICAgLyoqPCBEZWJ1ZyBTZWN1cml0eSBhY3RpdmUgKi8NCi8qIFNZU0NUTF9TWVNURU1fU1RBVFtKVEFHX1NXRF9MT0NLX0FDVF0gQml0cyAqLw0KI2RlZmluZSBTWVNDVExfU1lTVEVNX1NUQVRfSlRBR19TV0RfTE9DS19BQ1RfT0ZTICggNCkgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyoqPCBKVEFHX1NXRF9MT0NLX0FDVCBCaXQgT2Zmc2V0ICovDQojZGVmaW5lIFNZU0NUTF9TWVNURU1fU1RBVF9KVEFHX1NXRF9MT0NLX0FDVCAgICAgKCh1aW50MzJfdCkweDAwMDAwMDEwKSAgICAgICAgICAvKio8IEluZGljYXRlcyBpZiBKVEFHIGFuZCBTV0QgTG9jayBpcyBhY3RpdmUgKi8NCi8qIFNZU0NUTF9TWVNURU1fU1RBVFtJUF9QUk9UX0FDVF0gQml0cyAqLw0KI2RlZmluZSBTWVNDVExfU1lTVEVNX1NUQVRfSVBfUFJPVF9BQ1RfT0ZTICAgICAgICggNSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyoqPCBJUF9QUk9UX0FDVCBCaXQgT2Zmc2V0ICovDQojZGVmaW5lIFNZU0NUTF9TWVNURU1fU1RBVF9JUF9QUk9UX0FDVCAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwMDIwKSAgICAgICAgICAvKio8IEluZGljYXRlcyBpZiBJUCBwcm90ZWN0aW9uIGlzIGFjdGl2ZSAqLw0KDQovKiBQcmUtZGVmaW5lZCBiaXRmaWVsZCB2YWx1ZXMgKi8NCiNkZWZpbmUgU1lTQ1RMX1JFQk9PVF9DVExfV0tFWV9WQUwgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwNjkwMCkgICAgICAgICAgLyogS2V5IHZhbHVlIHRvIGVuYWJsZSB3cml0ZXMgdG8gYml0IDAgKi8NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyogY2xlYXJlZCAqLw0KDQoNCi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioNCiogU1lTVElDSyBCaXRzDQoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovDQoNCi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioNCiogVGltZXIzMiBCaXRzDQoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovDQovKiBUSU1FUjMyX0NPTlRST0xbT05FU0hPVF0gQml0cyAqLw0KI2RlZmluZSBUSU1FUjMyX0NPTlRST0xfT05FU0hPVF9PRlMgICAgICAgICAgICAgICggMCkgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyoqPCBPTkVTSE9UIEJpdCBPZmZzZXQgKi8NCiNkZWZpbmUgVElNRVIzMl9DT05UUk9MX09ORVNIT1QgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDAwMDEpICAgICAgICAgIC8qKjwgU2VsZWN0cyBvbmUtc2hvdCBvciB3cmFwcGluZyBjb3VudGVyIG1vZGUgKi8NCi8qIFRJTUVSMzJfQ09OVFJPTFtTSVpFXSBCaXRzICovDQojZGVmaW5lIFRJTUVSMzJfQ09OVFJPTF9TSVpFX09GUyAgICAgICAgICAgICAgICAgKCAxKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKio8IFNJWkUgQml0IE9mZnNldCAqLw0KI2RlZmluZSBUSU1FUjMyX0NPTlRST0xfU0laRSAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMDAwMikgICAgICAgICAgLyoqPCBTZWxlY3RzIDE2IG9yIDMyIGJpdCBjb3VudGVyIG9wZXJhdGlvbiAqLw0KLyogVElNRVIzMl9DT05UUk9MW1BSRVNDQUxFXSBCaXRzICovDQojZGVmaW5lIFRJTUVSMzJfQ09OVFJPTF9QUkVTQ0FMRV9PRlMgICAgICAgICAgICAgKCAyKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKio8IFBSRVNDQUxFIEJpdCBPZmZzZXQgKi8NCiNkZWZpbmUgVElNRVIzMl9DT05UUk9MX1BSRVNDQUxFX01BU0sgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDAwMEMpICAgICAgICAgIC8qKjwgUFJFU0NBTEUgQml0IE1hc2sgKi8NCiNkZWZpbmUgVElNRVIzMl9DT05UUk9MX1BSRVNDQUxFMCAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDAwMDQpICAgICAgICAgIC8qKjwgUFJFU0NBTEUgQml0IDAgKi8NCiNkZWZpbmUgVElNRVIzMl9DT05UUk9MX1BSRVNDQUxFMSAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDAwMDgpICAgICAgICAgIC8qKjwgUFJFU0NBTEUgQml0IDEgKi8NCiNkZWZpbmUgVElNRVIzMl9DT05UUk9MX1BSRVNDQUxFXzAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDAwMDApICAgICAgICAgIC8qKjwgMCBzdGFnZXMgb2YgcHJlc2NhbGUsIGNsb2NrIGlzIGRpdmlkZWQgYnkgMSAqLw0KI2RlZmluZSBUSU1FUjMyX0NPTlRST0xfUFJFU0NBTEVfMSAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMDAwNCkgICAgICAgICAgLyoqPCA0IHN0YWdlcyBvZiBwcmVzY2FsZSwgY2xvY2sgaXMgZGl2aWRlZCBieSAxNiAqLw0KI2RlZmluZSBUSU1FUjMyX0NPTlRST0xfUFJFU0NBTEVfMiAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMDAwOCkgICAgICAgICAgLyoqPCA4IHN0YWdlcyBvZiBwcmVzY2FsZSwgY2xvY2sgaXMgZGl2aWRlZCBieSAyNTYgKi8NCi8qIFRJTUVSMzJfQ09OVFJPTFtJRV0gQml0cyAqLw0KI2RlZmluZSBUSU1FUjMyX0NPTlRST0xfSUVfT0ZTICAgICAgICAgICAgICAgICAgICggNSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyoqPCBJRSBCaXQgT2Zmc2V0ICovDQojZGVmaW5lIFRJTUVSMzJfQ09OVFJPTF9JRSAgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwMDIwKSAgICAgICAgICAvKio8IEludGVycnVwdCBlbmFibGUgYml0ICovDQovKiBUSU1FUjMyX0NPTlRST0xbTU9ERV0gQml0cyAqLw0KI2RlZmluZSBUSU1FUjMyX0NPTlRST0xfTU9ERV9PRlMgICAgICAgICAgICAgICAgICggNikgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyoqPCBNT0RFIEJpdCBPZmZzZXQgKi8NCiNkZWZpbmUgVElNRVIzMl9DT05UUk9MX01PREUgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDAwNDApICAgICAgICAgIC8qKjwgTW9kZSBiaXQgKi8NCi8qIFRJTUVSMzJfQ09OVFJPTFtFTkFCTEVdIEJpdHMgKi8NCiNkZWZpbmUgVElNRVIzMl9DT05UUk9MX0VOQUJMRV9PRlMgICAgICAgICAgICAgICAoIDcpICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgRU5BQkxFIEJpdCBPZmZzZXQgKi8NCiNkZWZpbmUgVElNRVIzMl9DT05UUk9MX0VOQUJMRSAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDAwODApDQovKiBUSU1FUjMyX1JJU1tSQVdfSUZHXSBCaXRzICovDQojZGVmaW5lIFRJTUVSMzJfUklTX1JBV19JRkdfT0ZTICAgICAgICAgICAgICAgICAgKCAwKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKio8IFJBV19JRkcgQml0IE9mZnNldCAqLw0KI2RlZmluZSBUSU1FUjMyX1JJU19SQVdfSUZHICAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMDAwMSkgICAgICAgICAgLyoqPCBSYXcgaW50ZXJydXB0IHN0YXR1cyAqLw0KLyogVElNRVIzMl9NSVNbSUZHXSBCaXRzICovDQojZGVmaW5lIFRJTUVSMzJfTUlTX0lGR19PRlMgICAgICAgICAgICAgICAgICAgICAgKCAwKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKio8IElGRyBCaXQgT2Zmc2V0ICovDQojZGVmaW5lIFRJTUVSMzJfTUlTX0lGRyAgICAgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwMDAxKSAgICAgICAgICAvKio8IEVuYWJsZWQgaW50ZXJydXB0IHN0YXR1cyAqLw0KDQoNCg0KLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKg0KKiBUaW1lcl9BIEJpdHMNCioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8NCi8qIFRJTUVSX0FfQ1RMW0lGR10gQml0cyAqLw0KI2RlZmluZSBUSU1FUl9BX0NUTF9JRkdfT0ZTICAgICAgICAgICAgICAgICAgICAgICggMCkgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyoqPCBUQUlGRyBCaXQgT2Zmc2V0ICovDQojZGVmaW5lIFRJTUVSX0FfQ1RMX0lGRyAgICAgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MTZfdCkweDAwMDEpICAgICAgICAgICAgICAvKio8IFRpbWVyQSBpbnRlcnJ1cHQgZmxhZyAqLw0KLyogVElNRVJfQV9DVExbSUVdIEJpdHMgKi8NCiNkZWZpbmUgVElNRVJfQV9DVExfSUVfT0ZTICAgICAgICAgICAgICAgICAgICAgICAoIDEpICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgVEFJRSBCaXQgT2Zmc2V0ICovDQojZGVmaW5lIFRJTUVSX0FfQ1RMX0lFICAgICAgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MTZfdCkweDAwMDIpICAgICAgICAgICAgICAvKio8IFRpbWVyQSBpbnRlcnJ1cHQgZW5hYmxlICovDQovKiBUSU1FUl9BX0NUTFtDTFJdIEJpdHMgKi8NCiNkZWZpbmUgVElNRVJfQV9DVExfQ0xSX09GUyAgICAgICAgICAgICAgICAgICAgICAoIDIpICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgVEFDTFIgQml0IE9mZnNldCAqLw0KI2RlZmluZSBUSU1FUl9BX0NUTF9DTFIgICAgICAgICAgICAgICAgICAgICAgICAgICgodWludDE2X3QpMHgwMDA0KSAgICAgICAgICAgICAgLyoqPCBUaW1lckEgY2xlYXIgKi8NCi8qIFRJTUVSX0FfQ1RMW01DXSBCaXRzICovDQojZGVmaW5lIFRJTUVSX0FfQ1RMX01DX09GUyAgICAgICAgICAgICAgICAgICAgICAgKCA0KSAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKio8IE1DIEJpdCBPZmZzZXQgKi8NCiNkZWZpbmUgVElNRVJfQV9DVExfTUNfTUFTSyAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQxNl90KTB4MDAzMCkgICAgICAgICAgICAgIC8qKjwgTUMgQml0IE1hc2sgKi8NCiNkZWZpbmUgVElNRVJfQV9DVExfTUMwICAgICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQxNl90KTB4MDAxMCkgICAgICAgICAgICAgIC8qKjwgTUMgQml0IDAgKi8NCiNkZWZpbmUgVElNRVJfQV9DVExfTUMxICAgICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQxNl90KTB4MDAyMCkgICAgICAgICAgICAgIC8qKjwgTUMgQml0IDEgKi8NCiNkZWZpbmUgVElNRVJfQV9DVExfTUNfMCAgICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQxNl90KTB4MDAwMCkgICAgICAgICAgICAgIC8qKjwgU3RvcCBtb2RlOiBUaW1lciBpcyBoYWx0ZWQgKi8NCiNkZWZpbmUgVElNRVJfQV9DVExfTUNfMSAgICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQxNl90KTB4MDAxMCkgICAgICAgICAgICAgIC8qKjwgVXAgbW9kZTogVGltZXIgY291bnRzIHVwIHRvIFRBeENDUjAgKi8NCiNkZWZpbmUgVElNRVJfQV9DVExfTUNfMiAgICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQxNl90KTB4MDAyMCkgICAgICAgICAgICAgIC8qKjwgQ29udGludW91cyBtb2RlOiBUaW1lciBjb3VudHMgdXAgdG8gMEZGRkZoICovDQojZGVmaW5lIFRJTUVSX0FfQ1RMX01DXzMgICAgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MTZfdCkweDAwMzApICAgICAgICAgICAgICAvKio8IFVwL2Rvd24gbW9kZTogVGltZXIgY291bnRzIHVwIHRvIFRBeENDUjAgdGhlbiBkb3duIHRvIDAwMDBoICovDQojZGVmaW5lIFRJTUVSX0FfQ1RMX01DX19TVE9QICAgICAgICAgICAgICAgICAgICAgKCh1aW50MTZfdCkweDAwMDApICAgICAgICAgICAgICAvKio8IFN0b3AgbW9kZTogVGltZXIgaXMgaGFsdGVkICovDQojZGVmaW5lIFRJTUVSX0FfQ1RMX01DX19VUCAgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MTZfdCkweDAwMTApICAgICAgICAgICAgICAvKio8IFVwIG1vZGU6IFRpbWVyIGNvdW50cyB1cCB0byBUQXhDQ1IwICovDQojZGVmaW5lIFRJTUVSX0FfQ1RMX01DX19DT05USU5VT1VTICAgICAgICAgICAgICAgKCh1aW50MTZfdCkweDAwMjApICAgICAgICAgICAgICAvKio8IENvbnRpbnVvdXMgbW9kZTogVGltZXIgY291bnRzIHVwIHRvIDBGRkZGaCAqLw0KI2RlZmluZSBUSU1FUl9BX0NUTF9NQ19fVVBET1dOICAgICAgICAgICAgICAgICAgICgodWludDE2X3QpMHgwMDMwKSAgICAgICAgICAgICAgLyoqPCBVcC9kb3duIG1vZGU6IFRpbWVyIGNvdW50cyB1cCB0byBUQXhDQ1IwIHRoZW4gZG93biB0byAwMDAwaCAqLw0KLyogVElNRVJfQV9DVExbSURdIEJpdHMgKi8NCiNkZWZpbmUgVElNRVJfQV9DVExfSURfT0ZTICAgICAgICAgICAgICAgICAgICAgICAoIDYpICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgSUQgQml0IE9mZnNldCAqLw0KI2RlZmluZSBUSU1FUl9BX0NUTF9JRF9NQVNLICAgICAgICAgICAgICAgICAgICAgICgodWludDE2X3QpMHgwMEMwKSAgICAgICAgICAgICAgLyoqPCBJRCBCaXQgTWFzayAqLw0KI2RlZmluZSBUSU1FUl9BX0NUTF9JRDAgICAgICAgICAgICAgICAgICAgICAgICAgICgodWludDE2X3QpMHgwMDQwKSAgICAgICAgICAgICAgLyoqPCBJRCBCaXQgMCAqLw0KI2RlZmluZSBUSU1FUl9BX0NUTF9JRDEgICAgICAgICAgICAgICAgICAgICAgICAgICgodWludDE2X3QpMHgwMDgwKSAgICAgICAgICAgICAgLyoqPCBJRCBCaXQgMSAqLw0KI2RlZmluZSBUSU1FUl9BX0NUTF9JRF8wICAgICAgICAgICAgICAgICAgICAgICAgICgodWludDE2X3QpMHgwMDAwKSAgICAgICAgICAgICAgLyoqPCAvMSAqLw0KI2RlZmluZSBUSU1FUl9BX0NUTF9JRF8xICAgICAgICAgICAgICAgICAgICAgICAgICgodWludDE2X3QpMHgwMDQwKSAgICAgICAgICAgICAgLyoqPCAvMiAqLw0KI2RlZmluZSBUSU1FUl9BX0NUTF9JRF8yICAgICAgICAgICAgICAgICAgICAgICAgICgodWludDE2X3QpMHgwMDgwKSAgICAgICAgICAgICAgLyoqPCAvNCAqLw0KI2RlZmluZSBUSU1FUl9BX0NUTF9JRF8zICAgICAgICAgICAgICAgICAgICAgICAgICgodWludDE2X3QpMHgwMEMwKSAgICAgICAgICAgICAgLyoqPCAvOCAqLw0KI2RlZmluZSBUSU1FUl9BX0NUTF9JRF9fMSAgICAgICAgICAgICAgICAgICAgICAgICgodWludDE2X3QpMHgwMDAwKSAgICAgICAgICAgICAgLyoqPCAvMSAqLw0KI2RlZmluZSBUSU1FUl9BX0NUTF9JRF9fMiAgICAgICAgICAgICAgICAgICAgICAgICgodWludDE2X3QpMHgwMDQwKSAgICAgICAgICAgICAgLyoqPCAvMiAqLw0KI2RlZmluZSBUSU1FUl9BX0NUTF9JRF9fNCAgICAgICAgICAgICAgICAgICAgICAgICgodWludDE2X3QpMHgwMDgwKSAgICAgICAgICAgICAgLyoqPCAvNCAqLw0KI2RlZmluZSBUSU1FUl9BX0NUTF9JRF9fOCAgICAgICAgICAgICAgICAgICAgICAgICgodWludDE2X3QpMHgwMEMwKSAgICAgICAgICAgICAgLyoqPCAvOCAqLw0KLyogVElNRVJfQV9DVExbU1NFTF0gQml0cyAqLw0KI2RlZmluZSBUSU1FUl9BX0NUTF9TU0VMX09GUyAgICAgICAgICAgICAgICAgICAgICggOCkgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyoqPCBUQVNTRUwgQml0IE9mZnNldCAqLw0KI2RlZmluZSBUSU1FUl9BX0NUTF9TU0VMX01BU0sgICAgICAgICAgICAgICAgICAgICgodWludDE2X3QpMHgwMzAwKSAgICAgICAgICAgICAgLyoqPCBUQVNTRUwgQml0IE1hc2sgKi8NCiNkZWZpbmUgVElNRVJfQV9DVExfU1NFTDAgICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQxNl90KTB4MDEwMCkgICAgICAgICAgICAgIC8qKjwgU1NFTCBCaXQgMCAqLw0KI2RlZmluZSBUSU1FUl9BX0NUTF9TU0VMMSAgICAgICAgICAgICAgICAgICAgICAgICgodWludDE2X3QpMHgwMjAwKSAgICAgICAgICAgICAgLyoqPCBTU0VMIEJpdCAxICovDQojZGVmaW5lIFRJTUVSX0FfQ1RMX1RBU1NFTF8wICAgICAgICAgICAgICAgICAgICAgKCh1aW50MTZfdCkweDAwMDApICAgICAgICAgICAgICAvKio8IFRBeENMSyAqLw0KI2RlZmluZSBUSU1FUl9BX0NUTF9UQVNTRUxfMSAgICAgICAgICAgICAgICAgICAgICgodWludDE2X3QpMHgwMTAwKSAgICAgICAgICAgICAgLyoqPCBBQ0xLICovDQojZGVmaW5lIFRJTUVSX0FfQ1RMX1RBU1NFTF8yICAgICAgICAgICAgICAgICAgICAgKCh1aW50MTZfdCkweDAyMDApICAgICAgICAgICAgICAvKio8IFNNQ0xLICovDQojZGVmaW5lIFRJTUVSX0FfQ1RMX1RBU1NFTF8zICAgICAgICAgICAgICAgICAgICAgKCh1aW50MTZfdCkweDAzMDApICAgICAgICAgICAgICAvKio8IElOQ0xLICovDQojZGVmaW5lIFRJTUVSX0FfQ1RMX1NTRUxfX1RBQ0xLICAgICAgICAgICAgICAgICAgKCh1aW50MTZfdCkweDAwMDApICAgICAgICAgICAgICAvKio8IFRBeENMSyAqLw0KI2RlZmluZSBUSU1FUl9BX0NUTF9TU0VMX19BQ0xLICAgICAgICAgICAgICAgICAgICgodWludDE2X3QpMHgwMTAwKSAgICAgICAgICAgICAgLyoqPCBBQ0xLICovDQojZGVmaW5lIFRJTUVSX0FfQ1RMX1NTRUxfX1NNQ0xLICAgICAgICAgICAgICAgICAgKCh1aW50MTZfdCkweDAyMDApICAgICAgICAgICAgICAvKio8IFNNQ0xLICovDQojZGVmaW5lIFRJTUVSX0FfQ1RMX1NTRUxfX0lOQ0xLICAgICAgICAgICAgICAgICAgKCh1aW50MTZfdCkweDAzMDApICAgICAgICAgICAgICAvKio8IElOQ0xLICovDQovKiBUSU1FUl9BX0NDVExOW0NDSUZHXSBCaXRzICovDQojZGVmaW5lIFRJTUVSX0FfQ0NUTE5fQ0NJRkdfT0ZTICAgICAgICAgICAgICAgICAgKCAwKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKio8IENDSUZHIEJpdCBPZmZzZXQgKi8NCiNkZWZpbmUgVElNRVJfQV9DQ1RMTl9DQ0lGRyAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQxNl90KTB4MDAwMSkgICAgICAgICAgICAgIC8qKjwgQ2FwdHVyZS9jb21wYXJlIGludGVycnVwdCBmbGFnICovDQovKiBUSU1FUl9BX0NDVExOW0NPVl0gQml0cyAqLw0KI2RlZmluZSBUSU1FUl9BX0NDVExOX0NPVl9PRlMgICAgICAgICAgICAgICAgICAgICggMSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyoqPCBDT1YgQml0IE9mZnNldCAqLw0KI2RlZmluZSBUSU1FUl9BX0NDVExOX0NPViAgICAgICAgICAgICAgICAgICAgICAgICgodWludDE2X3QpMHgwMDAyKSAgICAgICAgICAgICAgLyoqPCBDYXB0dXJlIG92ZXJmbG93ICovDQovKiBUSU1FUl9BX0NDVExOW09VVF0gQml0cyAqLw0KI2RlZmluZSBUSU1FUl9BX0NDVExOX09VVF9PRlMgICAgICAgICAgICAgICAgICAgICggMikgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyoqPCBPVVQgQml0IE9mZnNldCAqLw0KI2RlZmluZSBUSU1FUl9BX0NDVExOX09VVCAgICAgICAgICAgICAgICAgICAgICAgICgodWludDE2X3QpMHgwMDA0KSAgICAgICAgICAgICAgLyoqPCBPdXRwdXQgKi8NCi8qIFRJTUVSX0FfQ0NUTE5bQ0NJXSBCaXRzICovDQojZGVmaW5lIFRJTUVSX0FfQ0NUTE5fQ0NJX09GUyAgICAgICAgICAgICAgICAgICAgKCAzKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKio8IENDSSBCaXQgT2Zmc2V0ICovDQojZGVmaW5lIFRJTUVSX0FfQ0NUTE5fQ0NJICAgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MTZfdCkweDAwMDgpICAgICAgICAgICAgICAvKio8IENhcHR1cmUvY29tcGFyZSBpbnB1dCAqLw0KLyogVElNRVJfQV9DQ1RMTltDQ0lFXSBCaXRzICovDQojZGVmaW5lIFRJTUVSX0FfQ0NUTE5fQ0NJRV9PRlMgICAgICAgICAgICAgICAgICAgKCA0KSAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKio8IENDSUUgQml0IE9mZnNldCAqLw0KI2RlZmluZSBUSU1FUl9BX0NDVExOX0NDSUUgICAgICAgICAgICAgICAgICAgICAgICgodWludDE2X3QpMHgwMDEwKSAgICAgICAgICAgICAgLyoqPCBDYXB0dXJlL2NvbXBhcmUgaW50ZXJydXB0IGVuYWJsZSAqLw0KLyogVElNRVJfQV9DQ1RMTltPVVRNT0RdIEJpdHMgKi8NCiNkZWZpbmUgVElNRVJfQV9DQ1RMTl9PVVRNT0RfT0ZTICAgICAgICAgICAgICAgICAoIDUpICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgT1VUTU9EIEJpdCBPZmZzZXQgKi8NCiNkZWZpbmUgVElNRVJfQV9DQ1RMTl9PVVRNT0RfTUFTSyAgICAgICAgICAgICAgICAoKHVpbnQxNl90KTB4MDBFMCkgICAgICAgICAgICAgIC8qKjwgT1VUTU9EIEJpdCBNYXNrICovDQojZGVmaW5lIFRJTUVSX0FfQ0NUTE5fT1VUTU9EMCAgICAgICAgICAgICAgICAgICAgKCh1aW50MTZfdCkweDAwMjApICAgICAgICAgICAgICAvKio8IE9VVE1PRCBCaXQgMCAqLw0KI2RlZmluZSBUSU1FUl9BX0NDVExOX09VVE1PRDEgICAgICAgICAgICAgICAgICAgICgodWludDE2X3QpMHgwMDQwKSAgICAgICAgICAgICAgLyoqPCBPVVRNT0QgQml0IDEgKi8NCiNkZWZpbmUgVElNRVJfQV9DQ1RMTl9PVVRNT0QyICAgICAgICAgICAgICAgICAgICAoKHVpbnQxNl90KTB4MDA4MCkgICAgICAgICAgICAgIC8qKjwgT1VUTU9EIEJpdCAyICovDQojZGVmaW5lIFRJTUVSX0FfQ0NUTE5fT1VUTU9EXzAgICAgICAgICAgICAgICAgICAgKCh1aW50MTZfdCkweDAwMDApICAgICAgICAgICAgICAvKio8IE9VVCBiaXQgdmFsdWUgKi8NCiNkZWZpbmUgVElNRVJfQV9DQ1RMTl9PVVRNT0RfMSAgICAgICAgICAgICAgICAgICAoKHVpbnQxNl90KTB4MDAyMCkgICAgICAgICAgICAgIC8qKjwgU2V0ICovDQojZGVmaW5lIFRJTUVSX0FfQ0NUTE5fT1VUTU9EXzIgICAgICAgICAgICAgICAgICAgKCh1aW50MTZfdCkweDAwNDApICAgICAgICAgICAgICAvKio8IFRvZ2dsZS9yZXNldCAqLw0KI2RlZmluZSBUSU1FUl9BX0NDVExOX09VVE1PRF8zICAgICAgICAgICAgICAgICAgICgodWludDE2X3QpMHgwMDYwKSAgICAgICAgICAgICAgLyoqPCBTZXQvcmVzZXQgKi8NCiNkZWZpbmUgVElNRVJfQV9DQ1RMTl9PVVRNT0RfNCAgICAgICAgICAgICAgICAgICAoKHVpbnQxNl90KTB4MDA4MCkgICAgICAgICAgICAgIC8qKjwgVG9nZ2xlICovDQojZGVmaW5lIFRJTUVSX0FfQ0NUTE5fT1VUTU9EXzUgICAgICAgICAgICAgICAgICAgKCh1aW50MTZfdCkweDAwQTApICAgICAgICAgICAgICAvKio8IFJlc2V0ICovDQojZGVmaW5lIFRJTUVSX0FfQ0NUTE5fT1VUTU9EXzYgICAgICAgICAgICAgICAgICAgKCh1aW50MTZfdCkweDAwQzApICAgICAgICAgICAgICAvKio8IFRvZ2dsZS9zZXQgKi8NCiNkZWZpbmUgVElNRVJfQV9DQ1RMTl9PVVRNT0RfNyAgICAgICAgICAgICAgICAgICAoKHVpbnQxNl90KTB4MDBFMCkgICAgICAgICAgICAgIC8qKjwgUmVzZXQvc2V0ICovDQovKiBUSU1FUl9BX0NDVExOW0NBUF0gQml0cyAqLw0KI2RlZmluZSBUSU1FUl9BX0NDVExOX0NBUF9PRlMgICAgICAgICAgICAgICAgICAgICggOCkgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyoqPCBDQVAgQml0IE9mZnNldCAqLw0KI2RlZmluZSBUSU1FUl9BX0NDVExOX0NBUCAgICAgICAgICAgICAgICAgICAgICAgICgodWludDE2X3QpMHgwMTAwKSAgICAgICAgICAgICAgLyoqPCBDYXB0dXJlIG1vZGUgKi8NCi8qIFRJTUVSX0FfQ0NUTE5bU0NDSV0gQml0cyAqLw0KI2RlZmluZSBUSU1FUl9BX0NDVExOX1NDQ0lfT0ZTICAgICAgICAgICAgICAgICAgICgxMCkgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyoqPCBTQ0NJIEJpdCBPZmZzZXQgKi8NCiNkZWZpbmUgVElNRVJfQV9DQ1RMTl9TQ0NJICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQxNl90KTB4MDQwMCkgICAgICAgICAgICAgIC8qKjwgU3luY2hyb25pemVkIGNhcHR1cmUvY29tcGFyZSBpbnB1dCAqLw0KLyogVElNRVJfQV9DQ1RMTltTQ1NdIEJpdHMgKi8NCiNkZWZpbmUgVElNRVJfQV9DQ1RMTl9TQ1NfT0ZTICAgICAgICAgICAgICAgICAgICAoMTEpICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgU0NTIEJpdCBPZmZzZXQgKi8NCiNkZWZpbmUgVElNRVJfQV9DQ1RMTl9TQ1MgICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQxNl90KTB4MDgwMCkgICAgICAgICAgICAgIC8qKjwgU3luY2hyb25pemUgY2FwdHVyZSBzb3VyY2UgKi8NCi8qIFRJTUVSX0FfQ0NUTE5bQ0NJU10gQml0cyAqLw0KI2RlZmluZSBUSU1FUl9BX0NDVExOX0NDSVNfT0ZTICAgICAgICAgICAgICAgICAgICgxMikgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyoqPCBDQ0lTIEJpdCBPZmZzZXQgKi8NCiNkZWZpbmUgVElNRVJfQV9DQ1RMTl9DQ0lTX01BU0sgICAgICAgICAgICAgICAgICAoKHVpbnQxNl90KTB4MzAwMCkgICAgICAgICAgICAgIC8qKjwgQ0NJUyBCaXQgTWFzayAqLw0KI2RlZmluZSBUSU1FUl9BX0NDVExOX0NDSVMwICAgICAgICAgICAgICAgICAgICAgICgodWludDE2X3QpMHgxMDAwKSAgICAgICAgICAgICAgLyoqPCBDQ0lTIEJpdCAwICovDQojZGVmaW5lIFRJTUVSX0FfQ0NUTE5fQ0NJUzEgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MTZfdCkweDIwMDApICAgICAgICAgICAgICAvKio8IENDSVMgQml0IDEgKi8NCiNkZWZpbmUgVElNRVJfQV9DQ1RMTl9DQ0lTXzAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQxNl90KTB4MDAwMCkgICAgICAgICAgICAgIC8qKjwgQ0NJeEEgKi8NCiNkZWZpbmUgVElNRVJfQV9DQ1RMTl9DQ0lTXzEgICAgICAgICAgICAgICAgICAgICAoKHVpbnQxNl90KTB4MTAwMCkgICAgICAgICAgICAgIC8qKjwgQ0NJeEIgKi8NCiNkZWZpbmUgVElNRVJfQV9DQ1RMTl9DQ0lTXzIgICAgICAgICAgICAgICAgICAgICAoKHVpbnQxNl90KTB4MjAwMCkgICAgICAgICAgICAgIC8qKjwgR05EICovDQojZGVmaW5lIFRJTUVSX0FfQ0NUTE5fQ0NJU18zICAgICAgICAgICAgICAgICAgICAgKCh1aW50MTZfdCkweDMwMDApICAgICAgICAgICAgICAvKio8IFZDQyAqLw0KI2RlZmluZSBUSU1FUl9BX0NDVExOX0NDSVNfX0NDSUEgICAgICAgICAgICAgICAgICgodWludDE2X3QpMHgwMDAwKSAgICAgICAgICAgICAgLyoqPCBDQ0l4QSAqLw0KI2RlZmluZSBUSU1FUl9BX0NDVExOX0NDSVNfX0NDSUIgICAgICAgICAgICAgICAgICgodWludDE2X3QpMHgxMDAwKSAgICAgICAgICAgICAgLyoqPCBDQ0l4QiAqLw0KI2RlZmluZSBUSU1FUl9BX0NDVExOX0NDSVNfX0dORCAgICAgICAgICAgICAgICAgICgodWludDE2X3QpMHgyMDAwKSAgICAgICAgICAgICAgLyoqPCBHTkQgKi8NCiNkZWZpbmUgVElNRVJfQV9DQ1RMTl9DQ0lTX19WQ0MgICAgICAgICAgICAgICAgICAoKHVpbnQxNl90KTB4MzAwMCkgICAgICAgICAgICAgIC8qKjwgVkNDICovDQovKiBUSU1FUl9BX0NDVExOW0NNXSBCaXRzICovDQojZGVmaW5lIFRJTUVSX0FfQ0NUTE5fQ01fT0ZTICAgICAgICAgICAgICAgICAgICAgKDE0KSAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKio8IENNIEJpdCBPZmZzZXQgKi8NCiNkZWZpbmUgVElNRVJfQV9DQ1RMTl9DTV9NQVNLICAgICAgICAgICAgICAgICAgICAoKHVpbnQxNl90KTB4QzAwMCkgICAgICAgICAgICAgIC8qKjwgQ00gQml0IE1hc2sgKi8NCiNkZWZpbmUgVElNRVJfQV9DQ1RMTl9DTTAgICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQxNl90KTB4NDAwMCkgICAgICAgICAgICAgIC8qKjwgQ00gQml0IDAgKi8NCiNkZWZpbmUgVElNRVJfQV9DQ1RMTl9DTTEgICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQxNl90KTB4ODAwMCkgICAgICAgICAgICAgIC8qKjwgQ00gQml0IDEgKi8NCiNkZWZpbmUgVElNRVJfQV9DQ1RMTl9DTV8wICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQxNl90KTB4MDAwMCkgICAgICAgICAgICAgIC8qKjwgTm8gY2FwdHVyZSAqLw0KI2RlZmluZSBUSU1FUl9BX0NDVExOX0NNXzEgICAgICAgICAgICAgICAgICAgICAgICgodWludDE2X3QpMHg0MDAwKSAgICAgICAgICAgICAgLyoqPCBDYXB0dXJlIG9uIHJpc2luZyBlZGdlICovDQojZGVmaW5lIFRJTUVSX0FfQ0NUTE5fQ01fMiAgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MTZfdCkweDgwMDApICAgICAgICAgICAgICAvKio8IENhcHR1cmUgb24gZmFsbGluZyBlZGdlICovDQojZGVmaW5lIFRJTUVSX0FfQ0NUTE5fQ01fMyAgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MTZfdCkweEMwMDApICAgICAgICAgICAgICAvKio8IENhcHR1cmUgb24gYm90aCByaXNpbmcgYW5kIGZhbGxpbmcgZWRnZXMgKi8NCiNkZWZpbmUgVElNRVJfQV9DQ1RMTl9DTV9fTk9ORSAgICAgICAgICAgICAgICAgICAoKHVpbnQxNl90KTB4MDAwMCkgICAgICAgICAgICAgIC8qKjwgTm8gY2FwdHVyZSAqLw0KI2RlZmluZSBUSU1FUl9BX0NDVExOX0NNX19SSVNJTkcgICAgICAgICAgICAgICAgICgodWludDE2X3QpMHg0MDAwKSAgICAgICAgICAgICAgLyoqPCBDYXB0dXJlIG9uIHJpc2luZyBlZGdlICovDQojZGVmaW5lIFRJTUVSX0FfQ0NUTE5fQ01fX0ZBTExJTkcgICAgICAgICAgICAgICAgKCh1aW50MTZfdCkweDgwMDApICAgICAgICAgICAgICAvKio8IENhcHR1cmUgb24gZmFsbGluZyBlZGdlICovDQojZGVmaW5lIFRJTUVSX0FfQ0NUTE5fQ01fX0JPVEggICAgICAgICAgICAgICAgICAgKCh1aW50MTZfdCkweEMwMDApICAgICAgICAgICAgICAvKio8IENhcHR1cmUgb24gYm90aCByaXNpbmcgYW5kIGZhbGxpbmcgZWRnZXMgKi8NCi8qIFRJTUVSX0FfRVgwW0lERVhdIEJpdHMgKi8NCiNkZWZpbmUgVElNRVJfQV9FWDBfSURFWF9PRlMgICAgICAgICAgICAgICAgICAgICAoIDApICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgVEFJREVYIEJpdCBPZmZzZXQgKi8NCiNkZWZpbmUgVElNRVJfQV9FWDBfSURFWF9NQVNLICAgICAgICAgICAgICAgICAgICAoKHVpbnQxNl90KTB4MDAwNykgICAgICAgICAgICAgIC8qKjwgVEFJREVYIEJpdCBNYXNrICovDQojZGVmaW5lIFRJTUVSX0FfRVgwX0lERVgwICAgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MTZfdCkweDAwMDEpICAgICAgICAgICAgICAvKio8IElERVggQml0IDAgKi8NCiNkZWZpbmUgVElNRVJfQV9FWDBfSURFWDEgICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQxNl90KTB4MDAwMikgICAgICAgICAgICAgIC8qKjwgSURFWCBCaXQgMSAqLw0KI2RlZmluZSBUSU1FUl9BX0VYMF9JREVYMiAgICAgICAgICAgICAgICAgICAgICAgICgodWludDE2X3QpMHgwMDA0KSAgICAgICAgICAgICAgLyoqPCBJREVYIEJpdCAyICovDQojZGVmaW5lIFRJTUVSX0FfRVgwX1RBSURFWF8wICAgICAgICAgICAgICAgICAgICAgKCh1aW50MTZfdCkweDAwMDApICAgICAgICAgICAgICAvKio8IERpdmlkZSBieSAxICovDQojZGVmaW5lIFRJTUVSX0FfRVgwX1RBSURFWF8xICAgICAgICAgICAgICAgICAgICAgKCh1aW50MTZfdCkweDAwMDEpICAgICAgICAgICAgICAvKio8IERpdmlkZSBieSAyICovDQojZGVmaW5lIFRJTUVSX0FfRVgwX1RBSURFWF8yICAgICAgICAgICAgICAgICAgICAgKCh1aW50MTZfdCkweDAwMDIpICAgICAgICAgICAgICAvKio8IERpdmlkZSBieSAzICovDQojZGVmaW5lIFRJTUVSX0FfRVgwX1RBSURFWF8zICAgICAgICAgICAgICAgICAgICAgKCh1aW50MTZfdCkweDAwMDMpICAgICAgICAgICAgICAvKio8IERpdmlkZSBieSA0ICovDQojZGVmaW5lIFRJTUVSX0FfRVgwX1RBSURFWF80ICAgICAgICAgICAgICAgICAgICAgKCh1aW50MTZfdCkweDAwMDQpICAgICAgICAgICAgICAvKio8IERpdmlkZSBieSA1ICovDQojZGVmaW5lIFRJTUVSX0FfRVgwX1RBSURFWF81ICAgICAgICAgICAgICAgICAgICAgKCh1aW50MTZfdCkweDAwMDUpICAgICAgICAgICAgICAvKio8IERpdmlkZSBieSA2ICovDQojZGVmaW5lIFRJTUVSX0FfRVgwX1RBSURFWF82ICAgICAgICAgICAgICAgICAgICAgKCh1aW50MTZfdCkweDAwMDYpICAgICAgICAgICAgICAvKio8IERpdmlkZSBieSA3ICovDQojZGVmaW5lIFRJTUVSX0FfRVgwX1RBSURFWF83ICAgICAgICAgICAgICAgICAgICAgKCh1aW50MTZfdCkweDAwMDcpICAgICAgICAgICAgICAvKio8IERpdmlkZSBieSA4ICovDQojZGVmaW5lIFRJTUVSX0FfRVgwX0lERVhfXzEgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MTZfdCkweDAwMDApICAgICAgICAgICAgICAvKio8IERpdmlkZSBieSAxICovDQojZGVmaW5lIFRJTUVSX0FfRVgwX0lERVhfXzIgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MTZfdCkweDAwMDEpICAgICAgICAgICAgICAvKio8IERpdmlkZSBieSAyICovDQojZGVmaW5lIFRJTUVSX0FfRVgwX0lERVhfXzMgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MTZfdCkweDAwMDIpICAgICAgICAgICAgICAvKio8IERpdmlkZSBieSAzICovDQojZGVmaW5lIFRJTUVSX0FfRVgwX0lERVhfXzQgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MTZfdCkweDAwMDMpICAgICAgICAgICAgICAvKio8IERpdmlkZSBieSA0ICovDQojZGVmaW5lIFRJTUVSX0FfRVgwX0lERVhfXzUgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MTZfdCkweDAwMDQpICAgICAgICAgICAgICAvKio8IERpdmlkZSBieSA1ICovDQojZGVmaW5lIFRJTUVSX0FfRVgwX0lERVhfXzYgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MTZfdCkweDAwMDUpICAgICAgICAgICAgICAvKio8IERpdmlkZSBieSA2ICovDQojZGVmaW5lIFRJTUVSX0FfRVgwX0lERVhfXzcgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MTZfdCkweDAwMDYpICAgICAgICAgICAgICAvKio8IERpdmlkZSBieSA3ICovDQojZGVmaW5lIFRJTUVSX0FfRVgwX0lERVhfXzggICAgICAgICAgICAgICAgICAgICAgKCh1aW50MTZfdCkweDAwMDcpICAgICAgICAgICAgICAvKio8IERpdmlkZSBieSA4ICovDQoNCg0KLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKg0KKiBUTFYgQml0cw0KKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLw0KDQovKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqDQoqIFRMViB0YWJsZSBzdGFydCBhbmQgVExWIHRhZ3MgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqDQoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovDQojZGVmaW5lIFRMVl9TVEFSVF9BRERSICAgICAgICAgICAgICAgICAgICAoVExWX0JBU0UgKyAweDAwMDQpICAgICAgICAgICAgICAgICAgICAvKiBTdGFydCBBZGRyZXNzIG9mIHRoZSBUTFYgc3RydWN0dXJlICovDQoNCiNkZWZpbmUgVExWX1RBR19SRVNFUlZFRDEgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDENCiNkZWZpbmUgVExWX1RBR19SRVNFUlZFRDIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDINCiNkZWZpbmUgVExWX1RBR19DUyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDMNCiNkZWZpbmUgVExWX1RBR19GTEFTSENUTCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDQNCiNkZWZpbmUgVExWX1RBR19BREMxNCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDUNCiNkZWZpbmUgVExWX1RBR19SRVNFUlZFRDYgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDYNCiNkZWZpbmUgVExWX1RBR19SRVNFUlZFRDcgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDcNCiNkZWZpbmUgVExWX1RBR19SRUYgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDgNCiNkZWZpbmUgVExWX1RBR19SRVNFUlZFRDkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDkNCiNkZWZpbmUgVExWX1RBR19SRVNFUlZFRDEwICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMTANCiNkZWZpbmUgVExWX1RBR19ERVZJTkZPICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMTENCiNkZWZpbmUgVExWX1RBR19ESUVSRUMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMTINCiNkZWZpbmUgVExWX1RBR19SQU5ETlVNICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMTMNCiNkZWZpbmUgVExWX1RBR19SRVNFUlZFRDE0ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMTQNCiNkZWZpbmUgVExWX1RBR19CU0wgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMTUNCiNkZWZpbmUgVExWX1RBR19FTkQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MEJEMEUxMUQpDQoNCg0KLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKg0KKiBXRFRfQSBCaXRzDQoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovDQovKiBXRFRfQV9DVExbSVNdIEJpdHMgKi8NCiNkZWZpbmUgV0RUX0FfQ1RMX0lTX09GUyAgICAgICAgICAgICAgICAgICAgICAgICAoIDApICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qKjwgV0RUSVMgQml0IE9mZnNldCAqLw0KI2RlZmluZSBXRFRfQV9DVExfSVNfTUFTSyAgICAgICAgICAgICAgICAgICAgICAgICgodWludDE2X3QpMHgwMDA3KSAgICAgICAgICAgICAgLyoqPCBXRFRJUyBCaXQgTWFzayAqLw0KI2RlZmluZSBXRFRfQV9DVExfSVMwICAgICAgICAgICAgICAgICAgICAgICAgICAgICgodWludDE2X3QpMHgwMDAxKSAgICAgICAgICAgICAgLyoqPCBJUyBCaXQgMCAqLw0KI2RlZmluZSBXRFRfQV9DVExfSVMxICAgICAgICAgICAgICAgICAgICAgICAgICAgICgodWludDE2X3QpMHgwMDAyKSAgICAgICAgICAgICAgLyoqPCBJUyBCaXQgMSAqLw0KI2RlZmluZSBXRFRfQV9DVExfSVMyICAgICAgICAgICAgICAgICAgICAgICAgICAgICgodWludDE2X3QpMHgwMDA0KSAgICAgICAgICAgICAgLyoqPCBJUyBCaXQgMiAqLw0KI2RlZmluZSBXRFRfQV9DVExfSVNfMCAgICAgICAgICAgICAgICAgICAgICAgICAgICgodWludDE2X3QpMHgwMDAwKSAgICAgICAgICAgICAgLyoqPCBXYXRjaGRvZyBjbG9jayBzb3VyY2UgLyAoMl4oMzEpKSAoMTg6MTI6MTYgYXQgMzIuNzY4IGtIeikgKi8NCiNkZWZpbmUgV0RUX0FfQ1RMX0lTXzEgICAgICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQxNl90KTB4MDAwMSkgICAgICAgICAgICAgIC8qKjwgV2F0Y2hkb2cgY2xvY2sgc291cmNlIC8oMl4oMjcpKSAoMDE6MDg6MTYgYXQgMzIuNzY4IGtIeikgKi8NCiNkZWZpbmUgV0RUX0FfQ1RMX0lTXzIgICAgICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQxNl90KTB4MDAwMikgICAgICAgICAgICAgIC8qKjwgV2F0Y2hkb2cgY2xvY2sgc291cmNlIC8oMl4oMjMpKSAoMDA6MDQ6MTYgYXQgMzIuNzY4IGtIeikgKi8NCiNkZWZpbmUgV0RUX0FfQ1RMX0lTXzMgICAgICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQxNl90KTB4MDAwMykgICAgICAgICAgICAgIC8qKjwgV2F0Y2hkb2cgY2xvY2sgc291cmNlIC8oMl4oMTkpKSAoMDA6MDA6MTYgYXQgMzIuNzY4IGtIeikgKi8NCiNkZWZpbmUgV0RUX0FfQ1RMX0lTXzQgICAgICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQxNl90KTB4MDAwNCkgICAgICAgICAgICAgIC8qKjwgV2F0Y2hkb2cgY2xvY2sgc291cmNlIC8oMl4oMTUpKSAoMSBzIGF0IDMyLjc2OCBrSHopICovDQojZGVmaW5lIFdEVF9BX0NUTF9JU181ICAgICAgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MTZfdCkweDAwMDUpICAgICAgICAgICAgICAvKio8IFdhdGNoZG9nIGNsb2NrIHNvdXJjZSAvICgyXigxMykpICgyNTAgbXMgYXQgMzIuNzY4IGtIeikgKi8NCiNkZWZpbmUgV0RUX0FfQ1RMX0lTXzYgICAgICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQxNl90KTB4MDAwNikgICAgICAgICAgICAgIC8qKjwgV2F0Y2hkb2cgY2xvY2sgc291cmNlIC8gKDJeKDkpKSAoMTUuNjI1IG1zIGF0IDMyLjc2OCBrSHopICovDQojZGVmaW5lIFdEVF9BX0NUTF9JU183ICAgICAgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MTZfdCkweDAwMDcpICAgICAgICAgICAgICAvKio8IFdhdGNoZG9nIGNsb2NrIHNvdXJjZSAvICgyXig2KSkgKDEuOTUgbXMgYXQgMzIuNzY4IGtIeikgKi8NCi8qIFdEVF9BX0NUTFtDTlRDTF0gQml0cyAqLw0KI2RlZmluZSBXRFRfQV9DVExfQ05UQ0xfT0ZTICAgICAgICAgICAgICAgICAgICAgICggMykgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyoqPCBXRFRDTlRDTCBCaXQgT2Zmc2V0ICovDQojZGVmaW5lIFdEVF9BX0NUTF9DTlRDTCAgICAgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MTZfdCkweDAwMDgpICAgICAgICAgICAgICAvKio8IFdhdGNoZG9nIHRpbWVyIGNvdW50ZXIgY2xlYXIgKi8NCi8qIFdEVF9BX0NUTFtUTVNFTF0gQml0cyAqLw0KI2RlZmluZSBXRFRfQV9DVExfVE1TRUxfT0ZTICAgICAgICAgICAgICAgICAgICAgICggNCkgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyoqPCBXRFRUTVNFTCBCaXQgT2Zmc2V0ICovDQojZGVmaW5lIFdEVF9BX0NUTF9UTVNFTCAgICAgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MTZfdCkweDAwMTApICAgICAgICAgICAgICAvKio8IFdhdGNoZG9nIHRpbWVyIG1vZGUgc2VsZWN0ICovDQovKiBXRFRfQV9DVExbU1NFTF0gQml0cyAqLw0KI2RlZmluZSBXRFRfQV9DVExfU1NFTF9PRlMgICAgICAgICAgICAgICAgICAgICAgICggNSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyoqPCBXRFRTU0VMIEJpdCBPZmZzZXQgKi8NCiNkZWZpbmUgV0RUX0FfQ1RMX1NTRUxfTUFTSyAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQxNl90KTB4MDA2MCkgICAgICAgICAgICAgIC8qKjwgV0RUU1NFTCBCaXQgTWFzayAqLw0KI2RlZmluZSBXRFRfQV9DVExfU1NFTDAgICAgICAgICAgICAgICAgICAgICAgICAgICgodWludDE2X3QpMHgwMDIwKSAgICAgICAgICAgICAgLyoqPCBTU0VMIEJpdCAwICovDQojZGVmaW5lIFdEVF9BX0NUTF9TU0VMMSAgICAgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MTZfdCkweDAwNDApICAgICAgICAgICAgICAvKio8IFNTRUwgQml0IDEgKi8NCiNkZWZpbmUgV0RUX0FfQ1RMX1NTRUxfMCAgICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQxNl90KTB4MDAwMCkgICAgICAgICAgICAgIC8qKjwgU01DTEsgKi8NCiNkZWZpbmUgV0RUX0FfQ1RMX1NTRUxfMSAgICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQxNl90KTB4MDAyMCkgICAgICAgICAgICAgIC8qKjwgQUNMSyAqLw0KI2RlZmluZSBXRFRfQV9DVExfU1NFTF8yICAgICAgICAgICAgICAgICAgICAgICAgICgodWludDE2X3QpMHgwMDQwKSAgICAgICAgICAgICAgLyoqPCBWTE9DTEsgKi8NCiNkZWZpbmUgV0RUX0FfQ1RMX1NTRUxfMyAgICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQxNl90KTB4MDA2MCkgICAgICAgICAgICAgIC8qKjwgQkNMSyAqLw0KI2RlZmluZSBXRFRfQV9DVExfU1NFTF9fU01DTEsgICAgICAgICAgICAgICAgICAgICgodWludDE2X3QpMHgwMDAwKSAgICAgICAgICAgICAgLyoqPCBTTUNMSyAqLw0KI2RlZmluZSBXRFRfQV9DVExfU1NFTF9fQUNMSyAgICAgICAgICAgICAgICAgICAgICgodWludDE2X3QpMHgwMDIwKSAgICAgICAgICAgICAgLyoqPCBBQ0xLICovDQojZGVmaW5lIFdEVF9BX0NUTF9TU0VMX19WTE9DTEsgICAgICAgICAgICAgICAgICAgKCh1aW50MTZfdCkweDAwNDApICAgICAgICAgICAgICAvKio8IFZMT0NMSyAqLw0KI2RlZmluZSBXRFRfQV9DVExfU1NFTF9fQkNMSyAgICAgICAgICAgICAgICAgICAgICgodWludDE2X3QpMHgwMDYwKSAgICAgICAgICAgICAgLyoqPCBCQ0xLICovDQovKiBXRFRfQV9DVExbSE9MRF0gQml0cyAqLw0KI2RlZmluZSBXRFRfQV9DVExfSE9MRF9PRlMgICAgICAgICAgICAgICAgICAgICAgICggNykgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyoqPCBXRFRIT0xEIEJpdCBPZmZzZXQgKi8NCiNkZWZpbmUgV0RUX0FfQ1RMX0hPTEQgICAgICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQxNl90KTB4MDA4MCkgICAgICAgICAgICAgIC8qKjwgV2F0Y2hkb2cgdGltZXIgaG9sZCAqLw0KLyogV0RUX0FfQ1RMW1BXXSBCaXRzICovDQojZGVmaW5lIFdEVF9BX0NUTF9QV19PRlMgICAgICAgICAgICAgICAgICAgICAgICAgKCA4KSAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKio8IFdEVFBXIEJpdCBPZmZzZXQgKi8NCiNkZWZpbmUgV0RUX0FfQ1RMX1BXX01BU0sgICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQxNl90KTB4RkYwMCkgICAgICAgICAgICAgIC8qKjwgV0RUUFcgQml0IE1hc2sgKi8NCg0KLyogUHJlLWRlZmluZWQgYml0ZmllbGQgdmFsdWVzICovDQojZGVmaW5lIFdEVF9BX0NUTF9QVyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgodWludDE2X3QpMHg1QTAwKSAgICAgICAgICAgICAgLyogV0RUIEtleSBWYWx1ZSBmb3IgV0RUIHdyaXRlIGFjY2VzcyAqLw0KDQoNCi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioNCiogQlNMICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICoNCioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8NCiNkZWZpbmUgQlNMX0RFRkFVTFRfUEFSQU0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4RkM0OEZGRkYpICAgICAgICAgIC8qIEkyQyBzbGF2ZSBhZGRyZXNzID0gMHg0OCwgSW50ZXJmYWNlIHNlbGVjdGlvbiA9IEF1dG8gKi8NCiNkZWZpbmUgQlNMX0FQSV9UQUJMRV9BRERSICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAyMDIwMDApICAgICAgICAgIC8qIEFkZHJlc3Mgb2YgQlNMIEFQSSB0YWJsZSAqLw0KI2RlZmluZSBCU0xfRU5UUllfRlVOQ1RJT04gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKigodWludDMyX3QgKilCU0xfQVBJX1RBQkxFX0FERFIpKQ0KDQojZGVmaW5lIEJTTF9BVVRPX0lOVEVSRkFDRSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDBFMDAwMCkgICAgICAgICAvKiBBdXRvIGRldGVjdCBpbnRlcmZhY2UgKi8NCiNkZWZpbmUgQlNMX1VBUlRfSU5URVJGQUNFICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDB4MDAwMEMwMDAwKSAgICAgICAgIC8qIFVBUlQgaW50ZXJmYWNlICovDQojZGVmaW5lIEJTTF9TUElfSU5URVJGQUNFICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDBBMDAwMCkgICAgICAgICAvKiBTUEkgaW50ZXJmYWNlICovDQojZGVmaW5lIEJTTF9JMkNfSU5URVJGQUNFICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgweDAwMDA4MDAwMCkgICAgICAgICAvKiBJMkMgaW50ZXJmYWNlICovDQoNCiNkZWZpbmUgQlNMX0lOVk9LRSh4KSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKCh2b2lkICgqKSgpKUJTTF9FTlRSWV9GVU5DVElPTikoKHVpbnQzMl90KSB4KSAvKiBJbnZva2UgdGhlIEJTTCB3aXRoIHBhcmFtdGVycyAqLw0KDQovKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqDQoqIFVMUCBBZHZpc29yICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqDQoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovDQojaWZkZWYgX19USV9BUk1fXw0KI3ByYWdtYSBVTFBfUE9SVF9DT05GSUcoMSxESVI9ezB4NDAwMDRDMDQsOH0sT1VUPXsweDQwMDA0QzAyLDh9LFNFTDE9ezB4NDAwMDRDMEEsOH0sU0VMMj17MHg0MDAwNEMwQyw4fSkNCiNwcmFnbWEgVUxQX1BPUlRfQ09ORklHKDIsRElSPXsweDQwMDA0QzA1LDh9LE9VVD17MHg0MDAwNEMwMyw4fSxTRUwxPXsweDQwMDA0QzBCLDh9LFNFTDI9ezB4NDAwMDRDMEQsOH0pDQojcHJhZ21hIFVMUF9QT1JUX0NPTkZJRygzLERJUj17MHg0MDAwNEMyNCw4fSxPVVQ9ezB4NDAwMDRDMjIsOH0sU0VMMT17MHg0MDAwNEMyQSw4fSxTRUwyPXsweDQwMDA0QzJDLDh9KQ0KI3ByYWdtYSBVTFBfUE9SVF9DT05GSUcoNCxESVI9ezB4NDAwMDRDMjUsOH0sT1VUPXsweDQwMDA0QzIzLDh9LFNFTDE9ezB4NDAwMDRDMkIsOH0sU0VMMj17MHg0MDAwNEMyRCw4fSkNCiNwcmFnbWEgVUxQX1BPUlRfQ09ORklHKDUsRElSPXsweDQwMDA0QzQ0LDh9LE9VVD17MHg0MDAwNEM0Miw4fSxTRUwxPXsweDQwMDA0QzRBLDh9LFNFTDI9ezB4NDAwMDRDNEMsOH0pDQojcHJhZ21hIFVMUF9QT1JUX0NPTkZJRyg2LERJUj17MHg0MDAwNEM0NSw4fSxPVVQ9ezB4NDAwMDRDNDMsOH0sU0VMMT17MHg0MDAwNEM0Qiw4fSxTRUwyPXsweDQwMDA0QzRELDh9KQ0KI3ByYWdtYSBVTFBfUE9SVF9DT05GSUcoNyxESVI9ezB4NDAwMDRDNjQsOH0sT1VUPXsweDQwMDA0QzYyLDh9LFNFTDE9ezB4NDAwMDRDNkEsOH0sU0VMMj17MHg0MDAwNEM2Qyw4fSkNCiNwcmFnbWEgVUxQX1BPUlRfQ09ORklHKDgsRElSPXsweDQwMDA0QzY1LDh9LE9VVD17MHg0MDAwNEM2Myw4fSxTRUwxPXsweDQwMDA0QzZCLDh9LFNFTDI9ezB4NDAwMDRDNkQsOH0pDQojcHJhZ21hIFVMUF9QT1JUX0NPTkZJRyg5LERJUj17MHg0MDAwNEM4NCw4fSxPVVQ9ezB4NDAwMDRDODIsOH0sU0VMMT17MHg0MDAwNEM4QSw4fSxTRUwyPXsweDQwMDA0QzhDLDh9KQ0KI3ByYWdtYSBVTFBfUE9SVF9DT05GSUcoMTAsRElSPXsweDQwMDA0Qzg1LDh9LE9VVD17MHg0MDAwNEM4Myw4fSxTRUwxPXsweDQwMDA0QzhCLDh9LFNFTDI9ezB4NDAwMDRDOEQsOH0pDQojZW5kaWYNCg0KI2lmZGVmIF9fY3BsdXNwbHVzDQp9DQojZW5kaWYNCg0KI2VuZGlmIC8qIF9fTVNQNDMyUDQwMVJfSF9fICovDQoNCg==