ZGlmZiAtLWdpdCBhL2JiYl9jYXBlL3NyYy9jYXBlL1JFQURNRSBiL2JiYl9jYXBlL3NyYy9jYXBlL1JFQURNRQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi40ZjQyY2EwCi0tLSAvZGV2L251bGwKKysrIGIvYmJiX2NhcGUvc3JjL2NhcGUvUkVBRE1FCkBAIC0wLDAgKzEsMTggQEAKK1tmaWxlc10KKyAgTG93LWxldmVsIGhhcmR3YXJlIGludGVyZmFjZSBmaWxlczogVGhlc2UgYXJlIGZpbGVzIGNvcGllZCAoYW5kIHR3ZWFrZWQpIGZyb20KKyAgICAgIG90aGVyIHBsYWNlcyB0aGF0IGRlYWwgd2l0aCB0aGUgbG93LWxldmVsIGhhcmR3YXJlIHN0dWZmLgorCVNUTTMyRjJYWC5oOiBUaGlzIGhhcyB0aGUgZGVjbGFyYXRpb25zIGZvciBhbGwgb2YgdGhlIHBlcmlwaGVyaWFsIHJlZ2lzdGVycworCSAgICBhbmQgb3RoZXIgc3R1ZmYgc3BlY2lmaWMgdG8gdGhpcyBNQ1UuIEl0IHdhcyBkb3dubG9hZGVkIGZyb20gdGhlIFJvd2xleQorCQlBc3NvY2lhdGVzIFNUTTMyIEJTUC4KKyAgICBjb3JlX2NtMy5oOiBUaGlzIGhhcyB0aGUgZGVjbGFyYXRpb25zIGZvciB0aGUgZ2VuZXJpYyBDb3J0ZXgtTTMgcmVnaXN0ZXJzLgorCSAgICBJdCBpcyBhIGdlbmVyaWMgZmlsZSB0aGF0IHNlZW1zIHRvIGJlIGRvd2xvYWRhYmxlIGZyb20gbG90cyBvZiBwbGFjZXMKKwkJKHdpdGggc2xpZ2h0IGRpZmZlcmVuY2VzIGJldHdlZW4gZWFjaCwgb2YgY291cnNlKS4gU1RNMzJGMlhYLmggI2luY2x1ZGVzCisJCWl0LgorCVNUTTMyRlhYX3N0YXJ0dXAuUzogVGhpcyBkZWZpbmVzIHRoZSBleGNlcHRpb24gdmVjdG9yIHRhYmxlIGFuZCBoYW5kbGVzCisJICAgIGNvcHlpbmcgZGF0YSBpbnRvIFJBTSBldGMgYmVmb3JlIGNhbGxpbmcgbWFpbi4gSXQgaXMgYSBjb21iaW5hdGlvbiBvZgorCQlzdGFydHVwIGZpbGVzIGZyb20gdGhlIFJvd2xleSBBc3NvY2lhdGVzIFNUTTMyIEJTUCBhbmQgZ2VuZXJpYyBBUk0gQ01TSVMKKwkJcGFja2FnZXMuCisgICAgZ2NjX2FybS5sZDogVGhpcyBpcyB0aGUgbGlua2VyIHNjcmlwdC4gSXQgZGVmaW5lcyB3aGVyZSBpbiBtZW1vcnkgZXZlcnl0aGluZworCSAgICBhY3R1YWxseSBnb2VzIGFuZCBnaXZlcyB2YXJpb3VzIGxvY2F0aW9ucyBuYW1lcyBzbyB0aGF0IHRoZSBzdGFydHVwCisJCXNjcmlwdCAoZGVzY3JpYmVkIGFib3ZlKSBjYW4gZmluZCB0aGVtIGFuZCBwdXQgdGhlIGRhdGEgd2hlcmUgaXQKKwkJYmVsb25ncy4gSXQgaXMgZnJvbSB0aGUgUm93bGV5IEFzc29jaWF0ZXMgQVJNIENNU0lTIHBhY2thZ2UuCmRpZmYgLS1naXQgYS9iYmJfY2FwZS9zcmMvY2FwZS9TVE0zMkYyWFguaCBiL2JiYl9jYXBlL3NyYy9jYXBlL1NUTTMyRjJYWC5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjBmNjc2YjAKLS0tIC9kZXYvbnVsbAorKysgYi9iYmJfY2FwZS9zcmMvY2FwZS9TVE0zMkYyWFguaApAQCAtMCwwICsxLDY3MjAgQEAKKy8qKgorICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyAgKiBAZmlsZSAgICBzdG0zMmYyeHguaAorICAqIEBhdXRob3IgIE1DRCBBcHBsaWNhdGlvbiBUZWFtCisgICogQHZlcnNpb24gVjEuMC4wCisgICogQGRhdGUgICAgMTgtQXByaWwtMjAxMQorICAqIEBicmllZiAgIENNU0lTIENvcnRleC1NMyBEZXZpY2UgUGVyaXBoZXJhbCBBY2Nlc3MgTGF5ZXIgSGVhZGVyIEZpbGUuIAorICAqICAgICAgICAgIFRoaXMgZmlsZSBjb250YWlucyBhbGwgdGhlIHBlcmlwaGVyYWwgcmVnaXN0ZXIncyBkZWZpbml0aW9ucywgYml0cyAKKyAgKiAgICAgICAgICBkZWZpbml0aW9ucyBhbmQgbWVtb3J5IG1hcHBpbmcgZm9yIFNUTTMyRjJ4eCBkZXZpY2VzLgorICAqICAgICAgICAgICAgCisgICogICAgICAgICAgVGhlIGZpbGUgaXMgdGhlIHVuaXF1ZSBpbmNsdWRlIGZpbGUgdGhhdCB0aGUgYXBwbGljYXRpb24gcHJvZ3JhbW1lcgorICAqICAgICAgICAgIGlzIHVzaW5nIGluIHRoZSBDIHNvdXJjZSBjb2RlLCB1c3VhbGx5IGluIG1haW4uYy4gVGhpcyBmaWxlIGNvbnRhaW5zOgorICAqICAgICAgICAgICAtIENvbmZpZ3VyYXRpb24gc2VjdGlvbiB0aGF0IGFsbG93cyB0byBzZWxlY3Q6CisgICogICAgICAgICAgIC0gRGF0YSBzdHJ1Y3R1cmVzIGFuZCB0aGUgYWRkcmVzcyBtYXBwaW5nIGZvciBhbGwgcGVyaXBoZXJhbHMKKyAgKiAgICAgICAgICAgLSBQZXJpcGhlcmFsJ3MgcmVnaXN0ZXJzIGRlY2xhcmF0aW9ucyBhbmQgYml0cyBkZWZpbml0aW9uCisgICogICAgICAgICAgIC0gTWFjcm9zIHRvIGFjY2VzcyBwZXJpcGhlcmFsknMgcmVnaXN0ZXJzIGhhcmR3YXJlCisgICogIAorICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyAgKiBAYXR0ZW50aW9uCisgICoKKyAgKiBUSEUgUFJFU0VOVCBGSVJNV0FSRSBXSElDSCBJUyBGT1IgR1VJREFOQ0UgT05MWSBBSU1TIEFUIFBST1ZJRElORyBDVVNUT01FUlMKKyAgKiBXSVRIIENPRElORyBJTkZPUk1BVElPTiBSRUdBUkRJTkcgVEhFSVIgUFJPRFVDVFMgSU4gT1JERVIgRk9SIFRIRU0gVE8gU0FWRQorICAqIFRJTUUuIEFTIEEgUkVTVUxULCBTVE1JQ1JPRUxFQ1RST05JQ1MgU0hBTEwgTk9UIEJFIEhFTEQgTElBQkxFIEZPUiBBTlkKKyAgKiBESVJFQ1QsIElORElSRUNUIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyBXSVRIIFJFU1BFQ1QgVE8gQU5ZIENMQUlNUyBBUklTSU5HCisgICogRlJPTSBUSEUgQ09OVEVOVCBPRiBTVUNIIEZJUk1XQVJFIEFORC9PUiBUSEUgVVNFIE1BREUgQlkgQ1VTVE9NRVJTIE9GIFRIRQorICAqIENPRElORyBJTkZPUk1BVElPTiBDT05UQUlORUQgSEVSRUlOIElOIENPTk5FQ1RJT04gV0lUSCBUSEVJUiBQUk9EVUNUUy4KKyAgKgorICAqIDxoMj48Y2VudGVyPiZjb3B5OyBDT1BZUklHSFQgMjAxMSBTVE1pY3JvZWxlY3Ryb25pY3M8L2NlbnRlcj48L2gyPgorICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiogIAorICAqLyAKKworI2lmbmRlZiBfX1NUTTMyRjJ4eF9ICisjZGVmaW5lIF9fU1RNMzJGMnh4X0gKKworI2lmZGVmIF9fY3BsdXNwbHVzCisgZXh0ZXJuICJDIiB7CisjZW5kaWYgLyogX19jcGx1c3BsdXMgKi8KKyAgCisvKioKKyAqIEBicmllZiBTVE0zMkYyWHh4IFN0YW5kYXJkIFBlcmlwaGVyYWxzIExpYnJhcnkgdmVyc2lvbiBudW1iZXIgVjEuMC4wCisgICAqLworI2RlZmluZSBfX1NUTTMyRjJYWF9TVERQRVJJUEhfVkVSU0lPTl9NQUlOICAgKDB4MDEpIC8qITwgWzMxOjI0XSBtYWluIHZlcnNpb24gKi8gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCisjZGVmaW5lIF9fU1RNMzJGMlhYX1NURFBFUklQSF9WRVJTSU9OX1NVQjEgICAoMHgwMCkgLyohPCBbMjM6MTZdIHN1YjEgdmVyc2lvbiAqLworI2RlZmluZSBfX1NUTTMyRjJYWF9TVERQRVJJUEhfVkVSU0lPTl9TVUIyICAgKDB4MDApIC8qITwgWzE1OjhdICBzdWIyIHZlcnNpb24gKi8KKyNkZWZpbmUgX19TVE0zMkYyWFhfU1REUEVSSVBIX1ZFUlNJT05fUkMgICAgICgweDAwKSAvKiE8IFs3OjBdICByZWxlYXNlIGNhbmRpZGF0ZSAqLyAKKyNkZWZpbmUgX19TVE0zMkYyWFhfU1REUEVSSVBIX1ZFUlNJT04gICAgICAgICgoX19TVE0zMkYyWFhfU1REUEVSSVBIX1ZFUlNJT05fTUFJTiA8PCAyNClcCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8KF9fU1RNMzJGMlhYX1NURFBFUklQSF9WRVJTSU9OX1NVQjEgPDwgMTYpXAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfChfX1NUTTMyRjJYWF9TVERQRVJJUEhfVkVSU0lPTl9TVUIyIDw8IDgpXAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfChfX1NUTTMyRjJYWF9TVERQRVJJUEhfVkVSU0lPTl9SQykpCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKKy8qKgorICogQGJyaWVmIENvbmZpZ3VyYXRpb24gb2YgdGhlIENvcnRleC1NMyBQcm9jZXNzb3IgYW5kIENvcmUgUGVyaXBoZXJhbHMgCisgKi8KKyNkZWZpbmUgX19NUFVfUFJFU0VOVCAgICAgICAgICAgICAxIC8qITwgU1RNMzJGMlhYIHByb3ZpZGUgYW4gTVBVICovCisjZGVmaW5lIF9fTlZJQ19QUklPX0JJVFMgICAgICAgICAgNCAvKiE8IFNUTTMyRjJYWCB1c2VzIDQgQml0cyBmb3IgdGhlIFByaW9yaXR5IExldmVscyAqLworI2RlZmluZSBfX1ZlbmRvcl9TeXNUaWNrQ29uZmlnICAgIDAgLyohPCBTZXQgdG8gMSBpZiBkaWZmZXJlbnQgU3lzVGljayBDb25maWcgaXMgdXNlZCAqLworCisvKioKKyAqIEBicmllZiBTVE0zMkYyWFggSW50ZXJydXB0IE51bWJlciBEZWZpbml0aW9uLCBhY2NvcmRpbmcgdG8gdGhlIHNlbGVjdGVkIGRldmljZSAKKyAqICAgICAgICBpbiBAcmVmIExpYnJhcnlfY29uZmlndXJhdGlvbl9zZWN0aW9uIAorICovCit0eXBlZGVmIGVudW0gSVJRbgoreworLyoqKioqKiAgQ29ydGV4LU0zIFByb2Nlc3NvciBFeGNlcHRpb25zIE51bWJlcnMgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KKyAgTm9uTWFza2FibGVJbnRfSVJRbiAgICAgICAgID0gLTE0LCAgICAvKiE8IDIgTm9uIE1hc2thYmxlIEludGVycnVwdCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICovCisgIE1lbW9yeU1hbmFnZW1lbnRfSVJRbiAgICAgICA9IC0xMiwgICAgLyohPCA0IENvcnRleC1NMyBNZW1vcnkgTWFuYWdlbWVudCBJbnRlcnJ1cHQgICAgICAgICAgICAgICAgICAgICAgICAgICAqLworICBCdXNGYXVsdF9JUlFuICAgICAgICAgICAgICAgPSAtMTEsICAgIC8qITwgNSBDb3J0ZXgtTTMgQnVzIEZhdWx0IEludGVycnVwdCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKi8KKyAgVXNhZ2VGYXVsdF9JUlFuICAgICAgICAgICAgID0gLTEwLCAgICAvKiE8IDYgQ29ydGV4LU0zIFVzYWdlIEZhdWx0IEludGVycnVwdCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICovCisgIFNWQ2FsbF9JUlFuICAgICAgICAgICAgICAgICA9IC01LCAgICAgLyohPCAxMSBDb3J0ZXgtTTMgU1YgQ2FsbCBJbnRlcnJ1cHQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqLworICBEZWJ1Z01vbml0b3JfSVJRbiAgICAgICAgICAgPSAtNCwgICAgIC8qITwgMTIgQ29ydGV4LU0zIERlYnVnIE1vbml0b3IgSW50ZXJydXB0ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKi8KKyAgUGVuZFNWX0lSUW4gICAgICAgICAgICAgICAgID0gLTIsICAgICAvKiE8IDE0IENvcnRleC1NMyBQZW5kIFNWIEludGVycnVwdCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICovCisgIFN5c1RpY2tfSVJRbiAgICAgICAgICAgICAgICA9IC0xLCAgICAgLyohPCAxNSBDb3J0ZXgtTTMgU3lzdGVtIFRpY2sgSW50ZXJydXB0ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqLworLyoqKioqKiAgU1RNMzIgc3BlY2lmaWMgSW50ZXJydXB0IE51bWJlcnMgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KKyAgV1dER19JUlFuICAgICAgICAgICAgICAgICAgID0gMCwgICAgICAvKiE8IFdpbmRvdyBXYXRjaERvZyBJbnRlcnJ1cHQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICovCisgIFBWRF9JUlFuICAgICAgICAgICAgICAgICAgICA9IDEsICAgICAgLyohPCBQVkQgdGhyb3VnaCBFWFRJIExpbmUgZGV0ZWN0aW9uIEludGVycnVwdCAgICAgICAgICAgICAgICAgICAgICAgICAqLworICBUQU1QX1NUQU1QX0lSUW4gICAgICAgICAgICAgPSAyLCAgICAgIC8qITwgVGFtcGVyIGFuZCBUaW1lU3RhbXAgaW50ZXJydXB0cyB0aHJvdWdoIHRoZSBFWFRJIGxpbmUgICAgICAgICAgICAgKi8KKyAgUlRDX1dLVVBfSVJRbiAgICAgICAgICAgICAgID0gMywgICAgICAvKiE8IFJUQyBXYWtldXAgaW50ZXJydXB0IHRocm91Z2ggdGhlIEVYVEkgbGluZSAgICAgICAgICAgICAgICAgICAgICAgICovCisgIEZMQVNIX0lSUW4gICAgICAgICAgICAgICAgICA9IDQsICAgICAgLyohPCBGTEFTSCBnbG9iYWwgSW50ZXJydXB0ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqLworICBSQ0NfSVJRbiAgICAgICAgICAgICAgICAgICAgPSA1LCAgICAgIC8qITwgUkNDIGdsb2JhbCBJbnRlcnJ1cHQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKi8KKyAgRVhUSTBfSVJRbiAgICAgICAgICAgICAgICAgID0gNiwgICAgICAvKiE8IEVYVEkgTGluZTAgSW50ZXJydXB0ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICovCisgIEVYVEkxX0lSUW4gICAgICAgICAgICAgICAgICA9IDcsICAgICAgLyohPCBFWFRJIExpbmUxIEludGVycnVwdCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqLworICBFWFRJMl9JUlFuICAgICAgICAgICAgICAgICAgPSA4LCAgICAgIC8qITwgRVhUSSBMaW5lMiBJbnRlcnJ1cHQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKi8KKyAgRVhUSTNfSVJRbiAgICAgICAgICAgICAgICAgID0gOSwgICAgICAvKiE8IEVYVEkgTGluZTMgSW50ZXJydXB0ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICovCisgIEVYVEk0X0lSUW4gICAgICAgICAgICAgICAgICA9IDEwLCAgICAgLyohPCBFWFRJIExpbmU0IEludGVycnVwdCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqLworICBETUExX1N0cmVhbTBfSVJRbiAgICAgICAgICAgPSAxMSwgICAgIC8qITwgRE1BMSBTdHJlYW0gMCBnbG9iYWwgSW50ZXJydXB0ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKi8KKyAgRE1BMV9TdHJlYW0xX0lSUW4gICAgICAgICAgID0gMTIsICAgICAvKiE8IERNQTEgU3RyZWFtIDEgZ2xvYmFsIEludGVycnVwdCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICovCisgIERNQTFfU3RyZWFtMl9JUlFuICAgICAgICAgICA9IDEzLCAgICAgLyohPCBETUExIFN0cmVhbSAyIGdsb2JhbCBJbnRlcnJ1cHQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqLworICBETUExX1N0cmVhbTNfSVJRbiAgICAgICAgICAgPSAxNCwgICAgIC8qITwgRE1BMSBTdHJlYW0gMyBnbG9iYWwgSW50ZXJydXB0ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKi8KKyAgRE1BMV9TdHJlYW00X0lSUW4gICAgICAgICAgID0gMTUsICAgICAvKiE8IERNQTEgU3RyZWFtIDQgZ2xvYmFsIEludGVycnVwdCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICovCisgIERNQTFfU3RyZWFtNV9JUlFuICAgICAgICAgICA9IDE2LCAgICAgLyohPCBETUExIFN0cmVhbSA1IGdsb2JhbCBJbnRlcnJ1cHQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqLworICBETUExX1N0cmVhbTZfSVJRbiAgICAgICAgICAgPSAxNywgICAgIC8qITwgRE1BMSBTdHJlYW0gNiBnbG9iYWwgSW50ZXJydXB0ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKi8KKyAgQURDX0lSUW4gICAgICAgICAgICAgICAgICAgID0gMTgsICAgICAvKiE8IEFEQzEsIEFEQzIgYW5kIEFEQzMgZ2xvYmFsIEludGVycnVwdHMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICovCisgIENBTjFfVFhfSVJRbiAgICAgICAgICAgICAgICA9IDE5LCAgICAgLyohPCBDQU4xIFRYIEludGVycnVwdCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqLworICBDQU4xX1JYMF9JUlFuICAgICAgICAgICAgICAgPSAyMCwgICAgIC8qITwgQ0FOMSBSWDAgSW50ZXJydXB0ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKi8KKyAgQ0FOMV9SWDFfSVJRbiAgICAgICAgICAgICAgID0gMjEsICAgICAvKiE8IENBTjEgUlgxIEludGVycnVwdCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICovCisgIENBTjFfU0NFX0lSUW4gICAgICAgICAgICAgICA9IDIyLCAgICAgLyohPCBDQU4xIFNDRSBJbnRlcnJ1cHQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqLworICBFWFRJOV81X0lSUW4gICAgICAgICAgICAgICAgPSAyMywgICAgIC8qITwgRXh0ZXJuYWwgTGluZVs5OjVdIEludGVycnVwdHMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKi8KKyAgVElNMV9CUktfVElNOV9JUlFuICAgICAgICAgID0gMjQsICAgICAvKiE8IFRJTTEgQnJlYWsgaW50ZXJydXB0IGFuZCBUSU05IGdsb2JhbCBpbnRlcnJ1cHQgICAgICAgICAgICAgICAgICAgICovCisgIFRJTTFfVVBfVElNMTBfSVJRbiAgICAgICAgICA9IDI1LCAgICAgLyohPCBUSU0xIFVwZGF0ZSBJbnRlcnJ1cHQgYW5kIFRJTTEwIGdsb2JhbCBpbnRlcnJ1cHQgICAgICAgICAgICAgICAgICAqLworICBUSU0xX1RSR19DT01fVElNMTFfSVJRbiAgICAgPSAyNiwgICAgIC8qITwgVElNMSBUcmlnZ2VyIGFuZCBDb21tdXRhdGlvbiBJbnRlcnJ1cHQgYW5kIFRJTTExIGdsb2JhbCBpbnRlcnJ1cHQgKi8KKyAgVElNMV9DQ19JUlFuICAgICAgICAgICAgICAgID0gMjcsICAgICAvKiE8IFRJTTEgQ2FwdHVyZSBDb21wYXJlIEludGVycnVwdCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICovCisgIFRJTTJfSVJRbiAgICAgICAgICAgICAgICAgICA9IDI4LCAgICAgLyohPCBUSU0yIGdsb2JhbCBJbnRlcnJ1cHQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqLworICBUSU0zX0lSUW4gICAgICAgICAgICAgICAgICAgPSAyOSwgICAgIC8qITwgVElNMyBnbG9iYWwgSW50ZXJydXB0ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKi8KKyAgVElNNF9JUlFuICAgICAgICAgICAgICAgICAgID0gMzAsICAgICAvKiE8IFRJTTQgZ2xvYmFsIEludGVycnVwdCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICovCisgIEkyQzFfRVZfSVJRbiAgICAgICAgICAgICAgICA9IDMxLCAgICAgLyohPCBJMkMxIEV2ZW50IEludGVycnVwdCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqLworICBJMkMxX0VSX0lSUW4gICAgICAgICAgICAgICAgPSAzMiwgICAgIC8qITwgSTJDMSBFcnJvciBJbnRlcnJ1cHQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKi8KKyAgSTJDMl9FVl9JUlFuICAgICAgICAgICAgICAgID0gMzMsICAgICAvKiE8IEkyQzIgRXZlbnQgSW50ZXJydXB0ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICovCisgIEkyQzJfRVJfSVJRbiAgICAgICAgICAgICAgICA9IDM0LCAgICAgLyohPCBJMkMyIEVycm9yIEludGVycnVwdCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqLyAgCisgIFNQSTFfSVJRbiAgICAgICAgICAgICAgICAgICA9IDM1LCAgICAgLyohPCBTUEkxIGdsb2JhbCBJbnRlcnJ1cHQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqLworICBTUEkyX0lSUW4gICAgICAgICAgICAgICAgICAgPSAzNiwgICAgIC8qITwgU1BJMiBnbG9iYWwgSW50ZXJydXB0ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKi8KKyAgVVNBUlQxX0lSUW4gICAgICAgICAgICAgICAgID0gMzcsICAgICAvKiE8IFVTQVJUMSBnbG9iYWwgSW50ZXJydXB0ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICovCisgIFVTQVJUMl9JUlFuICAgICAgICAgICAgICAgICA9IDM4LCAgICAgLyohPCBVU0FSVDIgZ2xvYmFsIEludGVycnVwdCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqLworICBVU0FSVDNfSVJRbiAgICAgICAgICAgICAgICAgPSAzOSwgICAgIC8qITwgVVNBUlQzIGdsb2JhbCBJbnRlcnJ1cHQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKi8KKyAgRVhUSTE1XzEwX0lSUW4gICAgICAgICAgICAgID0gNDAsICAgICAvKiE8IEV4dGVybmFsIExpbmVbMTU6MTBdIEludGVycnVwdHMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICovCisgIFJUQ19BbGFybV9JUlFuICAgICAgICAgICAgICA9IDQxLCAgICAgLyohPCBSVEMgQWxhcm0gKEEgYW5kIEIpIHRocm91Z2ggRVhUSSBMaW5lIEludGVycnVwdCAgICAgICAgICAgICAgICAgICAqLworICBPVEdfRlNfV0tVUF9JUlFuICAgICAgICAgICAgPSA0MiwgICAgIC8qITwgVVNCIE9URyBGUyBXYWtldXAgdGhyb3VnaCBFWFRJIGxpbmUgaW50ZXJydXB0ICAgICAgICAgICAgICAgICAgICAgKi8gICAgCisgIFRJTThfQlJLX1RJTTEyX0lSUW4gICAgICAgICA9IDQzLCAgICAgLyohPCBUSU04IEJyZWFrIEludGVycnVwdCBhbmQgVElNMTIgZ2xvYmFsIGludGVycnVwdCAgICAgICAgICAgICAgICAgICAqLworICBUSU04X1VQX1RJTTEzX0lSUW4gICAgICAgICAgPSA0NCwgICAgIC8qITwgVElNOCBVcGRhdGUgSW50ZXJydXB0IGFuZCBUSU0xMyBnbG9iYWwgaW50ZXJydXB0ICAgICAgICAgICAgICAgICAgKi8KKyAgVElNOF9UUkdfQ09NX1RJTTE0X0lSUW4gICAgID0gNDUsICAgICAvKiE8IFRJTTggVHJpZ2dlciBhbmQgQ29tbXV0YXRpb24gSW50ZXJydXB0IGFuZCBUSU0xNCBnbG9iYWwgaW50ZXJydXB0ICovCisgIFRJTThfQ0NfSVJRbiAgICAgICAgICAgICAgICA9IDQ2LCAgICAgLyohPCBUSU04IENhcHR1cmUgQ29tcGFyZSBJbnRlcnJ1cHQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqLworICBETUExX1N0cmVhbTdfSVJRbiAgICAgICAgICAgPSA0NywgICAgIC8qITwgRE1BMSBTdHJlYW03IEludGVycnVwdCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKi8KKyAgRlNNQ19JUlFuICAgICAgICAgICAgICAgICAgID0gNDgsICAgICAvKiE8IEZTTUMgZ2xvYmFsIEludGVycnVwdCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICovCisgIFNESU9fSVJRbiAgICAgICAgICAgICAgICAgICA9IDQ5LCAgICAgLyohPCBTRElPIGdsb2JhbCBJbnRlcnJ1cHQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqLworICBUSU01X0lSUW4gICAgICAgICAgICAgICAgICAgPSA1MCwgICAgIC8qITwgVElNNSBnbG9iYWwgSW50ZXJydXB0ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKi8KKyAgU1BJM19JUlFuICAgICAgICAgICAgICAgICAgID0gNTEsICAgICAvKiE8IFNQSTMgZ2xvYmFsIEludGVycnVwdCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICovCisgIFVBUlQ0X0lSUW4gICAgICAgICAgICAgICAgICA9IDUyLCAgICAgLyohPCBVQVJUNCBnbG9iYWwgSW50ZXJydXB0ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqLworICBVQVJUNV9JUlFuICAgICAgICAgICAgICAgICAgPSA1MywgICAgIC8qITwgVUFSVDUgZ2xvYmFsIEludGVycnVwdCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKi8KKyAgVElNNl9EQUNfSVJRbiAgICAgICAgICAgICAgID0gNTQsICAgICAvKiE8IFRJTTYgZ2xvYmFsIGFuZCBEQUMxJjIgdW5kZXJydW4gZXJyb3IgIGludGVycnVwdHMgICAgICAgICAgICAgICAgICovCisgIFRJTTdfSVJRbiAgICAgICAgICAgICAgICAgICA9IDU1LCAgICAgLyohPCBUSU03IGdsb2JhbCBpbnRlcnJ1cHQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqLworICBETUEyX1N0cmVhbTBfSVJRbiAgICAgICAgICAgPSA1NiwgICAgIC8qITwgRE1BMiBTdHJlYW0gMCBnbG9iYWwgSW50ZXJydXB0ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKi8KKyAgRE1BMl9TdHJlYW0xX0lSUW4gICAgICAgICAgID0gNTcsICAgICAvKiE8IERNQTIgU3RyZWFtIDEgZ2xvYmFsIEludGVycnVwdCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICovCisgIERNQTJfU3RyZWFtMl9JUlFuICAgICAgICAgICA9IDU4LCAgICAgLyohPCBETUEyIFN0cmVhbSAyIGdsb2JhbCBJbnRlcnJ1cHQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqLworICBETUEyX1N0cmVhbTNfSVJRbiAgICAgICAgICAgPSA1OSwgICAgIC8qITwgRE1BMiBTdHJlYW0gMyBnbG9iYWwgSW50ZXJydXB0ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKi8KKyAgRE1BMl9TdHJlYW00X0lSUW4gICAgICAgICAgID0gNjAsICAgICAvKiE8IERNQTIgU3RyZWFtIDQgZ2xvYmFsIEludGVycnVwdCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICovCisgIEVUSF9JUlFuICAgICAgICAgICAgICAgICAgICA9IDYxLCAgICAgLyohPCBFdGhlcm5ldCBnbG9iYWwgSW50ZXJydXB0ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqLworICBFVEhfV0tVUF9JUlFuICAgICAgICAgICAgICAgPSA2MiwgICAgIC8qITwgRXRoZXJuZXQgV2FrZXVwIHRocm91Z2ggRVhUSSBsaW5lIEludGVycnVwdCAgICAgICAgICAgICAgICAgICAgICAgKi8KKyAgQ0FOMl9UWF9JUlFuICAgICAgICAgICAgICAgID0gNjMsICAgICAvKiE8IENBTjIgVFggSW50ZXJydXB0ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICovCisgIENBTjJfUlgwX0lSUW4gICAgICAgICAgICAgICA9IDY0LCAgICAgLyohPCBDQU4yIFJYMCBJbnRlcnJ1cHQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqLworICBDQU4yX1JYMV9JUlFuICAgICAgICAgICAgICAgPSA2NSwgICAgIC8qITwgQ0FOMiBSWDEgSW50ZXJydXB0ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKi8KKyAgQ0FOMl9TQ0VfSVJRbiAgICAgICAgICAgICAgID0gNjYsICAgICAvKiE8IENBTjIgU0NFIEludGVycnVwdCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICovCisgIE9UR19GU19JUlFuICAgICAgICAgICAgICAgICA9IDY3LCAgICAgLyohPCBVU0IgT1RHIEZTIGdsb2JhbCBJbnRlcnJ1cHQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqLworICBETUEyX1N0cmVhbTVfSVJRbiAgICAgICAgICAgPSA2OCwgICAgIC8qITwgRE1BMiBTdHJlYW0gNSBnbG9iYWwgaW50ZXJydXB0ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKi8KKyAgRE1BMl9TdHJlYW02X0lSUW4gICAgICAgICAgID0gNjksICAgICAvKiE8IERNQTIgU3RyZWFtIDYgZ2xvYmFsIGludGVycnVwdCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICovCisgIERNQTJfU3RyZWFtN19JUlFuICAgICAgICAgICA9IDcwLCAgICAgLyohPCBETUEyIFN0cmVhbSA3IGdsb2JhbCBpbnRlcnJ1cHQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqLworICBVU0FSVDZfSVJRbiAgICAgICAgICAgICAgICAgPSA3MSwgICAgIC8qITwgVVNBUlQ2IGdsb2JhbCBpbnRlcnJ1cHQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKi8gCisgIEkyQzNfRVZfSVJRbiAgICAgICAgICAgICAgICA9IDcyLCAgICAgLyohPCBJMkMzIGV2ZW50IGludGVycnVwdCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqLworICBJMkMzX0VSX0lSUW4gICAgICAgICAgICAgICAgPSA3MywgICAgIC8qITwgSTJDMyBlcnJvciBpbnRlcnJ1cHQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKi8KKyAgT1RHX0hTX0VQMV9PVVRfSVJRbiAgICAgICAgID0gNzQsICAgICAvKiE8IFVTQiBPVEcgSFMgRW5kIFBvaW50IDEgT3V0IGdsb2JhbCBpbnRlcnJ1cHQgICAgICAgICAgICAgICAgICAgICAgICovCisgIE9UR19IU19FUDFfSU5fSVJRbiAgICAgICAgICA9IDc1LCAgICAgLyohPCBVU0IgT1RHIEhTIEVuZCBQb2ludCAxIEluIGdsb2JhbCBpbnRlcnJ1cHQgICAgICAgICAgICAgICAgICAgICAgICAqLworICBPVEdfSFNfV0tVUF9JUlFuICAgICAgICAgICAgPSA3NiwgICAgIC8qITwgVVNCIE9URyBIUyBXYWtldXAgdGhyb3VnaCBFWFRJIGludGVycnVwdCAgICAgICAgICAgICAgICAgICAgICAgICAgKi8KKyAgT1RHX0hTX0lSUW4gICAgICAgICAgICAgICAgID0gNzcsICAgICAvKiE8IFVTQiBPVEcgSFMgZ2xvYmFsIGludGVycnVwdCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICovCisgIERDTUlfSVJRbiAgICAgICAgICAgICAgICAgICA9IDc4LCAgICAgLyohPCBEQ01JIGdsb2JhbCBpbnRlcnJ1cHQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqLworICBDUllQX0lSUW4gICAgICAgICAgICAgICAgICAgPSA3OSwgICAgIC8qITwgQ1JZUCBjcnlwdG8gZ2xvYmFsIGludGVycnVwdCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKi8KKyAgSEFTSF9STkdfSVJRbiAgICAgICAgICAgICAgID0gODAgICAgICAvKiE8IEhhc2ggYW5kIFJuZyBnbG9iYWwgaW50ZXJydXB0ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICovCit9IElSUW5fVHlwZTsKKworI2luY2x1ZGUgImNvcmVfY20zLmgiCisjaW5jbHVkZSA8c3RkaW50Lmg+CisKKy8qITwgU1RNMzJGMTB4IFN0YW5kYXJkIFBlcmlwaGVyYWwgTGlicmFyeSBvbGQgdHlwZXMgKG1haW50YWluZWQgZm9yIGxlZ2FjeSBwdXJwb3NlKSAqLwordHlwZWRlZiBpbnQzMl90ICBzMzI7Cit0eXBlZGVmIGludDE2X3QgczE2OwordHlwZWRlZiBpbnQ4X3QgIHM4OworCit0eXBlZGVmIGNvbnN0IGludDMyX3Qgc2MzMjsgIC8qITwgUmVhZCBPbmx5ICovCit0eXBlZGVmIGNvbnN0IGludDE2X3Qgc2MxNjsgIC8qITwgUmVhZCBPbmx5ICovCit0eXBlZGVmIGNvbnN0IGludDhfdCBzYzg7ICAgLyohPCBSZWFkIE9ubHkgKi8KKwordHlwZWRlZiBfX0lPIGludDMyX3QgIHZzMzI7Cit0eXBlZGVmIF9fSU8gaW50MTZfdCAgdnMxNjsKK3R5cGVkZWYgX19JTyBpbnQ4X3QgICB2czg7CisKK3R5cGVkZWYgX19JIGludDMyX3QgdnNjMzI7ICAvKiE8IFJlYWQgT25seSAqLwordHlwZWRlZiBfX0kgaW50MTZfdCB2c2MxNjsgIC8qITwgUmVhZCBPbmx5ICovCit0eXBlZGVmIF9fSSBpbnQ4X3QgdnNjODsgICAvKiE8IFJlYWQgT25seSAqLworCit0eXBlZGVmIHVpbnQzMl90ICB1MzI7Cit0eXBlZGVmIHVpbnQxNl90IHUxNjsKK3R5cGVkZWYgdWludDhfdCAgdTg7CisKK3R5cGVkZWYgY29uc3QgdWludDMyX3QgdWMzMjsgIC8qITwgUmVhZCBPbmx5ICovCit0eXBlZGVmIGNvbnN0IHVpbnQxNl90IHVjMTY7ICAvKiE8IFJlYWQgT25seSAqLwordHlwZWRlZiBjb25zdCB1aW50OF90IHVjODsgICAvKiE8IFJlYWQgT25seSAqLworCit0eXBlZGVmIF9fSU8gdWludDMyX3QgIHZ1MzI7Cit0eXBlZGVmIF9fSU8gdWludDE2X3QgdnUxNjsKK3R5cGVkZWYgX19JTyB1aW50OF90ICB2dTg7CisKK3R5cGVkZWYgX19JIHVpbnQzMl90IHZ1YzMyOyAgLyohPCBSZWFkIE9ubHkgKi8KK3R5cGVkZWYgX19JIHVpbnQxNl90IHZ1YzE2OyAgLyohPCBSZWFkIE9ubHkgKi8KK3R5cGVkZWYgX19JIHVpbnQ4X3QgdnVjODsgICAvKiE8IFJlYWQgT25seSAqLworCit0eXBlZGVmIGVudW0ge1JFU0VUID0gMCwgU0VUID0gIVJFU0VUfSBGbGFnU3RhdHVzLCBJVFN0YXR1czsKKwordHlwZWRlZiBlbnVtIHtESVNBQkxFID0gMCwgRU5BQkxFID0gIURJU0FCTEV9IEZ1bmN0aW9uYWxTdGF0ZTsKKyNkZWZpbmUgSVNfRlVOQ1RJT05BTF9TVEFURShTVEFURSkgKCgoU1RBVEUpID09IERJU0FCTEUpIHx8ICgoU1RBVEUpID09IEVOQUJMRSkpCisKK3R5cGVkZWYgZW51bSB7RVJST1IgPSAwLCBTVUNDRVNTID0gIUVSUk9SfSBFcnJvclN0YXR1czsKKworLyoqIAorICAqIEBicmllZiBBbmFsb2cgdG8gRGlnaXRhbCBDb252ZXJ0ZXIgIAorICAqLworCit0eXBlZGVmIHN0cnVjdAoreworICBfX0lPIHVpbnQzMl90IFNSOyAgICAgLyohPCBBREMgc3RhdHVzIHJlZ2lzdGVyLCAgICAgICAgICAgICAgICAgICAgICAgICBBZGRyZXNzIG9mZnNldDogMHgwMCAqLworICBfX0lPIHVpbnQzMl90IENSMTsgICAgLyohPCBBREMgY29udHJvbCByZWdpc3RlciAxLCAgICAgICAgICAgICAgICAgICAgICBBZGRyZXNzIG9mZnNldDogMHgwNCAqLyAgICAgIAorICBfX0lPIHVpbnQzMl90IENSMjsgICAgLyohPCBBREMgY29udHJvbCByZWdpc3RlciAyLCAgICAgICAgICAgICAgICAgICAgICBBZGRyZXNzIG9mZnNldDogMHgwOCAqLworICBfX0lPIHVpbnQzMl90IFNNUFIxOyAgLyohPCBBREMgc2FtcGxlIHRpbWUgcmVnaXN0ZXIgMSwgICAgICAgICAgICAgICAgICBBZGRyZXNzIG9mZnNldDogMHgwQyAqLworICBfX0lPIHVpbnQzMl90IFNNUFIyOyAgLyohPCBBREMgc2FtcGxlIHRpbWUgcmVnaXN0ZXIgMiwgICAgICAgICAgICAgICAgICBBZGRyZXNzIG9mZnNldDogMHgxMCAqLworICBfX0lPIHVpbnQzMl90IEpPRlIxOyAgLyohPCBBREMgaW5qZWN0ZWQgY2hhbm5lbCBkYXRhIG9mZnNldCByZWdpc3RlciAxLCBBZGRyZXNzIG9mZnNldDogMHgxNCAqLworICBfX0lPIHVpbnQzMl90IEpPRlIyOyAgLyohPCBBREMgaW5qZWN0ZWQgY2hhbm5lbCBkYXRhIG9mZnNldCByZWdpc3RlciAyLCBBZGRyZXNzIG9mZnNldDogMHgxOCAqLworICBfX0lPIHVpbnQzMl90IEpPRlIzOyAgLyohPCBBREMgaW5qZWN0ZWQgY2hhbm5lbCBkYXRhIG9mZnNldCByZWdpc3RlciAzLCBBZGRyZXNzIG9mZnNldDogMHgxQyAqLworICBfX0lPIHVpbnQzMl90IEpPRlI0OyAgLyohPCBBREMgaW5qZWN0ZWQgY2hhbm5lbCBkYXRhIG9mZnNldCByZWdpc3RlciA0LCBBZGRyZXNzIG9mZnNldDogMHgyMCAqLworICBfX0lPIHVpbnQzMl90IEhUUjsgICAgLyohPCBBREMgd2F0Y2hkb2cgaGlnaGVyIHRocmVzaG9sZCByZWdpc3RlciwgICAgICBBZGRyZXNzIG9mZnNldDogMHgyNCAqLworICBfX0lPIHVpbnQzMl90IExUUjsgICAgLyohPCBBREMgd2F0Y2hkb2cgbG93ZXIgdGhyZXNob2xkIHJlZ2lzdGVyLCAgICAgICBBZGRyZXNzIG9mZnNldDogMHgyOCAqLworICBfX0lPIHVpbnQzMl90IFNRUjE7ICAgLyohPCBBREMgcmVndWxhciBzZXF1ZW5jZSByZWdpc3RlciAxLCAgICAgICAgICAgICBBZGRyZXNzIG9mZnNldDogMHgyQyAqLworICBfX0lPIHVpbnQzMl90IFNRUjI7ICAgLyohPCBBREMgcmVndWxhciBzZXF1ZW5jZSByZWdpc3RlciAyLCAgICAgICAgICAgICBBZGRyZXNzIG9mZnNldDogMHgzMCAqLworICBfX0lPIHVpbnQzMl90IFNRUjM7ICAgLyohPCBBREMgcmVndWxhciBzZXF1ZW5jZSByZWdpc3RlciAzLCAgICAgICAgICAgICBBZGRyZXNzIG9mZnNldDogMHgzNCAqLworICBfX0lPIHVpbnQzMl90IEpTUVI7ICAgLyohPCBBREMgaW5qZWN0ZWQgc2VxdWVuY2UgcmVnaXN0ZXIsICAgICAgICAgICAgICBBZGRyZXNzIG9mZnNldDogMHgzOCovCisgIF9fSU8gdWludDMyX3QgSkRSMTsgICAvKiE8IEFEQyBpbmplY3RlZCBkYXRhIHJlZ2lzdGVyIDEsICAgICAgICAgICAgICAgIEFkZHJlc3Mgb2Zmc2V0OiAweDNDICovCisgIF9fSU8gdWludDMyX3QgSkRSMjsgICAvKiE8IEFEQyBpbmplY3RlZCBkYXRhIHJlZ2lzdGVyIDIsICAgICAgICAgICAgICAgIEFkZHJlc3Mgb2Zmc2V0OiAweDQwICovCisgIF9fSU8gdWludDMyX3QgSkRSMzsgICAvKiE8IEFEQyBpbmplY3RlZCBkYXRhIHJlZ2lzdGVyIDMsICAgICAgICAgICAgICAgIEFkZHJlc3Mgb2Zmc2V0OiAweDQ0ICovCisgIF9fSU8gdWludDMyX3QgSkRSNDsgICAvKiE8IEFEQyBpbmplY3RlZCBkYXRhIHJlZ2lzdGVyIDQsICAgICAgICAgICAgICAgIEFkZHJlc3Mgb2Zmc2V0OiAweDQ4ICovCisgIF9fSU8gdWludDMyX3QgRFI7ICAgICAvKiE8IEFEQyByZWd1bGFyIGRhdGEgcmVnaXN0ZXIsICAgICAgICAgICAgICAgICAgIEFkZHJlc3Mgb2Zmc2V0OiAweDRDICovCit9IEFEQ19UeXBlRGVmOworCit0eXBlZGVmIHN0cnVjdAoreworICBfX0lPIHVpbnQzMl90IENTUjsgICAgLyohPCBBREMgQ29tbW9uIHN0YXR1cyByZWdpc3RlciwgICAgICAgICAgICAgICAgICBBZGRyZXNzIG9mZnNldDogQURDMSBiYXNlIGFkZHJlc3MgKyAweDMwMCAqLworICBfX0lPIHVpbnQzMl90IENDUjsgICAgLyohPCBBREMgY29tbW9uIGNvbnRyb2wgcmVnaXN0ZXIsICAgICAgICAgICAgICAgICBBZGRyZXNzIG9mZnNldDogQURDMSBiYXNlIGFkZHJlc3MgKyAweDMwNCAqLworICBfX0lPIHVpbnQzMl90IENEUjsgICAgLyohPCBBREMgY29tbW9uIHJlZ3VsYXIgZGF0YSByZWdpc3RlciBmb3IgZHVhbAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICBBTkQgdHJpcGxlIG1vZGVzLCAgICAgICAgICAgICAgICAgICAgICAgICAgICBBZGRyZXNzIG9mZnNldDogQURDMSBiYXNlIGFkZHJlc3MgKyAweDMwOCAqLworfSBBRENfQ29tbW9uX1R5cGVEZWY7CisKKworLyoqIAorICAqIEBicmllZiBDb250cm9sbGVyIEFyZWEgTmV0d29yayBUeE1haWxCb3ggCisgICovCisKK3R5cGVkZWYgc3RydWN0Cit7CisgIF9fSU8gdWludDMyX3QgVElSOyAgLyohPCBDQU4gVFggbWFpbGJveCBpZGVudGlmaWVyIHJlZ2lzdGVyICovCisgIF9fSU8gdWludDMyX3QgVERUUjsgLyohPCBDQU4gbWFpbGJveCBkYXRhIGxlbmd0aCBjb250cm9sIGFuZCB0aW1lIHN0YW1wIHJlZ2lzdGVyICovCisgIF9fSU8gdWludDMyX3QgVERMUjsgLyohPCBDQU4gbWFpbGJveCBkYXRhIGxvdyByZWdpc3RlciAqLworICBfX0lPIHVpbnQzMl90IFRESFI7IC8qITwgQ0FOIG1haWxib3ggZGF0YSBoaWdoIHJlZ2lzdGVyICovCit9IENBTl9UeE1haWxCb3hfVHlwZURlZjsKKworLyoqIAorICAqIEBicmllZiBDb250cm9sbGVyIEFyZWEgTmV0d29yayBGSUZPTWFpbEJveCAKKyAgKi8KKyAgCit0eXBlZGVmIHN0cnVjdAoreworICBfX0lPIHVpbnQzMl90IFJJUjsgIC8qITwgQ0FOIHJlY2VpdmUgRklGTyBtYWlsYm94IGlkZW50aWZpZXIgcmVnaXN0ZXIgKi8KKyAgX19JTyB1aW50MzJfdCBSRFRSOyAvKiE8IENBTiByZWNlaXZlIEZJRk8gbWFpbGJveCBkYXRhIGxlbmd0aCBjb250cm9sIGFuZCB0aW1lIHN0YW1wIHJlZ2lzdGVyICovCisgIF9fSU8gdWludDMyX3QgUkRMUjsgLyohPCBDQU4gcmVjZWl2ZSBGSUZPIG1haWxib3ggZGF0YSBsb3cgcmVnaXN0ZXIgKi8KKyAgX19JTyB1aW50MzJfdCBSREhSOyAvKiE8IENBTiByZWNlaXZlIEZJRk8gbWFpbGJveCBkYXRhIGhpZ2ggcmVnaXN0ZXIgKi8KK30gQ0FOX0ZJRk9NYWlsQm94X1R5cGVEZWY7CisKKy8qKiAKKyAgKiBAYnJpZWYgQ29udHJvbGxlciBBcmVhIE5ldHdvcmsgRmlsdGVyUmVnaXN0ZXIgCisgICovCisgIAordHlwZWRlZiBzdHJ1Y3QKK3sKKyAgX19JTyB1aW50MzJfdCBGUjE7IC8qITwgQ0FOIEZpbHRlciBiYW5rIHJlZ2lzdGVyIDEgKi8KKyAgX19JTyB1aW50MzJfdCBGUjI7IC8qITwgQ0FOIEZpbHRlciBiYW5rIHJlZ2lzdGVyIDEgKi8KK30gQ0FOX0ZpbHRlclJlZ2lzdGVyX1R5cGVEZWY7CisKKy8qKiAKKyAgKiBAYnJpZWYgQ29udHJvbGxlciBBcmVhIE5ldHdvcmsgCisgICovCisgIAordHlwZWRlZiBzdHJ1Y3QKK3sKKyAgX19JTyB1aW50MzJfdCAgICAgICAgICAgICAgTUNSOyAgICAgICAgICAgICAgICAgLyohPCBDQU4gbWFzdGVyIGNvbnRyb2wgcmVnaXN0ZXIsICAgICAgICAgQWRkcmVzcyBvZmZzZXQ6IDB4MDAgICAgICAgICAgKi8KKyAgX19JTyB1aW50MzJfdCAgICAgICAgICAgICAgTVNSOyAgICAgICAgICAgICAgICAgLyohPCBDQU4gbWFzdGVyIHN0YXR1cyByZWdpc3RlciwgICAgICAgICAgQWRkcmVzcyBvZmZzZXQ6IDB4MDQgICAgICAgICAgKi8KKyAgX19JTyB1aW50MzJfdCAgICAgICAgICAgICAgVFNSOyAgICAgICAgICAgICAgICAgLyohPCBDQU4gdHJhbnNtaXQgc3RhdHVzIHJlZ2lzdGVyLCAgICAgICAgQWRkcmVzcyBvZmZzZXQ6IDB4MDggICAgICAgICAgKi8KKyAgX19JTyB1aW50MzJfdCAgICAgICAgICAgICAgUkYwUjsgICAgICAgICAgICAgICAgLyohPCBDQU4gcmVjZWl2ZSBGSUZPIDAgcmVnaXN0ZXIsICAgICAgICAgQWRkcmVzcyBvZmZzZXQ6IDB4MEMgICAgICAgICAgKi8KKyAgX19JTyB1aW50MzJfdCAgICAgICAgICAgICAgUkYxUjsgICAgICAgICAgICAgICAgLyohPCBDQU4gcmVjZWl2ZSBGSUZPIDEgcmVnaXN0ZXIsICAgICAgICAgQWRkcmVzcyBvZmZzZXQ6IDB4MTAgICAgICAgICAgKi8KKyAgX19JTyB1aW50MzJfdCAgICAgICAgICAgICAgSUVSOyAgICAgICAgICAgICAgICAgLyohPCBDQU4gaW50ZXJydXB0IGVuYWJsZSByZWdpc3RlciwgICAgICAgQWRkcmVzcyBvZmZzZXQ6IDB4MTQgICAgICAgICAgKi8KKyAgX19JTyB1aW50MzJfdCAgICAgICAgICAgICAgRVNSOyAgICAgICAgICAgICAgICAgLyohPCBDQU4gZXJyb3Igc3RhdHVzIHJlZ2lzdGVyLCAgICAgICAgICAgQWRkcmVzcyBvZmZzZXQ6IDB4MTggICAgICAgICAgKi8KKyAgX19JTyB1aW50MzJfdCAgICAgICAgICAgICAgQlRSOyAgICAgICAgICAgICAgICAgLyohPCBDQU4gYml0IHRpbWluZyByZWdpc3RlciwgICAgICAgICAgICAgQWRkcmVzcyBvZmZzZXQ6IDB4MUMgICAgICAgICAgKi8KKyAgdWludDMyX3QgICAgICAgICAgICAgICAgICAgUkVTRVJWRUQwWzg4XTsgICAgICAgLyohPCBSZXNlcnZlZCwgMHgwMjAgLSAweDE3RiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKi8KKyAgQ0FOX1R4TWFpbEJveF9UeXBlRGVmICAgICAgc1R4TWFpbEJveFszXTsgICAgICAgLyohPCBDQU4gVHggTWFpbEJveCwgICAgICAgICAgICAgICAgICAgICAgQWRkcmVzcyBvZmZzZXQ6IDB4MTgwIC0gMHgxQUMgKi8KKyAgQ0FOX0ZJRk9NYWlsQm94X1R5cGVEZWYgICAgc0ZJRk9NYWlsQm94WzJdOyAgICAgLyohPCBDQU4gRklGTyBNYWlsQm94LCAgICAgICAgICAgICAgICAgICAgQWRkcmVzcyBvZmZzZXQ6IDB4MUIwIC0gMHgxQ0MgKi8KKyAgdWludDMyX3QgICAgICAgICAgICAgICAgICAgUkVTRVJWRUQxWzEyXTsgICAgICAgLyohPCBSZXNlcnZlZCwgMHgxRDAgLSAweDFGRiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKi8KKyAgX19JTyB1aW50MzJfdCAgICAgICAgICAgICAgRk1SOyAgICAgICAgICAgICAgICAgLyohPCBDQU4gZmlsdGVyIG1hc3RlciByZWdpc3RlciwgICAgICAgICAgQWRkcmVzcyBvZmZzZXQ6IDB4MjAwICAgICAgICAgKi8KKyAgX19JTyB1aW50MzJfdCAgICAgICAgICAgICAgRk0xUjsgICAgICAgICAgICAgICAgLyohPCBDQU4gZmlsdGVyIG1vZGUgcmVnaXN0ZXIsICAgICAgICAgICAgQWRkcmVzcyBvZmZzZXQ6IDB4MjA0ICAgICAgICAgKi8KKyAgdWludDMyX3QgICAgICAgICAgICAgICAgICAgUkVTRVJWRUQyOyAgICAgICAgICAgLyohPCBSZXNlcnZlZCwgMHgyMDggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKi8KKyAgX19JTyB1aW50MzJfdCAgICAgICAgICAgICAgRlMxUjsgICAgICAgICAgICAgICAgLyohPCBDQU4gZmlsdGVyIHNjYWxlIHJlZ2lzdGVyLCAgICAgICAgICAgQWRkcmVzcyBvZmZzZXQ6IDB4MjBDICAgICAgICAgKi8KKyAgdWludDMyX3QgICAgICAgICAgICAgICAgICAgUkVTRVJWRUQzOyAgICAgICAgICAgLyohPCBSZXNlcnZlZCwgMHgyMTAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKi8KKyAgX19JTyB1aW50MzJfdCAgICAgICAgICAgICAgRkZBMVI7ICAgICAgICAgICAgICAgLyohPCBDQU4gZmlsdGVyIEZJRk8gYXNzaWdubWVudCByZWdpc3RlciwgQWRkcmVzcyBvZmZzZXQ6IDB4MjE0ICAgICAgICAgKi8KKyAgdWludDMyX3QgICAgICAgICAgICAgICAgICAgUkVTRVJWRUQ0OyAgICAgICAgICAgLyohPCBSZXNlcnZlZCwgMHgyMTggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKi8KKyAgX19JTyB1aW50MzJfdCAgICAgICAgICAgICAgRkExUjsgICAgICAgICAgICAgICAgLyohPCBDQU4gZmlsdGVyIGFjdGl2YXRpb24gcmVnaXN0ZXIsICAgICAgQWRkcmVzcyBvZmZzZXQ6IDB4MjFDICAgICAgICAgKi8KKyAgdWludDMyX3QgICAgICAgICAgICAgICAgICAgUkVTRVJWRUQ1WzhdOyAgICAgICAgLyohPCBSZXNlcnZlZCwgMHgyMjAtMHgyM0YgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKi8gCisgIENBTl9GaWx0ZXJSZWdpc3Rlcl9UeXBlRGVmIHNGaWx0ZXJSZWdpc3RlclsyOF07IC8qITwgQ0FOIEZpbHRlciBSZWdpc3RlciwgICAgICAgICAgICAgICAgIEFkZHJlc3Mgb2Zmc2V0OiAweDI0MC0weDMxQyAgICovCit9IENBTl9UeXBlRGVmOworCisvKiogCisgICogQGJyaWVmIENSQyBjYWxjdWxhdGlvbiB1bml0IAorICAqLworCit0eXBlZGVmIHN0cnVjdAoreworICBfX0lPIHVpbnQzMl90IERSOyAgICAgICAgIC8qITwgQ1JDIERhdGEgcmVnaXN0ZXIsICAgICAgICAgICAgIEFkZHJlc3Mgb2Zmc2V0OiAweDAwICovCisgIF9fSU8gdWludDhfdCAgSURSOyAgICAgICAgLyohPCBDUkMgSW5kZXBlbmRlbnQgZGF0YSByZWdpc3RlciwgQWRkcmVzcyBvZmZzZXQ6IDB4MDQgKi8KKyAgdWludDhfdCAgICAgICBSRVNFUlZFRDA7ICAvKiE8IFJlc2VydmVkLCAweDA1ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqLworICB1aW50MTZfdCAgICAgIFJFU0VSVkVEMTsgIC8qITwgUmVzZXJ2ZWQsIDB4MDYgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICovCisgIF9fSU8gdWludDMyX3QgQ1I7ICAgICAgICAgLyohPCBDUkMgQ29udHJvbCByZWdpc3RlciwgICAgICAgICAgQWRkcmVzcyBvZmZzZXQ6IDB4MDggKi8KK30gQ1JDX1R5cGVEZWY7CisKKy8qKiAKKyAgKiBAYnJpZWYgRGlnaXRhbCB0byBBbmFsb2cgQ29udmVydGVyCisgICovCisKK3R5cGVkZWYgc3RydWN0Cit7CisgIF9fSU8gdWludDMyX3QgQ1I7ICAgICAgIC8qITwgREFDIGNvbnRyb2wgcmVnaXN0ZXIsICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQWRkcmVzcyBvZmZzZXQ6IDB4MDAgKi8KKyAgX19JTyB1aW50MzJfdCBTV1RSSUdSOyAgLyohPCBEQUMgc29mdHdhcmUgdHJpZ2dlciByZWdpc3RlciwgICAgICAgICAgICAgICAgICAgICAgICAgICBBZGRyZXNzIG9mZnNldDogMHgwNCAqLworICBfX0lPIHVpbnQzMl90IERIUjEyUjE7ICAvKiE8IERBQyBjaGFubmVsMSAxMi1iaXQgcmlnaHQtYWxpZ25lZCBkYXRhIGhvbGRpbmcgcmVnaXN0ZXIsIEFkZHJlc3Mgb2Zmc2V0OiAweDA4ICovCisgIF9fSU8gdWludDMyX3QgREhSMTJMMTsgIC8qITwgREFDIGNoYW5uZWwxIDEyLWJpdCBsZWZ0IGFsaWduZWQgZGF0YSBob2xkaW5nIHJlZ2lzdGVyLCAgQWRkcmVzcyBvZmZzZXQ6IDB4MEMgKi8KKyAgX19JTyB1aW50MzJfdCBESFI4UjE7ICAgLyohPCBEQUMgY2hhbm5lbDEgOC1iaXQgcmlnaHQgYWxpZ25lZCBkYXRhIGhvbGRpbmcgcmVnaXN0ZXIsICBBZGRyZXNzIG9mZnNldDogMHgxMCAqLworICBfX0lPIHVpbnQzMl90IERIUjEyUjI7ICAvKiE8IERBQyBjaGFubmVsMiAxMi1iaXQgcmlnaHQgYWxpZ25lZCBkYXRhIGhvbGRpbmcgcmVnaXN0ZXIsIEFkZHJlc3Mgb2Zmc2V0OiAweDE0ICovCisgIF9fSU8gdWludDMyX3QgREhSMTJMMjsgIC8qITwgREFDIGNoYW5uZWwyIDEyLWJpdCBsZWZ0IGFsaWduZWQgZGF0YSBob2xkaW5nIHJlZ2lzdGVyLCAgQWRkcmVzcyBvZmZzZXQ6IDB4MTggKi8KKyAgX19JTyB1aW50MzJfdCBESFI4UjI7ICAgLyohPCBEQUMgY2hhbm5lbDIgOC1iaXQgcmlnaHQtYWxpZ25lZCBkYXRhIGhvbGRpbmcgcmVnaXN0ZXIsICBBZGRyZXNzIG9mZnNldDogMHgxQyAqLworICBfX0lPIHVpbnQzMl90IERIUjEyUkQ7ICAvKiE8IER1YWwgREFDIDEyLWJpdCByaWdodC1hbGlnbmVkIGRhdGEgaG9sZGluZyByZWdpc3RlciwgICAgIEFkZHJlc3Mgb2Zmc2V0OiAweDIwICovCisgIF9fSU8gdWludDMyX3QgREhSMTJMRDsgIC8qITwgRFVBTCBEQUMgMTItYml0IGxlZnQgYWxpZ25lZCBkYXRhIGhvbGRpbmcgcmVnaXN0ZXIsICAgICAgQWRkcmVzcyBvZmZzZXQ6IDB4MjQgKi8KKyAgX19JTyB1aW50MzJfdCBESFI4UkQ7ICAgLyohPCBEVUFMIERBQyA4LWJpdCByaWdodCBhbGlnbmVkIGRhdGEgaG9sZGluZyByZWdpc3RlciwgICAgICBBZGRyZXNzIG9mZnNldDogMHgyOCAqLworICBfX0lPIHVpbnQzMl90IERPUjE7ICAgICAvKiE8IERBQyBjaGFubmVsMSBkYXRhIG91dHB1dCByZWdpc3RlciwgICAgICAgICAgICAgICAgICAgICAgIEFkZHJlc3Mgb2Zmc2V0OiAweDJDICovCisgIF9fSU8gdWludDMyX3QgRE9SMjsgICAgIC8qITwgREFDIGNoYW5uZWwyIGRhdGEgb3V0cHV0IHJlZ2lzdGVyLCAgICAgICAgICAgICAgICAgICAgICAgQWRkcmVzcyBvZmZzZXQ6IDB4MzAgKi8KKyAgX19JTyB1aW50MzJfdCBTUjsgICAgICAgLyohPCBEQUMgc3RhdHVzIHJlZ2lzdGVyLCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBBZGRyZXNzIG9mZnNldDogMHgzNCAqLworfSBEQUNfVHlwZURlZjsKKworLyoqIAorICAqIEBicmllZiBEZWJ1ZyBNQ1UKKyAgKi8KKwordHlwZWRlZiBzdHJ1Y3QKK3sKKyAgX19JTyB1aW50MzJfdCBJRENPREU7ICAvKiE8IE1DVSBkZXZpY2UgSUQgY29kZSwgICAgICAgICAgICAgICBBZGRyZXNzIG9mZnNldDogMHgwMCAqLworICBfX0lPIHVpbnQzMl90IENSOyAgICAgIC8qITwgRGVidWcgTUNVIGNvbmZpZ3VyYXRpb24gcmVnaXN0ZXIsIEFkZHJlc3Mgb2Zmc2V0OiAweDA0ICovCisgIF9fSU8gdWludDMyX3QgQVBCMUZaOyAgLyohPCBEZWJ1ZyBNQ1UgQVBCMSBmcmVlemUgcmVnaXN0ZXIsICAgQWRkcmVzcyBvZmZzZXQ6IDB4MDggKi8KKyAgX19JTyB1aW50MzJfdCBBUEIyRlo7ICAvKiE8IERlYnVnIE1DVSBBUEIyIGZyZWV6ZSByZWdpc3RlciwgICBBZGRyZXNzIG9mZnNldDogMHgwQyAqLworfURCR01DVV9UeXBlRGVmOworCisvKiogCisgICogQGJyaWVmIERDTUkKKyAgKi8KKwordHlwZWRlZiBzdHJ1Y3QKK3sKKyAgX19JTyB1aW50MzJfdCBDUjsgICAgICAgLyohPCBEQ01JIGNvbnRyb2wgcmVnaXN0ZXIgMSwgICAgICAgICAgICAgICAgICAgICAgIEFkZHJlc3Mgb2Zmc2V0OiAweDAwICovCisgIF9fSU8gdWludDMyX3QgU1I7ICAgICAgIC8qITwgRENNSSBzdGF0dXMgcmVnaXN0ZXIsICAgICAgICAgICAgICAgICAgICAgICAgICBBZGRyZXNzIG9mZnNldDogMHgwNCAqLworICBfX0lPIHVpbnQzMl90IFJJU1I7ICAgICAvKiE8IERDTUkgcmF3IGludGVycnVwdCBzdGF0dXMgcmVnaXN0ZXIsICAgICAgICAgICAgQWRkcmVzcyBvZmZzZXQ6IDB4MDggKi8KKyAgX19JTyB1aW50MzJfdCBJRVI7ICAgICAgLyohPCBEQ01JIGludGVycnVwdCBlbmFibGUgcmVnaXN0ZXIsICAgICAgICAgICAgICAgIEFkZHJlc3Mgb2Zmc2V0OiAweDBDICovCisgIF9fSU8gdWludDMyX3QgTUlTUjsgICAgIC8qITwgRENNSSBtYXNrZWQgaW50ZXJydXB0IHN0YXR1cyByZWdpc3RlciwgICAgICAgICBBZGRyZXNzIG9mZnNldDogMHgxMCAqLworICBfX0lPIHVpbnQzMl90IElDUjsgICAgICAvKiE8IERDTUkgaW50ZXJydXB0IGNsZWFyIHJlZ2lzdGVyLCAgICAgICAgICAgICAgICAgQWRkcmVzcyBvZmZzZXQ6IDB4MTQgKi8KKyAgX19JTyB1aW50MzJfdCBFU0NSOyAgICAgLyohPCBEQ01JIGVtYmVkZGVkIHN5bmNocm9uaXphdGlvbiBjb2RlIHJlZ2lzdGVyLCAgIEFkZHJlc3Mgb2Zmc2V0OiAweDE4ICovCisgIF9fSU8gdWludDMyX3QgRVNVUjsgICAgIC8qITwgRENNSSBlbWJlZGRlZCBzeW5jaHJvbml6YXRpb24gdW5tYXNrIHJlZ2lzdGVyLCBBZGRyZXNzIG9mZnNldDogMHgxQyAqLworICBfX0lPIHVpbnQzMl90IENXU1RSVFI7ICAvKiE8IERDTUkgY3JvcCB3aW5kb3cgc3RhcnQsICAgICAgICAgICAgICAgICAgICAgICAgQWRkcmVzcyBvZmZzZXQ6IDB4MjAgKi8KKyAgX19JTyB1aW50MzJfdCBDV1NJWkVSOyAgLyohPCBEQ01JIGNyb3Agd2luZG93IHNpemUsICAgICAgICAgICAgICAgICAgICAgICAgIEFkZHJlc3Mgb2Zmc2V0OiAweDI0ICovCisgIF9fSU8gdWludDMyX3QgRFI7ICAgICAgIC8qITwgRENNSSBkYXRhIHJlZ2lzdGVyLCAgICAgICAgICAgICAgICAgICAgICAgICAgICBBZGRyZXNzIG9mZnNldDogMHgyOCAqLworfSBEQ01JX1R5cGVEZWY7CisKKy8qKiAKKyAgKiBAYnJpZWYgRE1BIENvbnRyb2xsZXIKKyAgKi8KKwordHlwZWRlZiBzdHJ1Y3QKK3sKKyAgX19JTyB1aW50MzJfdCBDUjsgICAgIC8qITwgRE1BIHN0cmVhbSB4IGNvbmZpZ3VyYXRpb24gcmVnaXN0ZXIgICAgICAqLworICBfX0lPIHVpbnQzMl90IE5EVFI7ICAgLyohPCBETUEgc3RyZWFtIHggbnVtYmVyIG9mIGRhdGEgcmVnaXN0ZXIgICAgICovCisgIF9fSU8gdWludDMyX3QgUEFSOyAgICAvKiE8IERNQSBzdHJlYW0geCBwZXJpcGhlcmFsIGFkZHJlc3MgcmVnaXN0ZXIgKi8KKyAgX19JTyB1aW50MzJfdCBNMEFSOyAgIC8qITwgRE1BIHN0cmVhbSB4IG1lbW9yeSAwIGFkZHJlc3MgcmVnaXN0ZXIgICAqLworICBfX0lPIHVpbnQzMl90IE0xQVI7ICAgLyohPCBETUEgc3RyZWFtIHggbWVtb3J5IDEgYWRkcmVzcyByZWdpc3RlciAgICovCisgIF9fSU8gdWludDMyX3QgRkNSOyAgICAvKiE8IERNQSBzdHJlYW0geCBGSUZPIGNvbnRyb2wgcmVnaXN0ZXIgICAgICAgKi8KK30gRE1BX1N0cmVhbV9UeXBlRGVmOworCit0eXBlZGVmIHN0cnVjdAoreworICBfX0lPIHVpbnQzMl90IExJU1I7ICAgLyohPCBETUEgbG93IGludGVycnVwdCBzdGF0dXMgcmVnaXN0ZXIsICAgICAgQWRkcmVzcyBvZmZzZXQ6IDB4MDAgKi8KKyAgX19JTyB1aW50MzJfdCBISVNSOyAgIC8qITwgRE1BIGhpZ2ggaW50ZXJydXB0IHN0YXR1cyByZWdpc3RlciwgICAgIEFkZHJlc3Mgb2Zmc2V0OiAweDA0ICovCisgIF9fSU8gdWludDMyX3QgTElGQ1I7ICAvKiE8IERNQSBsb3cgaW50ZXJydXB0IGZsYWcgY2xlYXIgcmVnaXN0ZXIsICBBZGRyZXNzIG9mZnNldDogMHgwOCAqLworICBfX0lPIHVpbnQzMl90IEhJRkNSOyAgLyohPCBETUEgaGlnaCBpbnRlcnJ1cHQgZmxhZyBjbGVhciByZWdpc3RlciwgQWRkcmVzcyBvZmZzZXQ6IDB4MEMgKi8KK30gRE1BX1R5cGVEZWY7CisKKy8qKiAKKyAgKiBAYnJpZWYgRXRoZXJuZXQgTUFDCisgICovCisKK3R5cGVkZWYgc3RydWN0Cit7CisgIF9fSU8gdWludDMyX3QgTUFDQ1I7CisgIF9fSU8gdWludDMyX3QgTUFDRkZSOworICBfX0lPIHVpbnQzMl90IE1BQ0hUSFI7CisgIF9fSU8gdWludDMyX3QgTUFDSFRMUjsKKyAgX19JTyB1aW50MzJfdCBNQUNNSUlBUjsKKyAgX19JTyB1aW50MzJfdCBNQUNNSUlEUjsKKyAgX19JTyB1aW50MzJfdCBNQUNGQ1I7CisgIF9fSU8gdWludDMyX3QgTUFDVkxBTlRSOyAgICAgICAgICAgICAvKiAgICA4ICovCisgIHVpbnQzMl90ICAgICAgUkVTRVJWRUQwWzJdOworICBfX0lPIHVpbnQzMl90IE1BQ1JXVUZGUjsgICAgICAgICAgICAgLyogICAxMSAqLworICBfX0lPIHVpbnQzMl90IE1BQ1BNVENTUjsKKyAgdWludDMyX3QgICAgICBSRVNFUlZFRDFbMl07CisgIF9fSU8gdWludDMyX3QgTUFDU1I7ICAgICAgICAgICAgICAgICAvKiAgIDE1ICovCisgIF9fSU8gdWludDMyX3QgTUFDSU1SOworICBfX0lPIHVpbnQzMl90IE1BQ0EwSFI7CisgIF9fSU8gdWludDMyX3QgTUFDQTBMUjsKKyAgX19JTyB1aW50MzJfdCBNQUNBMUhSOworICBfX0lPIHVpbnQzMl90IE1BQ0ExTFI7CisgIF9fSU8gdWludDMyX3QgTUFDQTJIUjsKKyAgX19JTyB1aW50MzJfdCBNQUNBMkxSOworICBfX0lPIHVpbnQzMl90IE1BQ0EzSFI7CisgIF9fSU8gdWludDMyX3QgTUFDQTNMUjsgICAgICAgICAgICAgICAvKiAgIDI0ICovCisgIHVpbnQzMl90ICAgICAgUkVTRVJWRUQyWzQwXTsKKyAgX19JTyB1aW50MzJfdCBNTUNDUjsgICAgICAgICAgICAgICAgIC8qICAgNjUgKi8KKyAgX19JTyB1aW50MzJfdCBNTUNSSVI7CisgIF9fSU8gdWludDMyX3QgTU1DVElSOworICBfX0lPIHVpbnQzMl90IE1NQ1JJTVI7CisgIF9fSU8gdWludDMyX3QgTU1DVElNUjsgICAgICAgICAgICAgICAvKiAgIDY5ICovCisgIHVpbnQzMl90ICAgICAgUkVTRVJWRUQzWzE0XTsKKyAgX19JTyB1aW50MzJfdCBNTUNUR0ZTQ0NSOyAgICAgICAgICAgIC8qICAgODQgKi8KKyAgX19JTyB1aW50MzJfdCBNTUNUR0ZNU0NDUjsKKyAgdWludDMyX3QgICAgICBSRVNFUlZFRDRbNV07CisgIF9fSU8gdWludDMyX3QgTU1DVEdGQ1I7CisgIHVpbnQzMl90ICAgICAgUkVTRVJWRUQ1WzEwXTsKKyAgX19JTyB1aW50MzJfdCBNTUNSRkNFQ1I7CisgIF9fSU8gdWludDMyX3QgTU1DUkZBRUNSOworICB1aW50MzJfdCAgICAgIFJFU0VSVkVENlsxMF07CisgIF9fSU8gdWludDMyX3QgTU1DUkdVRkNSOworICB1aW50MzJfdCAgICAgIFJFU0VSVkVEN1szMzRdOworICBfX0lPIHVpbnQzMl90IFBUUFRTQ1I7CisgIF9fSU8gdWludDMyX3QgUFRQU1NJUjsKKyAgX19JTyB1aW50MzJfdCBQVFBUU0hSOworICBfX0lPIHVpbnQzMl90IFBUUFRTTFI7CisgIF9fSU8gdWludDMyX3QgUFRQVFNIVVI7CisgIF9fSU8gdWludDMyX3QgUFRQVFNMVVI7CisgIF9fSU8gdWludDMyX3QgUFRQVFNBUjsKKyAgX19JTyB1aW50MzJfdCBQVFBUVEhSOworICBfX0lPIHVpbnQzMl90IFBUUFRUTFI7CisgIF9fSU8gdWludDMyX3QgUkVTRVJWRUQ4OworICBfX0lPIHVpbnQzMl90IFBUUFRTU1I7ICAvKiBhZGRlZCBmb3IgU1RNMzJGMnh4ICovCisgIHVpbnQzMl90ICAgICAgUkVTRVJWRUQ5WzU2NV07CisgIF9fSU8gdWludDMyX3QgRE1BQk1SOworICBfX0lPIHVpbnQzMl90IERNQVRQRFI7CisgIF9fSU8gdWludDMyX3QgRE1BUlBEUjsKKyAgX19JTyB1aW50MzJfdCBETUFSRExBUjsKKyAgX19JTyB1aW50MzJfdCBETUFURExBUjsKKyAgX19JTyB1aW50MzJfdCBETUFTUjsKKyAgX19JTyB1aW50MzJfdCBETUFPTVI7CisgIF9fSU8gdWludDMyX3QgRE1BSUVSOworICBfX0lPIHVpbnQzMl90IERNQU1GQk9DUjsKKyAgX19JTyB1aW50MzJfdCBETUFSU1dUUjsgIC8qIGFkZGVkIGZvciBTVE0zMkYyeHggKi8KKyAgdWludDMyX3QgICAgICBSRVNFUlZFRDEwWzhdOworICBfX0lPIHVpbnQzMl90IERNQUNIVERSOworICBfX0lPIHVpbnQzMl90IERNQUNIUkRSOworICBfX0lPIHVpbnQzMl90IERNQUNIVEJBUjsKKyAgX19JTyB1aW50MzJfdCBETUFDSFJCQVI7Cit9IEVUSF9UeXBlRGVmOworCisvKiogCisgICogQGJyaWVmIEV4dGVybmFsIEludGVycnVwdC9FdmVudCBDb250cm9sbGVyCisgICovCisKK3R5cGVkZWYgc3RydWN0Cit7CisgIF9fSU8gdWludDMyX3QgSU1SOyAgICAvKiE8IEVYVEkgSW50ZXJydXB0IG1hc2sgcmVnaXN0ZXIsICAgICAgICAgICAgQWRkcmVzcyBvZmZzZXQ6IDB4MDAgKi8KKyAgX19JTyB1aW50MzJfdCBFTVI7ICAgIC8qITwgRVhUSSBFdmVudCBtYXNrIHJlZ2lzdGVyLCAgICAgICAgICAgICAgICBBZGRyZXNzIG9mZnNldDogMHgwNCAqLworICBfX0lPIHVpbnQzMl90IFJUU1I7ICAgLyohPCBFWFRJIFJpc2luZyB0cmlnZ2VyIHNlbGVjdGlvbiByZWdpc3RlciwgIEFkZHJlc3Mgb2Zmc2V0OiAweDA4ICovCisgIF9fSU8gdWludDMyX3QgRlRTUjsgICAvKiE8IEVYVEkgRmFsbGluZyB0cmlnZ2VyIHNlbGVjdGlvbiByZWdpc3RlciwgQWRkcmVzcyBvZmZzZXQ6IDB4MEMgKi8KKyAgX19JTyB1aW50MzJfdCBTV0lFUjsgIC8qITwgRVhUSSBTb2Z0d2FyZSBpbnRlcnJ1cHQgZXZlbnQgcmVnaXN0ZXIsICBBZGRyZXNzIG9mZnNldDogMHgxMCAqLworICBfX0lPIHVpbnQzMl90IFBSOyAgICAgLyohPCBFWFRJIFBlbmRpbmcgcmVnaXN0ZXIsICAgICAgICAgICAgICAgICAgIEFkZHJlc3Mgb2Zmc2V0OiAweDE0ICovCit9IEVYVElfVHlwZURlZjsKKworLyoqIAorICAqIEBicmllZiBGTEFTSCBSZWdpc3RlcnMKKyAgKi8KKwordHlwZWRlZiBzdHJ1Y3QKK3sKKyAgX19JTyB1aW50MzJfdCBBQ1I7ICAgICAgLyohPCBGTEFTSCBhY2Nlc3MgY29udHJvbCByZWdpc3RlciwgQWRkcmVzcyBvZmZzZXQ6IDB4MDAgKi8KKyAgX19JTyB1aW50MzJfdCBLRVlSOyAgICAgLyohPCBGTEFTSCBrZXkgcmVnaXN0ZXIsICAgICAgICAgICAgQWRkcmVzcyBvZmZzZXQ6IDB4MDQgKi8KKyAgX19JTyB1aW50MzJfdCBPUFRLRVlSOyAgLyohPCBGTEFTSCBvcHRpb24ga2V5IHJlZ2lzdGVyLCAgICAgQWRkcmVzcyBvZmZzZXQ6IDB4MDggKi8KKyAgX19JTyB1aW50MzJfdCBTUjsgICAgICAgLyohPCBGTEFTSCBzdGF0dXMgcmVnaXN0ZXIsICAgICAgICAgQWRkcmVzcyBvZmZzZXQ6IDB4MEMgKi8KKyAgX19JTyB1aW50MzJfdCBDUjsgICAgICAgLyohPCBGTEFTSCBjb250cm9sIHJlZ2lzdGVyLCAgICAgICAgQWRkcmVzcyBvZmZzZXQ6IDB4MTAgKi8KKyAgX19JTyB1aW50MzJfdCBPUFRDUjsgICAgLyohPCBGTEFTSCBvcHRpb24gY29udHJvbCByZWdpc3RlciwgQWRkcmVzcyBvZmZzZXQ6IDB4MTQgKi8KK30gRkxBU0hfVHlwZURlZjsKKworLyoqIAorICAqIEBicmllZiBGbGV4aWJsZSBTdGF0aWMgTWVtb3J5IENvbnRyb2xsZXIKKyAgKi8KKwordHlwZWRlZiBzdHJ1Y3QKK3sKKyAgX19JTyB1aW50MzJfdCBCVENSWzhdOyAgICAvKiE8IE5PUi9QU1JBTSBjaGlwLXNlbGVjdCBjb250cm9sIHJlZ2lzdGVyKEJDUikgYW5kIGNoaXAtc2VsZWN0IHRpbWluZyByZWdpc3RlcihCVFIpLCBBZGRyZXNzIG9mZnNldDogMHgwMC0xQyAqLyAgIAorfSBGU01DX0JhbmsxX1R5cGVEZWY7IAorCisvKiogCisgICogQGJyaWVmIEZsZXhpYmxlIFN0YXRpYyBNZW1vcnkgQ29udHJvbGxlciBCYW5rMUUKKyAgKi8KKyAgCit0eXBlZGVmIHN0cnVjdAoreworICBfX0lPIHVpbnQzMl90IEJXVFJbN107ICAgIC8qITwgTk9SL1BTUkFNIHdyaXRlIHRpbWluZyByZWdpc3RlcnMsIEFkZHJlc3Mgb2Zmc2V0OiAweDEwNC0weDExQyAqLworfSBGU01DX0JhbmsxRV9UeXBlRGVmOworCisvKiogCisgICogQGJyaWVmIEZsZXhpYmxlIFN0YXRpYyBNZW1vcnkgQ29udHJvbGxlciBCYW5rMgorICAqLworICAKK3R5cGVkZWYgc3RydWN0Cit7CisgIF9fSU8gdWludDMyX3QgUENSMjsgICAgICAgLyohPCBOQU5EIEZsYXNoIGNvbnRyb2wgcmVnaXN0ZXIgMiwgICAgICAgICAgICAgICAgICAgICAgIEFkZHJlc3Mgb2Zmc2V0OiAweDYwICovCisgIF9fSU8gdWludDMyX3QgU1IyOyAgICAgICAgLyohPCBOQU5EIEZsYXNoIEZJRk8gc3RhdHVzIGFuZCBpbnRlcnJ1cHQgcmVnaXN0ZXIgMiwgICAgIEFkZHJlc3Mgb2Zmc2V0OiAweDY0ICovCisgIF9fSU8gdWludDMyX3QgUE1FTTI7ICAgICAgLyohPCBOQU5EIEZsYXNoIENvbW1vbiBtZW1vcnkgc3BhY2UgdGltaW5nIHJlZ2lzdGVyIDIsICAgIEFkZHJlc3Mgb2Zmc2V0OiAweDY4ICovCisgIF9fSU8gdWludDMyX3QgUEFUVDI7ICAgICAgLyohPCBOQU5EIEZsYXNoIEF0dHJpYnV0ZSBtZW1vcnkgc3BhY2UgdGltaW5nIHJlZ2lzdGVyIDIsIEFkZHJlc3Mgb2Zmc2V0OiAweDZDICovCisgIHVpbnQzMl90ICAgICAgUkVTRVJWRUQwOyAgLyohPCBSZXNlcnZlZCwgMHg3MCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICovCisgIF9fSU8gdWludDMyX3QgRUNDUjI7ICAgICAgLyohPCBOQU5EIEZsYXNoIEVDQyByZXN1bHQgcmVnaXN0ZXJzIDIsICAgICAgICAgICAgICAgICAgIEFkZHJlc3Mgb2Zmc2V0OiAweDc0ICovCit9IEZTTUNfQmFuazJfVHlwZURlZjsKKworLyoqIAorICAqIEBicmllZiBGbGV4aWJsZSBTdGF0aWMgTWVtb3J5IENvbnRyb2xsZXIgQmFuazMKKyAgKi8KKyAgCit0eXBlZGVmIHN0cnVjdAoreworICBfX0lPIHVpbnQzMl90IFBDUjM7ICAgICAgIC8qITwgTkFORCBGbGFzaCBjb250cm9sIHJlZ2lzdGVyIDMsICAgICAgICAgICAgICAgICAgICAgICBBZGRyZXNzIG9mZnNldDogMHg4MCAqLworICBfX0lPIHVpbnQzMl90IFNSMzsgICAgICAgIC8qITwgTkFORCBGbGFzaCBGSUZPIHN0YXR1cyBhbmQgaW50ZXJydXB0IHJlZ2lzdGVyIDMsICAgICBBZGRyZXNzIG9mZnNldDogMHg4NCAqLworICBfX0lPIHVpbnQzMl90IFBNRU0zOyAgICAgIC8qITwgTkFORCBGbGFzaCBDb21tb24gbWVtb3J5IHNwYWNlIHRpbWluZyByZWdpc3RlciAzLCAgICBBZGRyZXNzIG9mZnNldDogMHg4OCAqLworICBfX0lPIHVpbnQzMl90IFBBVFQzOyAgICAgIC8qITwgTkFORCBGbGFzaCBBdHRyaWJ1dGUgbWVtb3J5IHNwYWNlIHRpbWluZyByZWdpc3RlciAzLCBBZGRyZXNzIG9mZnNldDogMHg4QyAqLworICB1aW50MzJfdCAgICAgIFJFU0VSVkVEMDsgIC8qITwgUmVzZXJ2ZWQsIDB4OTAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqLworICBfX0lPIHVpbnQzMl90IEVDQ1IzOyAgICAgIC8qITwgTkFORCBGbGFzaCBFQ0MgcmVzdWx0IHJlZ2lzdGVycyAzLCAgICAgICAgICAgICAgICAgICBBZGRyZXNzIG9mZnNldDogMHg5NCAqLworfSBGU01DX0JhbmszX1R5cGVEZWY7CisKKy8qKiAKKyAgKiBAYnJpZWYgRmxleGlibGUgU3RhdGljIE1lbW9yeSBDb250cm9sbGVyIEJhbms0CisgICovCisgIAordHlwZWRlZiBzdHJ1Y3QKK3sKKyAgX19JTyB1aW50MzJfdCBQQ1I0OyAgICAgICAvKiE8IFBDIENhcmQgIGNvbnRyb2wgcmVnaXN0ZXIgNCwgICAgICAgICAgICAgICAgICAgICAgIEFkZHJlc3Mgb2Zmc2V0OiAweEEwICovCisgIF9fSU8gdWludDMyX3QgU1I0OyAgICAgICAgLyohPCBQQyBDYXJkICBGSUZPIHN0YXR1cyBhbmQgaW50ZXJydXB0IHJlZ2lzdGVyIDQsICAgICBBZGRyZXNzIG9mZnNldDogMHhBNCAqLworICBfX0lPIHVpbnQzMl90IFBNRU00OyAgICAgIC8qITwgUEMgQ2FyZCAgQ29tbW9uIG1lbW9yeSBzcGFjZSB0aW1pbmcgcmVnaXN0ZXIgNCwgICAgQWRkcmVzcyBvZmZzZXQ6IDB4QTggKi8KKyAgX19JTyB1aW50MzJfdCBQQVRUNDsgICAgICAvKiE8IFBDIENhcmQgIEF0dHJpYnV0ZSBtZW1vcnkgc3BhY2UgdGltaW5nIHJlZ2lzdGVyIDQsIEFkZHJlc3Mgb2Zmc2V0OiAweEFDICovCisgIF9fSU8gdWludDMyX3QgUElPNDsgICAgICAgLyohPCBQQyBDYXJkICBJL08gc3BhY2UgdGltaW5nIHJlZ2lzdGVyIDQsICAgICAgICAgICAgICBBZGRyZXNzIG9mZnNldDogMHhCMCAqLworfSBGU01DX0Jhbms0X1R5cGVEZWY7IAorCisvKiogCisgICogQGJyaWVmIEdlbmVyYWwgUHVycG9zZSBJL08KKyAgKi8KKwordHlwZWRlZiBzdHJ1Y3QKK3sKKyAgX19JTyB1aW50MzJfdCBNT0RFUjsgICAgLyohPCBHUElPIHBvcnQgbW9kZSByZWdpc3RlciwgICAgICAgICAgICAgICBBZGRyZXNzIG9mZnNldDogMHgwMCAgICAgICovCisgIF9fSU8gdWludDMyX3QgT1RZUEVSOyAgIC8qITwgR1BJTyBwb3J0IG91dHB1dCB0eXBlIHJlZ2lzdGVyLCAgICAgICAgQWRkcmVzcyBvZmZzZXQ6IDB4MDQgICAgICAqLworICBfX0lPIHVpbnQzMl90IE9TUEVFRFI7ICAvKiE8IEdQSU8gcG9ydCBvdXRwdXQgc3BlZWQgcmVnaXN0ZXIsICAgICAgIEFkZHJlc3Mgb2Zmc2V0OiAweDA4ICAgICAgKi8KKyAgX19JTyB1aW50MzJfdCBQVVBEUjsgICAgLyohPCBHUElPIHBvcnQgcHVsbC11cC9wdWxsLWRvd24gcmVnaXN0ZXIsICBBZGRyZXNzIG9mZnNldDogMHgwQyAgICAgICovCisgIF9fSU8gdWludDMyX3QgSURSOyAgICAgIC8qITwgR1BJTyBwb3J0IGlucHV0IGRhdGEgcmVnaXN0ZXIsICAgICAgICAgQWRkcmVzcyBvZmZzZXQ6IDB4MTAgICAgICAqLworICBfX0lPIHVpbnQzMl90IE9EUjsgICAgICAvKiE8IEdQSU8gcG9ydCBvdXRwdXQgZGF0YSByZWdpc3RlciwgICAgICAgIEFkZHJlc3Mgb2Zmc2V0OiAweDE0ICAgICAgKi8KKyAgX19JTyB1aW50MTZfdCBCU1JSTDsgICAgLyohPCBHUElPIHBvcnQgYml0IHNldC9yZXNldCBsb3cgcmVnaXN0ZXIsICBBZGRyZXNzIG9mZnNldDogMHgxOCAgICAgICovCisgIF9fSU8gdWludDE2X3QgQlNSUkg7ICAgIC8qITwgR1BJTyBwb3J0IGJpdCBzZXQvcmVzZXQgaGlnaCByZWdpc3RlciwgQWRkcmVzcyBvZmZzZXQ6IDB4MUEgICAgICAqLworICBfX0lPIHVpbnQzMl90IExDS1I7ICAgICAvKiE8IEdQSU8gcG9ydCBjb25maWd1cmF0aW9uIGxvY2sgcmVnaXN0ZXIsIEFkZHJlc3Mgb2Zmc2V0OiAweDFDICAgICAgKi8KKyAgX19JTyB1aW50MzJfdCBBRlJbMl07ICAgLyohPCBHUElPIGFsdGVybmF0ZSBmdW5jdGlvbiByZWdpc3RlcnMsICAgICBBZGRyZXNzIG9mZnNldDogMHgyNC0weDI4ICovCit9IEdQSU9fVHlwZURlZjsKKworLyoqIAorICAqIEBicmllZiBTeXN0ZW0gY29uZmlndXJhdGlvbiBjb250cm9sbGVyCisgICovCisgIAordHlwZWRlZiBzdHJ1Y3QKK3sKKyAgX19JTyB1aW50MzJfdCBNRU1STVA7ICAgICAgIC8qITwgU1lTQ0ZHIG1lbW9yeSByZW1hcCByZWdpc3RlciwgICAgICAgICAgICAgICAgICAgICAgQWRkcmVzcyBvZmZzZXQ6IDB4MDAgICAgICAqLworICBfX0lPIHVpbnQzMl90IFBNQzsgICAgICAgICAgLyohPCBTWVNDRkcgcGVyaXBoZXJhbCBtb2RlIGNvbmZpZ3VyYXRpb24gcmVnaXN0ZXIsICAgICBBZGRyZXNzIG9mZnNldDogMHgwNCAgICAgICovCisgIF9fSU8gdWludDMyX3QgRVhUSUNSWzRdOyAgICAvKiE8IFNZU0NGRyBleHRlcm5hbCBpbnRlcnJ1cHQgY29uZmlndXJhdGlvbiByZWdpc3RlcnMsIEFkZHJlc3Mgb2Zmc2V0OiAweDA4LTB4MTQgKi8KKyAgdWludDMyX3QgICAgICBSRVNFUlZFRFsyXTsgIC8qITwgUmVzZXJ2ZWQsIDB4MTgtMHgxQyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqLyAKKyAgX19JTyB1aW50MzJfdCBDTVBDUjsgICAgICAgIC8qITwgU1lTQ0ZHIENvbXBlbnNhdGlvbiBjZWxsIGNvbnRyb2wgcmVnaXN0ZXIsICAgICAgICAgQWRkcmVzcyBvZmZzZXQ6IDB4MjAgICAgICAqLworfSBTWVNDRkdfVHlwZURlZjsKKworLyoqIAorICAqIEBicmllZiBJbnRlci1pbnRlZ3JhdGVkIENpcmN1aXQgSW50ZXJmYWNlCisgICovCisKK3R5cGVkZWYgc3RydWN0Cit7CisgIF9fSU8gdWludDE2X3QgQ1IxOyAgICAgICAgLyohPCBJMkMgQ29udHJvbCByZWdpc3RlciAxLCAgICAgQWRkcmVzcyBvZmZzZXQ6IDB4MDAgKi8KKyAgdWludDE2X3QgICAgICBSRVNFUlZFRDA7ICAvKiE8IFJlc2VydmVkLCAweDAyICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqLworICBfX0lPIHVpbnQxNl90IENSMjsgICAgICAgIC8qITwgSTJDIENvbnRyb2wgcmVnaXN0ZXIgMiwgICAgIEFkZHJlc3Mgb2Zmc2V0OiAweDA0ICovCisgIHVpbnQxNl90ICAgICAgUkVTRVJWRUQxOyAgLyohPCBSZXNlcnZlZCwgMHgwNiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKi8KKyAgX19JTyB1aW50MTZfdCBPQVIxOyAgICAgICAvKiE8IEkyQyBPd24gYWRkcmVzcyByZWdpc3RlciAxLCBBZGRyZXNzIG9mZnNldDogMHgwOCAqLworICB1aW50MTZfdCAgICAgIFJFU0VSVkVEMjsgIC8qITwgUmVzZXJ2ZWQsIDB4MEEgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICovCisgIF9fSU8gdWludDE2X3QgT0FSMjsgICAgICAgLyohPCBJMkMgT3duIGFkZHJlc3MgcmVnaXN0ZXIgMiwgQWRkcmVzcyBvZmZzZXQ6IDB4MEMgKi8KKyAgdWludDE2X3QgICAgICBSRVNFUlZFRDM7ICAvKiE8IFJlc2VydmVkLCAweDBFICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqLworICBfX0lPIHVpbnQxNl90IERSOyAgICAgICAgIC8qITwgSTJDIERhdGEgcmVnaXN0ZXIsICAgICAgICAgIEFkZHJlc3Mgb2Zmc2V0OiAweDEwICovCisgIHVpbnQxNl90ICAgICAgUkVTRVJWRUQ0OyAgLyohPCBSZXNlcnZlZCwgMHgxMiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKi8KKyAgX19JTyB1aW50MTZfdCBTUjE7ICAgICAgICAvKiE8IEkyQyBTdGF0dXMgcmVnaXN0ZXIgMSwgICAgICBBZGRyZXNzIG9mZnNldDogMHgxNCAqLworICB1aW50MTZfdCAgICAgIFJFU0VSVkVENTsgIC8qITwgUmVzZXJ2ZWQsIDB4MTYgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICovCisgIF9fSU8gdWludDE2X3QgU1IyOyAgICAgICAgLyohPCBJMkMgU3RhdHVzIHJlZ2lzdGVyIDIsICAgICAgQWRkcmVzcyBvZmZzZXQ6IDB4MTggKi8KKyAgdWludDE2X3QgICAgICBSRVNFUlZFRDY7ICAvKiE8IFJlc2VydmVkLCAweDFBICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqLworICBfX0lPIHVpbnQxNl90IENDUjsgICAgICAgIC8qITwgSTJDIENsb2NrIGNvbnRyb2wgcmVnaXN0ZXIsIEFkZHJlc3Mgb2Zmc2V0OiAweDFDICovCisgIHVpbnQxNl90ICAgICAgUkVTRVJWRUQ3OyAgLyohPCBSZXNlcnZlZCwgMHgxRSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKi8KKyAgX19JTyB1aW50MTZfdCBUUklTRTsgICAgICAvKiE8IEkyQyBUUklTRSByZWdpc3RlciwgICAgICAgICBBZGRyZXNzIG9mZnNldDogMHgyMCAqLworICB1aW50MTZfdCAgICAgIFJFU0VSVkVEODsgIC8qITwgUmVzZXJ2ZWQsIDB4MjIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICovCit9IEkyQ19UeXBlRGVmOworCisvKiogCisgICogQGJyaWVmIEluZGVwZW5kZW50IFdBVENIRE9HCisgICovCisKK3R5cGVkZWYgc3RydWN0Cit7CisgIF9fSU8gdWludDMyX3QgS1I7ICAgLyohPCBJV0RHIEtleSByZWdpc3RlciwgICAgICAgQWRkcmVzcyBvZmZzZXQ6IDB4MDAgKi8KKyAgX19JTyB1aW50MzJfdCBQUjsgICAvKiE8IElXREcgUHJlc2NhbGVyIHJlZ2lzdGVyLCBBZGRyZXNzIG9mZnNldDogMHgwNCAqLworICBfX0lPIHVpbnQzMl90IFJMUjsgIC8qITwgSVdERyBSZWxvYWQgcmVnaXN0ZXIsICAgIEFkZHJlc3Mgb2Zmc2V0OiAweDA4ICovCisgIF9fSU8gdWludDMyX3QgU1I7ICAgLyohPCBJV0RHIFN0YXR1cyByZWdpc3RlciwgICAgQWRkcmVzcyBvZmZzZXQ6IDB4MEMgKi8KK30gSVdER19UeXBlRGVmOworCisvKiogCisgICogQGJyaWVmIFBvd2VyIENvbnRyb2wKKyAgKi8KKwordHlwZWRlZiBzdHJ1Y3QKK3sKKyAgX19JTyB1aW50MzJfdCBDUjsgICAvKiE8IFBXUiBwb3dlciBjb250cm9sIHJlZ2lzdGVyLCAgICAgICAgQWRkcmVzcyBvZmZzZXQ6IDB4MDAgKi8KKyAgX19JTyB1aW50MzJfdCBDU1I7ICAvKiE8IFBXUiBwb3dlciBjb250cm9sL3N0YXR1cyByZWdpc3RlciwgQWRkcmVzcyBvZmZzZXQ6IDB4MDQgKi8KK30gUFdSX1R5cGVEZWY7CisKKy8qKiAKKyAgKiBAYnJpZWYgUmVzZXQgYW5kIENsb2NrIENvbnRyb2wKKyAgKi8KKwordHlwZWRlZiBzdHJ1Y3QKK3sKKyAgX19JTyB1aW50MzJfdCBDUjsgICAgICAgICAgICAvKiE8IFJDQyBjbG9jayBjb250cm9sIHJlZ2lzdGVyLCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBBZGRyZXNzIG9mZnNldDogMHgwMCAqLworICBfX0lPIHVpbnQzMl90IFBMTENGR1I7ICAgICAgIC8qITwgUkNDIFBMTCBjb25maWd1cmF0aW9uIHJlZ2lzdGVyLCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEFkZHJlc3Mgb2Zmc2V0OiAweDA0ICovCisgIF9fSU8gdWludDMyX3QgQ0ZHUjsgICAgICAgICAgLyohPCBSQ0MgY2xvY2sgY29uZmlndXJhdGlvbiByZWdpc3RlciwgICAgICAgICAgICAgICAgICAgICAgICAgICAgQWRkcmVzcyBvZmZzZXQ6IDB4MDggKi8KKyAgX19JTyB1aW50MzJfdCBDSVI7ICAgICAgICAgICAvKiE8IFJDQyBjbG9jayBpbnRlcnJ1cHQgcmVnaXN0ZXIsICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBBZGRyZXNzIG9mZnNldDogMHgwQyAqLworICBfX0lPIHVpbnQzMl90IEFIQjFSU1RSOyAgICAgIC8qITwgUkNDIEFIQjEgcGVyaXBoZXJhbCByZXNldCByZWdpc3RlciwgICAgICAgICAgICAgICAgICAgICAgICAgIEFkZHJlc3Mgb2Zmc2V0OiAweDEwICovCisgIF9fSU8gdWludDMyX3QgQUhCMlJTVFI7ICAgICAgLyohPCBSQ0MgQUhCMiBwZXJpcGhlcmFsIHJlc2V0IHJlZ2lzdGVyLCAgICAgICAgICAgICAgICAgICAgICAgICAgQWRkcmVzcyBvZmZzZXQ6IDB4MTQgKi8KKyAgX19JTyB1aW50MzJfdCBBSEIzUlNUUjsgICAgICAvKiE8IFJDQyBBSEIzIHBlcmlwaGVyYWwgcmVzZXQgcmVnaXN0ZXIsICAgICAgICAgICAgICAgICAgICAgICAgICBBZGRyZXNzIG9mZnNldDogMHgxOCAqLworICB1aW50MzJfdCAgICAgIFJFU0VSVkVEMDsgICAgIC8qITwgUmVzZXJ2ZWQsIDB4MUMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICovCisgIF9fSU8gdWludDMyX3QgQVBCMVJTVFI7ICAgICAgLyohPCBSQ0MgQVBCMSBwZXJpcGhlcmFsIHJlc2V0IHJlZ2lzdGVyLCAgICAgICAgICAgICAgICAgICAgICAgICAgQWRkcmVzcyBvZmZzZXQ6IDB4MjAgKi8KKyAgX19JTyB1aW50MzJfdCBBUEIyUlNUUjsgICAgICAvKiE8IFJDQyBBUEIyIHBlcmlwaGVyYWwgcmVzZXQgcmVnaXN0ZXIsICAgICAgICAgICAgICAgICAgICAgICAgICBBZGRyZXNzIG9mZnNldDogMHgyNCAqLworICB1aW50MzJfdCAgICAgIFJFU0VSVkVEMVsyXTsgIC8qITwgUmVzZXJ2ZWQsIDB4MjgtMHgyQyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICovCisgIF9fSU8gdWludDMyX3QgQUhCMUVOUjsgICAgICAgLyohPCBSQ0MgQUhCMSBwZXJpcGhlcmFsIGNsb2NrIHJlZ2lzdGVyLCAgICAgICAgICAgICAgICAgICAgICAgICAgQWRkcmVzcyBvZmZzZXQ6IDB4MzAgKi8KKyAgX19JTyB1aW50MzJfdCBBSEIyRU5SOyAgICAgICAvKiE8IFJDQyBBSEIyIHBlcmlwaGVyYWwgY2xvY2sgcmVnaXN0ZXIsICAgICAgICAgICAgICAgICAgICAgICAgICBBZGRyZXNzIG9mZnNldDogMHgzNCAqLworICBfX0lPIHVpbnQzMl90IEFIQjNFTlI7ICAgICAgIC8qITwgUkNDIEFIQjMgcGVyaXBoZXJhbCBjbG9jayByZWdpc3RlciwgICAgICAgICAgICAgICAgICAgICAgICAgIEFkZHJlc3Mgb2Zmc2V0OiAweDM4ICovCisgIHVpbnQzMl90ICAgICAgUkVTRVJWRUQyOyAgICAgLyohPCBSZXNlcnZlZCwgMHgzQyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKi8KKyAgX19JTyB1aW50MzJfdCBBUEIxRU5SOyAgICAgICAvKiE8IFJDQyBBUEIxIHBlcmlwaGVyYWwgY2xvY2sgZW5hYmxlIHJlZ2lzdGVyLCAgICAgICAgICAgICAgICAgICBBZGRyZXNzIG9mZnNldDogMHg0MCAqLworICBfX0lPIHVpbnQzMl90IEFQQjJFTlI7ICAgICAgIC8qITwgUkNDIEFQQjIgcGVyaXBoZXJhbCBjbG9jayBlbmFibGUgcmVnaXN0ZXIsICAgICAgICAgICAgICAgICAgIEFkZHJlc3Mgb2Zmc2V0OiAweDQ0ICovCisgIHVpbnQzMl90ICAgICAgUkVTRVJWRUQzWzJdOyAgLyohPCBSZXNlcnZlZCwgMHg0OC0weDRDICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKi8KKyAgX19JTyB1aW50MzJfdCBBSEIxTFBFTlI7ICAgICAvKiE8IFJDQyBBSEIxIHBlcmlwaGVyYWwgY2xvY2sgZW5hYmxlIGluIGxvdyBwb3dlciBtb2RlIHJlZ2lzdGVyLCBBZGRyZXNzIG9mZnNldDogMHg1MCAqLworICBfX0lPIHVpbnQzMl90IEFIQjJMUEVOUjsgICAgIC8qITwgUkNDIEFIQjIgcGVyaXBoZXJhbCBjbG9jayBlbmFibGUgaW4gbG93IHBvd2VyIG1vZGUgcmVnaXN0ZXIsIEFkZHJlc3Mgb2Zmc2V0OiAweDU0ICovCisgIF9fSU8gdWludDMyX3QgQUhCM0xQRU5SOyAgICAgLyohPCBSQ0MgQUhCMyBwZXJpcGhlcmFsIGNsb2NrIGVuYWJsZSBpbiBsb3cgcG93ZXIgbW9kZSByZWdpc3RlciwgQWRkcmVzcyBvZmZzZXQ6IDB4NTggKi8KKyAgdWludDMyX3QgICAgICBSRVNFUlZFRDQ7ICAgICAvKiE8IFJlc2VydmVkLCAweDVDICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqLworICBfX0lPIHVpbnQzMl90IEFQQjFMUEVOUjsgICAgIC8qITwgUkNDIEFQQjEgcGVyaXBoZXJhbCBjbG9jayBlbmFibGUgaW4gbG93IHBvd2VyIG1vZGUgcmVnaXN0ZXIsIEFkZHJlc3Mgb2Zmc2V0OiAweDYwICovCisgIF9fSU8gdWludDMyX3QgQVBCMkxQRU5SOyAgICAgLyohPCBSQ0MgQVBCMiBwZXJpcGhlcmFsIGNsb2NrIGVuYWJsZSBpbiBsb3cgcG93ZXIgbW9kZSByZWdpc3RlciwgQWRkcmVzcyBvZmZzZXQ6IDB4NjQgKi8KKyAgdWludDMyX3QgICAgICBSRVNFUlZFRDVbMl07ICAvKiE8IFJlc2VydmVkLCAweDY4LTB4NkMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqLworICBfX0lPIHVpbnQzMl90IEJEQ1I7ICAgICAgICAgIC8qITwgUkNDIEJhY2t1cCBkb21haW4gY29udHJvbCByZWdpc3RlciwgICAgICAgICAgICAgICAgICAgICAgICAgIEFkZHJlc3Mgb2Zmc2V0OiAweDcwICovCisgIF9fSU8gdWludDMyX3QgQ1NSOyAgICAgICAgICAgLyohPCBSQ0MgY2xvY2sgY29udHJvbCAmIHN0YXR1cyByZWdpc3RlciwgICAgICAgICAgICAgICAgICAgICAgICAgQWRkcmVzcyBvZmZzZXQ6IDB4NzQgKi8KKyAgdWludDMyX3QgICAgICBSRVNFUlZFRDZbMl07ICAvKiE8IFJlc2VydmVkLCAweDc4LTB4N0MgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqLworICBfX0lPIHVpbnQzMl90IFNTQ0dSOyAgICAgICAgIC8qITwgUkNDIHNwcmVhZCBzcGVjdHJ1bSBjbG9jayBnZW5lcmF0aW9uIHJlZ2lzdGVyLCAgICAgICAgICAgICAgIEFkZHJlc3Mgb2Zmc2V0OiAweDgwICovCisgIF9fSU8gdWludDMyX3QgUExMSTJTQ0ZHUjsgICAgLyohPCBSQ0MgUExMSTJTIGNvbmZpZ3VyYXRpb24gcmVnaXN0ZXIsICAgICAgICAgICAgICAgICAgICAgICAgICAgQWRkcmVzcyBvZmZzZXQ6IDB4ODQgKi8KK30gUkNDX1R5cGVEZWY7CisKKy8qKiAKKyAgKiBAYnJpZWYgUmVhbC1UaW1lIENsb2NrCisgICovCisKK3R5cGVkZWYgc3RydWN0Cit7CisgIF9fSU8gdWludDMyX3QgVFI7ICAgICAgLyohPCBSVEMgdGltZSByZWdpc3RlciwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQWRkcmVzcyBvZmZzZXQ6IDB4MDAgKi8KKyAgX19JTyB1aW50MzJfdCBEUjsgICAgICAvKiE8IFJUQyBkYXRlIHJlZ2lzdGVyLCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBBZGRyZXNzIG9mZnNldDogMHgwNCAqLworICBfX0lPIHVpbnQzMl90IENSOyAgICAgIC8qITwgUlRDIGNvbnRyb2wgcmVnaXN0ZXIsICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEFkZHJlc3Mgb2Zmc2V0OiAweDA4ICovCisgIF9fSU8gdWludDMyX3QgSVNSOyAgICAgLyohPCBSVEMgaW5pdGlhbGl6YXRpb24gYW5kIHN0YXR1cyByZWdpc3RlciwgICAgICAgICAgICAgICAgICAgQWRkcmVzcyBvZmZzZXQ6IDB4MEMgKi8KKyAgX19JTyB1aW50MzJfdCBQUkVSOyAgICAvKiE8IFJUQyBwcmVzY2FsZXIgcmVnaXN0ZXIsICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBBZGRyZXNzIG9mZnNldDogMHgxMCAqLworICBfX0lPIHVpbnQzMl90IFdVVFI7ICAgIC8qITwgUlRDIHdha2V1cCB0aW1lciByZWdpc3RlciwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEFkZHJlc3Mgb2Zmc2V0OiAweDE0ICovCisgIF9fSU8gdWludDMyX3QgQ0FMSUJSOyAgLyohPCBSVEMgY2FsaWJyYXRpb24gcmVnaXN0ZXIsICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQWRkcmVzcyBvZmZzZXQ6IDB4MTggKi8KKyAgX19JTyB1aW50MzJfdCBBTFJNQVI7ICAvKiE8IFJUQyBhbGFybSBBIHJlZ2lzdGVyLCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBBZGRyZXNzIG9mZnNldDogMHgxQyAqLworICBfX0lPIHVpbnQzMl90IEFMUk1CUjsgIC8qITwgUlRDIGFsYXJtIEIgcmVnaXN0ZXIsICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEFkZHJlc3Mgb2Zmc2V0OiAweDIwICovCisgIF9fSU8gdWludDMyX3QgV1BSOyAgICAgLyohPCBSVEMgd3JpdGUgcHJvdGVjdGlvbiByZWdpc3RlciwgICAgICAgICAgICAgICAgICAgICAgICAgICAgQWRkcmVzcyBvZmZzZXQ6IDB4MjQgKi8KKyAgdWludDMyX3QgUkVTRVJWRUQxOyAgICAvKiE8IFJlc2VydmVkLCAweDI4ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqLworICB1aW50MzJfdCBSRVNFUlZFRDI7ICAgIC8qITwgUmVzZXJ2ZWQsIDB4MkMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICovCisgIF9fSU8gdWludDMyX3QgVFNUUjsgICAgLyohPCBSVEMgdGltZSBzdGFtcCB0aW1lIHJlZ2lzdGVyLCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQWRkcmVzcyBvZmZzZXQ6IDB4MzAgKi8KKyAgX19JTyB1aW50MzJfdCBUU0RSOyAgICAvKiE8IFJUQyB0aW1lIHN0YW1wIGRhdGUgcmVnaXN0ZXIsICAgICAgICAgICAgICAgICAgICAgICAgICAgICBBZGRyZXNzIG9mZnNldDogMHgzNCAqLworICB1aW50MzJfdCBSRVNFUlZFRDM7ICAgIC8qITwgUmVzZXJ2ZWQsIDB4MzggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICovCisgIHVpbnQzMl90IFJFU0VSVkVENDsgICAgLyohPCBSZXNlcnZlZCwgMHgzQyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKi8KKyAgX19JTyB1aW50MzJfdCBUQUZDUjsgICAvKiE8IFJUQyB0YW1wZXIgYW5kIGFsdGVybmF0ZSBmdW5jdGlvbiBjb25maWd1cmF0aW9uIHJlZ2lzdGVyLCBBZGRyZXNzIG9mZnNldDogMHg0MCAqLworICB1aW50MzJfdCBSRVNFUlZFRDU7ICAgIC8qITwgUmVzZXJ2ZWQsIDB4NDQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICovCisgIHVpbnQzMl90IFJFU0VSVkVENjsgICAgLyohPCBSZXNlcnZlZCwgMHg0OCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKi8KKyAgdWludDMyX3QgUkVTRVJWRUQ3OyAgICAvKiE8IFJlc2VydmVkLCAweDRDICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqLworICBfX0lPIHVpbnQzMl90IEJLUDBSOyAgIC8qITwgUlRDIGJhY2t1cCByZWdpc3RlciAxLCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEFkZHJlc3Mgb2Zmc2V0OiAweDUwICovCisgIF9fSU8gdWludDMyX3QgQktQMVI7ICAgLyohPCBSVEMgYmFja3VwIHJlZ2lzdGVyIDEsICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQWRkcmVzcyBvZmZzZXQ6IDB4NTQgKi8KKyAgX19JTyB1aW50MzJfdCBCS1AyUjsgICAvKiE8IFJUQyBiYWNrdXAgcmVnaXN0ZXIgMiwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBBZGRyZXNzIG9mZnNldDogMHg1OCAqLworICBfX0lPIHVpbnQzMl90IEJLUDNSOyAgIC8qITwgUlRDIGJhY2t1cCByZWdpc3RlciAzLCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEFkZHJlc3Mgb2Zmc2V0OiAweDVDICovCisgIF9fSU8gdWludDMyX3QgQktQNFI7ICAgLyohPCBSVEMgYmFja3VwIHJlZ2lzdGVyIDQsICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQWRkcmVzcyBvZmZzZXQ6IDB4NjAgKi8KKyAgX19JTyB1aW50MzJfdCBCS1A1UjsgICAvKiE8IFJUQyBiYWNrdXAgcmVnaXN0ZXIgNSwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBBZGRyZXNzIG9mZnNldDogMHg2NCAqLworICBfX0lPIHVpbnQzMl90IEJLUDZSOyAgIC8qITwgUlRDIGJhY2t1cCByZWdpc3RlciA2LCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEFkZHJlc3Mgb2Zmc2V0OiAweDY4ICovCisgIF9fSU8gdWludDMyX3QgQktQN1I7ICAgLyohPCBSVEMgYmFja3VwIHJlZ2lzdGVyIDcsICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQWRkcmVzcyBvZmZzZXQ6IDB4NkMgKi8KKyAgX19JTyB1aW50MzJfdCBCS1A4UjsgICAvKiE8IFJUQyBiYWNrdXAgcmVnaXN0ZXIgOCwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBBZGRyZXNzIG9mZnNldDogMHg3MCAqLworICBfX0lPIHVpbnQzMl90IEJLUDlSOyAgIC8qITwgUlRDIGJhY2t1cCByZWdpc3RlciA5LCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEFkZHJlc3Mgb2Zmc2V0OiAweDc0ICovCisgIF9fSU8gdWludDMyX3QgQktQMTBSOyAgLyohPCBSVEMgYmFja3VwIHJlZ2lzdGVyIDEwLCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQWRkcmVzcyBvZmZzZXQ6IDB4NzggKi8KKyAgX19JTyB1aW50MzJfdCBCS1AxMVI7ICAvKiE8IFJUQyBiYWNrdXAgcmVnaXN0ZXIgMTEsICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBBZGRyZXNzIG9mZnNldDogMHg3QyAqLworICBfX0lPIHVpbnQzMl90IEJLUDEyUjsgIC8qITwgUlRDIGJhY2t1cCByZWdpc3RlciAxMiwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEFkZHJlc3Mgb2Zmc2V0OiAweDgwICovCisgIF9fSU8gdWludDMyX3QgQktQMTNSOyAgLyohPCBSVEMgYmFja3VwIHJlZ2lzdGVyIDEzLCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQWRkcmVzcyBvZmZzZXQ6IDB4ODQgKi8KKyAgX19JTyB1aW50MzJfdCBCS1AxNFI7ICAvKiE8IFJUQyBiYWNrdXAgcmVnaXN0ZXIgMTQsICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBBZGRyZXNzIG9mZnNldDogMHg4OCAqLworICBfX0lPIHVpbnQzMl90IEJLUDE1UjsgIC8qITwgUlRDIGJhY2t1cCByZWdpc3RlciAxNSwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEFkZHJlc3Mgb2Zmc2V0OiAweDhDICovCisgIF9fSU8gdWludDMyX3QgQktQMTZSOyAgLyohPCBSVEMgYmFja3VwIHJlZ2lzdGVyIDE2LCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQWRkcmVzcyBvZmZzZXQ6IDB4OTAgKi8KKyAgX19JTyB1aW50MzJfdCBCS1AxN1I7ICAvKiE8IFJUQyBiYWNrdXAgcmVnaXN0ZXIgMTcsICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBBZGRyZXNzIG9mZnNldDogMHg5NCAqLworICBfX0lPIHVpbnQzMl90IEJLUDE4UjsgIC8qITwgUlRDIGJhY2t1cCByZWdpc3RlciAxOCwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEFkZHJlc3Mgb2Zmc2V0OiAweDk4ICovCisgIF9fSU8gdWludDMyX3QgQktQMTlSOyAgLyohPCBSVEMgYmFja3VwIHJlZ2lzdGVyIDE5LCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQWRkcmVzcyBvZmZzZXQ6IDB4OUMgKi8KK30gUlRDX1R5cGVEZWY7CisKKy8qKiAKKyAgKiBAYnJpZWYgU0QgaG9zdCBJbnRlcmZhY2UKKyAgKi8KKwordHlwZWRlZiBzdHJ1Y3QKK3sKKyAgX19JTyB1aW50MzJfdCBQT1dFUjsgICAgICAgICAgLyohPCBTRElPIHBvd2VyIGNvbnRyb2wgcmVnaXN0ZXIsICAgIEFkZHJlc3Mgb2Zmc2V0OiAweDAwICovCisgIF9fSU8gdWludDMyX3QgQ0xLQ1I7ICAgICAgICAgIC8qITwgU0RJIGNsb2NrIGNvbnRyb2wgcmVnaXN0ZXIsICAgICBBZGRyZXNzIG9mZnNldDogMHgwNCAqLworICBfX0lPIHVpbnQzMl90IEFSRzsgICAgICAgICAgICAvKiE8IFNESU8gYXJndW1lbnQgcmVnaXN0ZXIsICAgICAgICAgQWRkcmVzcyBvZmZzZXQ6IDB4MDggKi8KKyAgX19JTyB1aW50MzJfdCBDTUQ7ICAgICAgICAgICAgLyohPCBTRElPIGNvbW1hbmQgcmVnaXN0ZXIsICAgICAgICAgIEFkZHJlc3Mgb2Zmc2V0OiAweDBDICovCisgIF9fSSB1aW50MzJfdCAgUkVTUENNRDsgICAgICAgIC8qITwgU0RJTyBjb21tYW5kIHJlc3BvbnNlIHJlZ2lzdGVyLCBBZGRyZXNzIG9mZnNldDogMHgxMCAqLworICBfX0kgdWludDMyX3QgIFJFU1AxOyAgICAgICAgICAvKiE8IFNESU8gcmVzcG9uc2UgMSByZWdpc3RlciwgICAgICAgQWRkcmVzcyBvZmZzZXQ6IDB4MTQgKi8KKyAgX19JIHVpbnQzMl90ICBSRVNQMjsgICAgICAgICAgLyohPCBTRElPIHJlc3BvbnNlIDIgcmVnaXN0ZXIsICAgICAgIEFkZHJlc3Mgb2Zmc2V0OiAweDE4ICovCisgIF9fSSB1aW50MzJfdCAgUkVTUDM7ICAgICAgICAgIC8qITwgU0RJTyByZXNwb25zZSAzIHJlZ2lzdGVyLCAgICAgICBBZGRyZXNzIG9mZnNldDogMHgxQyAqLworICBfX0kgdWludDMyX3QgIFJFU1A0OyAgICAgICAgICAvKiE8IFNESU8gcmVzcG9uc2UgNCByZWdpc3RlciwgICAgICAgQWRkcmVzcyBvZmZzZXQ6IDB4MjAgKi8KKyAgX19JTyB1aW50MzJfdCBEVElNRVI7ICAgICAgICAgLyohPCBTRElPIGRhdGEgdGltZXIgcmVnaXN0ZXIsICAgICAgIEFkZHJlc3Mgb2Zmc2V0OiAweDI0ICovCisgIF9fSU8gdWludDMyX3QgRExFTjsgICAgICAgICAgIC8qITwgU0RJTyBkYXRhIGxlbmd0aCByZWdpc3RlciwgICAgICBBZGRyZXNzIG9mZnNldDogMHgyOCAqLworICBfX0lPIHVpbnQzMl90IERDVFJMOyAgICAgICAgICAvKiE8IFNESU8gZGF0YSBjb250cm9sIHJlZ2lzdGVyLCAgICAgQWRkcmVzcyBvZmZzZXQ6IDB4MkMgKi8KKyAgX19JIHVpbnQzMl90ICBEQ09VTlQ7ICAgICAgICAgLyohPCBTRElPIGRhdGEgY291bnRlciByZWdpc3RlciwgICAgIEFkZHJlc3Mgb2Zmc2V0OiAweDMwICovCisgIF9fSSB1aW50MzJfdCAgU1RBOyAgICAgICAgICAgIC8qITwgU0RJTyBzdGF0dXMgcmVnaXN0ZXIsICAgICAgICAgICBBZGRyZXNzIG9mZnNldDogMHgzNCAqLworICBfX0lPIHVpbnQzMl90IElDUjsgICAgICAgICAgICAvKiE8IFNESU8gaW50ZXJydXB0IGNsZWFyIHJlZ2lzdGVyLCAgQWRkcmVzcyBvZmZzZXQ6IDB4MzggKi8KKyAgX19JTyB1aW50MzJfdCBNQVNLOyAgICAgICAgICAgLyohPCBTRElPIG1hc2sgcmVnaXN0ZXIsICAgICAgICAgICAgIEFkZHJlc3Mgb2Zmc2V0OiAweDNDICovCisgIHVpbnQzMl90ICAgICAgUkVTRVJWRUQwWzJdOyAgIC8qITwgUmVzZXJ2ZWQsIDB4NDAtMHg0NCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqLworICBfX0kgdWludDMyX3QgIEZJRk9DTlQ7ICAgICAgICAvKiE8IFNESU8gRklGTyBjb3VudGVyIHJlZ2lzdGVyLCAgICAgQWRkcmVzcyBvZmZzZXQ6IDB4NDggKi8KKyAgdWludDMyX3QgICAgICBSRVNFUlZFRDFbMTNdOyAgLyohPCBSZXNlcnZlZCwgMHg0Qy0weDdDICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICovCisgIF9fSU8gdWludDMyX3QgRklGTzsgICAgICAgICAgIC8qITwgU0RJTyBkYXRhIEZJRk8gcmVnaXN0ZXIsICAgICAgICBBZGRyZXNzIG9mZnNldDogMHg4MCAqLworfSBTRElPX1R5cGVEZWY7CisKKy8qKiAKKyAgKiBAYnJpZWYgU2VyaWFsIFBlcmlwaGVyYWwgSW50ZXJmYWNlCisgICovCisKK3R5cGVkZWYgc3RydWN0Cit7CisgIF9fSU8gdWludDE2X3QgQ1IxOyAgICAgICAgLyohPCBTUEkgY29udHJvbCByZWdpc3RlciAxIChub3QgdXNlZCBpbiBJMlMgbW9kZSksICAgICAgQWRkcmVzcyBvZmZzZXQ6IDB4MDAgKi8KKyAgdWludDE2X3QgICAgICBSRVNFUlZFRDA7ICAvKiE8IFJlc2VydmVkLCAweDAyICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqLworICBfX0lPIHVpbnQxNl90IENSMjsgICAgICAgIC8qITwgU1BJIGNvbnRyb2wgcmVnaXN0ZXIgMiwgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEFkZHJlc3Mgb2Zmc2V0OiAweDA0ICovCisgIHVpbnQxNl90ICAgICAgUkVTRVJWRUQxOyAgLyohPCBSZXNlcnZlZCwgMHgwNiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKi8KKyAgX19JTyB1aW50MTZfdCBTUjsgICAgICAgICAvKiE8IFNQSSBzdGF0dXMgcmVnaXN0ZXIsICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBBZGRyZXNzIG9mZnNldDogMHgwOCAqLworICB1aW50MTZfdCAgICAgIFJFU0VSVkVEMjsgIC8qITwgUmVzZXJ2ZWQsIDB4MEEgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICovCisgIF9fSU8gdWludDE2X3QgRFI7ICAgICAgICAgLyohPCBTUEkgZGF0YSByZWdpc3RlciwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQWRkcmVzcyBvZmZzZXQ6IDB4MEMgKi8KKyAgdWludDE2X3QgICAgICBSRVNFUlZFRDM7ICAvKiE8IFJlc2VydmVkLCAweDBFICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqLworICBfX0lPIHVpbnQxNl90IENSQ1BSOyAgICAgIC8qITwgU1BJIENSQyBwb2x5bm9taWFsIHJlZ2lzdGVyIChub3QgdXNlZCBpbiBJMlMgbW9kZSksIEFkZHJlc3Mgb2Zmc2V0OiAweDEwICovCisgIHVpbnQxNl90ICAgICAgUkVTRVJWRUQ0OyAgLyohPCBSZXNlcnZlZCwgMHgxMiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKi8KKyAgX19JTyB1aW50MTZfdCBSWENSQ1I7ICAgICAvKiE8IFNQSSBSWCBDUkMgcmVnaXN0ZXIgKG5vdCB1c2VkIGluIEkyUyBtb2RlKSwgICAgICAgICBBZGRyZXNzIG9mZnNldDogMHgxNCAqLworICB1aW50MTZfdCAgICAgIFJFU0VSVkVENTsgIC8qITwgUmVzZXJ2ZWQsIDB4MTYgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICovCisgIF9fSU8gdWludDE2X3QgVFhDUkNSOyAgICAgLyohPCBTUEkgVFggQ1JDIHJlZ2lzdGVyIChub3QgdXNlZCBpbiBJMlMgbW9kZSksICAgICAgICAgQWRkcmVzcyBvZmZzZXQ6IDB4MTggKi8KKyAgdWludDE2X3QgICAgICBSRVNFUlZFRDY7ICAvKiE8IFJlc2VydmVkLCAweDFBICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqLworICBfX0lPIHVpbnQxNl90IEkyU0NGR1I7ICAgIC8qITwgU1BJX0kyUyBjb25maWd1cmF0aW9uIHJlZ2lzdGVyLCAgICAgICAgICAgICAgICAgICAgIEFkZHJlc3Mgb2Zmc2V0OiAweDFDICovCisgIHVpbnQxNl90ICAgICAgUkVTRVJWRUQ3OyAgLyohPCBSZXNlcnZlZCwgMHgxRSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKi8KKyAgX19JTyB1aW50MTZfdCBJMlNQUjsgICAgICAvKiE8IFNQSV9JMlMgcHJlc2NhbGVyIHJlZ2lzdGVyLCAgICAgICAgICAgICAgICAgICAgICAgICBBZGRyZXNzIG9mZnNldDogMHgyMCAqLworICB1aW50MTZfdCAgICAgIFJFU0VSVkVEODsgIC8qITwgUmVzZXJ2ZWQsIDB4MjIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICovCit9IFNQSV9UeXBlRGVmOworCit0eXBlZGVmIHN0cnVjdAoreworICBfX0lPIHVpbnQxNl90IENSMTsgICAgICAgICAvKiE8IFRJTSBjb250cm9sIHJlZ2lzdGVyIDEsICAgICAgICAgICAgICBBZGRyZXNzIG9mZnNldDogMHgwMCAqLworICB1aW50MTZfdCAgICAgIFJFU0VSVkVEMDsgICAvKiE8IFJlc2VydmVkLCAweDAyICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqLworICBfX0lPIHVpbnQxNl90IENSMjsgICAgICAgICAvKiE8IFRJTSBjb250cm9sIHJlZ2lzdGVyIDIsICAgICAgICAgICAgICBBZGRyZXNzIG9mZnNldDogMHgwNCAqLworICB1aW50MTZfdCAgICAgIFJFU0VSVkVEMTsgICAvKiE8IFJlc2VydmVkLCAweDA2ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqLworICBfX0lPIHVpbnQxNl90IFNNQ1I7ICAgICAgICAvKiE8IFRJTSBzbGF2ZSBtb2RlIGNvbnRyb2wgcmVnaXN0ZXIsICAgICBBZGRyZXNzIG9mZnNldDogMHgwOCAqLworICB1aW50MTZfdCAgICAgIFJFU0VSVkVEMjsgICAvKiE8IFJlc2VydmVkLCAweDBBICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqLworICBfX0lPIHVpbnQxNl90IERJRVI7ICAgICAgICAvKiE8IFRJTSBETUEvaW50ZXJydXB0IGVuYWJsZSByZWdpc3RlciwgICBBZGRyZXNzIG9mZnNldDogMHgwQyAqLworICB1aW50MTZfdCAgICAgIFJFU0VSVkVEMzsgICAvKiE8IFJlc2VydmVkLCAweDBFICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqLworICBfX0lPIHVpbnQxNl90IFNSOyAgICAgICAgICAvKiE8IFRJTSBzdGF0dXMgcmVnaXN0ZXIsICAgICAgICAgICAgICAgICBBZGRyZXNzIG9mZnNldDogMHgxMCAqLworICB1aW50MTZfdCAgICAgIFJFU0VSVkVENDsgICAvKiE8IFJlc2VydmVkLCAweDEyICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqLworICBfX0lPIHVpbnQxNl90IEVHUjsgICAgICAgICAvKiE8IFRJTSBldmVudCBnZW5lcmF0aW9uIHJlZ2lzdGVyLCAgICAgICBBZGRyZXNzIG9mZnNldDogMHgxNCAqLworICB1aW50MTZfdCAgICAgIFJFU0VSVkVENTsgICAvKiE8IFJlc2VydmVkLCAweDE2ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqLworICBfX0lPIHVpbnQxNl90IENDTVIxOyAgICAgICAvKiE8IFRJTSBjYXB0dXJlL2NvbXBhcmUgbW9kZSByZWdpc3RlciAxLCBBZGRyZXNzIG9mZnNldDogMHgxOCAqLworICB1aW50MTZfdCAgICAgIFJFU0VSVkVENjsgICAvKiE8IFJlc2VydmVkLCAweDFBICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqLworICBfX0lPIHVpbnQxNl90IENDTVIyOyAgICAgICAvKiE8IFRJTSBjYXB0dXJlL2NvbXBhcmUgbW9kZSByZWdpc3RlciAyLCBBZGRyZXNzIG9mZnNldDogMHgxQyAqLworICB1aW50MTZfdCAgICAgIFJFU0VSVkVENzsgICAvKiE8IFJlc2VydmVkLCAweDFFICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqLworICBfX0lPIHVpbnQxNl90IENDRVI7ICAgICAgICAvKiE8IFRJTSBjYXB0dXJlL2NvbXBhcmUgZW5hYmxlIHJlZ2lzdGVyLCBBZGRyZXNzIG9mZnNldDogMHgyMCAqLworICB1aW50MTZfdCAgICAgIFJFU0VSVkVEODsgICAvKiE8IFJlc2VydmVkLCAweDIyICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqLworICBfX0lPIHVpbnQzMl90IENOVDsgICAgICAgICAvKiE8IFRJTSBjb3VudGVyIHJlZ2lzdGVyLCAgICAgICAgICAgICAgICBBZGRyZXNzIG9mZnNldDogMHgyNCAqLworICBfX0lPIHVpbnQxNl90IFBTQzsgICAgICAgICAvKiE8IFRJTSBwcmVzY2FsZXIsICAgICAgICAgICAgICAgICAgICAgICBBZGRyZXNzIG9mZnNldDogMHgyOCAqLworICB1aW50MTZfdCAgICAgIFJFU0VSVkVEOTsgICAvKiE8IFJlc2VydmVkLCAweDJBICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqLworICBfX0lPIHVpbnQzMl90IEFSUjsgICAgICAgICAvKiE8IFRJTSBhdXRvLXJlbG9hZCByZWdpc3RlciwgICAgICAgICAgICBBZGRyZXNzIG9mZnNldDogMHgyQyAqLworICBfX0lPIHVpbnQxNl90IFJDUjsgICAgICAgICAvKiE8IFRJTSByZXBldGl0aW9uIGNvdW50ZXIgcmVnaXN0ZXIsICAgICBBZGRyZXNzIG9mZnNldDogMHgzMCAqLworICB1aW50MTZfdCAgICAgIFJFU0VSVkVEMTA7ICAvKiE8IFJlc2VydmVkLCAweDMyICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqLworICBfX0lPIHVpbnQzMl90IENDUjE7ICAgICAgICAvKiE8IFRJTSBjYXB0dXJlL2NvbXBhcmUgcmVnaXN0ZXIgMSwgICAgICBBZGRyZXNzIG9mZnNldDogMHgzNCAqLworICBfX0lPIHVpbnQzMl90IENDUjI7ICAgICAgICAvKiE8IFRJTSBjYXB0dXJlL2NvbXBhcmUgcmVnaXN0ZXIgMiwgICAgICBBZGRyZXNzIG9mZnNldDogMHgzOCAqLworICBfX0lPIHVpbnQzMl90IENDUjM7ICAgICAgICAvKiE8IFRJTSBjYXB0dXJlL2NvbXBhcmUgcmVnaXN0ZXIgMywgICAgICBBZGRyZXNzIG9mZnNldDogMHgzQyAqLworICBfX0lPIHVpbnQzMl90IENDUjQ7ICAgICAgICAvKiE8IFRJTSBjYXB0dXJlL2NvbXBhcmUgcmVnaXN0ZXIgNCwgICAgICBBZGRyZXNzIG9mZnNldDogMHg0MCAqLworICBfX0lPIHVpbnQxNl90IEJEVFI7ICAgICAgICAvKiE8IFRJTSBicmVhayBhbmQgZGVhZC10aW1lIHJlZ2lzdGVyLCAgICBBZGRyZXNzIG9mZnNldDogMHg0NCAqLworICB1aW50MTZfdCAgICAgIFJFU0VSVkVEMTE7ICAvKiE8IFJlc2VydmVkLCAweDQ2ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqLworICBfX0lPIHVpbnQxNl90IERDUjsgICAgICAgICAvKiE8IFRJTSBETUEgY29udHJvbCByZWdpc3RlciwgICAgICAgICAgICBBZGRyZXNzIG9mZnNldDogMHg0OCAqLworICB1aW50MTZfdCAgICAgIFJFU0VSVkVEMTI7ICAvKiE8IFJlc2VydmVkLCAweDRBICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqLworICBfX0lPIHVpbnQxNl90IERNQVI7ICAgICAgICAvKiE8IFRJTSBETUEgYWRkcmVzcyBmb3IgZnVsbCB0cmFuc2ZlciwgICBBZGRyZXNzIG9mZnNldDogMHg0QyAqLworICB1aW50MTZfdCAgICAgIFJFU0VSVkVEMTM7ICAvKiE8IFJlc2VydmVkLCAweDRFICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqLworICBfX0lPIHVpbnQxNl90IE9SOyAgICAgICAgICAvKiE8IFRJTSBvcHRpb24gcmVnaXN0ZXIsICAgICAgICAgICAgICAgICBBZGRyZXNzIG9mZnNldDogMHg1MCAqLworICB1aW50MTZfdCAgICAgIFJFU0VSVkVEMTQ7ICAvKiE8IFJlc2VydmVkLCAweDUyICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqLworfSBUSU1fVHlwZURlZjsKKworLyoqIAorICAqIEBicmllZiBVbml2ZXJzYWwgU3luY2hyb25vdXMgQXN5bmNocm9ub3VzIFJlY2VpdmVyIFRyYW5zbWl0dGVyCisgICovCisgCit0eXBlZGVmIHN0cnVjdAoreworICBfX0lPIHVpbnQxNl90IFNSOyAgICAgICAgIC8qITwgVVNBUlQgU3RhdHVzIHJlZ2lzdGVyLCAgICAgICAgICAgICAgICAgICBBZGRyZXNzIG9mZnNldDogMHgwMCAqLworICB1aW50MTZfdCAgICAgIFJFU0VSVkVEMDsgIC8qITwgUmVzZXJ2ZWQsIDB4MDIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqLworICBfX0lPIHVpbnQxNl90IERSOyAgICAgICAgIC8qITwgVVNBUlQgRGF0YSByZWdpc3RlciwgICAgICAgICAgICAgICAgICAgICBBZGRyZXNzIG9mZnNldDogMHgwNCAqLworICB1aW50MTZfdCAgICAgIFJFU0VSVkVEMTsgIC8qITwgUmVzZXJ2ZWQsIDB4MDYgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqLworICBfX0lPIHVpbnQxNl90IEJSUjsgICAgICAgIC8qITwgVVNBUlQgQmF1ZCByYXRlIHJlZ2lzdGVyLCAgICAgICAgICAgICAgICBBZGRyZXNzIG9mZnNldDogMHgwOCAqLworICB1aW50MTZfdCAgICAgIFJFU0VSVkVEMjsgIC8qITwgUmVzZXJ2ZWQsIDB4MEEgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqLworICBfX0lPIHVpbnQxNl90IENSMTsgICAgICAgIC8qITwgVVNBUlQgQ29udHJvbCByZWdpc3RlciAxLCAgICAgICAgICAgICAgICBBZGRyZXNzIG9mZnNldDogMHgwQyAqLworICB1aW50MTZfdCAgICAgIFJFU0VSVkVEMzsgIC8qITwgUmVzZXJ2ZWQsIDB4MEUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqLworICBfX0lPIHVpbnQxNl90IENSMjsgICAgICAgIC8qITwgVVNBUlQgQ29udHJvbCByZWdpc3RlciAyLCAgICAgICAgICAgICAgICBBZGRyZXNzIG9mZnNldDogMHgxMCAqLworICB1aW50MTZfdCAgICAgIFJFU0VSVkVENDsgIC8qITwgUmVzZXJ2ZWQsIDB4MTIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqLworICBfX0lPIHVpbnQxNl90IENSMzsgICAgICAgIC8qITwgVVNBUlQgQ29udHJvbCByZWdpc3RlciAzLCAgICAgICAgICAgICAgICBBZGRyZXNzIG9mZnNldDogMHgxNCAqLworICB1aW50MTZfdCAgICAgIFJFU0VSVkVENTsgIC8qITwgUmVzZXJ2ZWQsIDB4MTYgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqLworICBfX0lPIHVpbnQxNl90IEdUUFI7ICAgICAgIC8qITwgVVNBUlQgR3VhcmQgdGltZSBhbmQgcHJlc2NhbGVyIHJlZ2lzdGVyLCBBZGRyZXNzIG9mZnNldDogMHgxOCAqLworICB1aW50MTZfdCAgICAgIFJFU0VSVkVENjsgIC8qITwgUmVzZXJ2ZWQsIDB4MUEgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqLworfSBVU0FSVF9UeXBlRGVmOworCisvKiogCisgICogQGJyaWVmIFdpbmRvdyBXQVRDSERPRworICAqLworCit0eXBlZGVmIHN0cnVjdAoreworICBfX0lPIHVpbnQzMl90IENSOyAgIC8qITwgV1dERyBDb250cm9sIHJlZ2lzdGVyLCAgICAgICBBZGRyZXNzIG9mZnNldDogMHgwMCAqLworICBfX0lPIHVpbnQzMl90IENGUjsgIC8qITwgV1dERyBDb25maWd1cmF0aW9uIHJlZ2lzdGVyLCBBZGRyZXNzIG9mZnNldDogMHgwNCAqLworICBfX0lPIHVpbnQzMl90IFNSOyAgIC8qITwgV1dERyBTdGF0dXMgcmVnaXN0ZXIsICAgICAgICBBZGRyZXNzIG9mZnNldDogMHgwOCAqLworfSBXV0RHX1R5cGVEZWY7CisKKy8qKiAKKyAgKiBAYnJpZWYgQ3J5cHRvIFByb2Nlc3NvcgorICAqLworCit0eXBlZGVmIHN0cnVjdAoreworICBfX0lPIHVpbnQzMl90IENSOyAgICAgLyohPCBDUllQIGNvbnRyb2wgcmVnaXN0ZXIsICAgICAgICAgICAgICAgICAgICAgICAgICAgIEFkZHJlc3Mgb2Zmc2V0OiAweDAwICovCisgIF9fSU8gdWludDMyX3QgU1I7ICAgICAvKiE8IENSWVAgc3RhdHVzIHJlZ2lzdGVyLCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQWRkcmVzcyBvZmZzZXQ6IDB4MDQgKi8KKyAgX19JTyB1aW50MzJfdCBEUjsgICAgIC8qITwgQ1JZUCBkYXRhIGlucHV0IHJlZ2lzdGVyLCAgICAgICAgICAgICAgICAgICAgICAgICBBZGRyZXNzIG9mZnNldDogMHgwOCAqLworICBfX0lPIHVpbnQzMl90IERPVVQ7ICAgLyohPCBDUllQIGRhdGEgb3V0cHV0IHJlZ2lzdGVyLCAgICAgICAgICAgICAgICAgICAgICAgIEFkZHJlc3Mgb2Zmc2V0OiAweDBDICovCisgIF9fSU8gdWludDMyX3QgRE1BQ1I7ICAvKiE8IENSWVAgRE1BIGNvbnRyb2wgcmVnaXN0ZXIsICAgICAgICAgICAgICAgICAgICAgICAgQWRkcmVzcyBvZmZzZXQ6IDB4MTAgKi8KKyAgX19JTyB1aW50MzJfdCBJTVNDUjsgIC8qITwgQ1JZUCBpbnRlcnJ1cHQgbWFzayBzZXQvY2xlYXIgcmVnaXN0ZXIsICAgICAgICAgICBBZGRyZXNzIG9mZnNldDogMHgxNCAqLworICBfX0lPIHVpbnQzMl90IFJJU1I7ICAgLyohPCBDUllQIHJhdyBpbnRlcnJ1cHQgc3RhdHVzIHJlZ2lzdGVyLCAgICAgICAgICAgICAgIEFkZHJlc3Mgb2Zmc2V0OiAweDE4ICovCisgIF9fSU8gdWludDMyX3QgTUlTUjsgICAvKiE8IENSWVAgbWFza2VkIGludGVycnVwdCBzdGF0dXMgcmVnaXN0ZXIsICAgICAgICAgICAgQWRkcmVzcyBvZmZzZXQ6IDB4MUMgKi8KKyAgX19JTyB1aW50MzJfdCBLMExSOyAgIC8qITwgQ1JZUCBrZXkgbGVmdCAgcmVnaXN0ZXIgMCwgICAgICAgICAgICAgICAgICAgICAgICBBZGRyZXNzIG9mZnNldDogMHgyMCAqLworICBfX0lPIHVpbnQzMl90IEswUlI7ICAgLyohPCBDUllQIGtleSByaWdodCByZWdpc3RlciAwLCAgICAgICAgICAgICAgICAgICAgICAgIEFkZHJlc3Mgb2Zmc2V0OiAweDI0ICovCisgIF9fSU8gdWludDMyX3QgSzFMUjsgICAvKiE8IENSWVAga2V5IGxlZnQgIHJlZ2lzdGVyIDEsICAgICAgICAgICAgICAgICAgICAgICAgQWRkcmVzcyBvZmZzZXQ6IDB4MjggKi8KKyAgX19JTyB1aW50MzJfdCBLMVJSOyAgIC8qITwgQ1JZUCBrZXkgcmlnaHQgcmVnaXN0ZXIgMSwgICAgICAgICAgICAgICAgICAgICAgICBBZGRyZXNzIG9mZnNldDogMHgyQyAqLworICBfX0lPIHVpbnQzMl90IEsyTFI7ICAgLyohPCBDUllQIGtleSBsZWZ0ICByZWdpc3RlciAyLCAgICAgICAgICAgICAgICAgICAgICAgIEFkZHJlc3Mgb2Zmc2V0OiAweDMwICovCisgIF9fSU8gdWludDMyX3QgSzJSUjsgICAvKiE8IENSWVAga2V5IHJpZ2h0IHJlZ2lzdGVyIDIsICAgICAgICAgICAgICAgICAgICAgICAgQWRkcmVzcyBvZmZzZXQ6IDB4MzQgKi8KKyAgX19JTyB1aW50MzJfdCBLM0xSOyAgIC8qITwgQ1JZUCBrZXkgbGVmdCAgcmVnaXN0ZXIgMywgICAgICAgICAgICAgICAgICAgICAgICBBZGRyZXNzIG9mZnNldDogMHgzOCAqLworICBfX0lPIHVpbnQzMl90IEszUlI7ICAgLyohPCBDUllQIGtleSByaWdodCByZWdpc3RlciAzLCAgICAgICAgICAgICAgICAgICAgICAgIEFkZHJlc3Mgb2Zmc2V0OiAweDNDICovCisgIF9fSU8gdWludDMyX3QgSVYwTFI7ICAvKiE8IENSWVAgaW5pdGlhbGl6YXRpb24gdmVjdG9yIGxlZnQtd29yZCAgcmVnaXN0ZXIgMCwgQWRkcmVzcyBvZmZzZXQ6IDB4NDAgKi8KKyAgX19JTyB1aW50MzJfdCBJVjBSUjsgIC8qITwgQ1JZUCBpbml0aWFsaXphdGlvbiB2ZWN0b3IgcmlnaHQtd29yZCByZWdpc3RlciAwLCBBZGRyZXNzIG9mZnNldDogMHg0NCAqLworICBfX0lPIHVpbnQzMl90IElWMUxSOyAgLyohPCBDUllQIGluaXRpYWxpemF0aW9uIHZlY3RvciBsZWZ0LXdvcmQgIHJlZ2lzdGVyIDEsIEFkZHJlc3Mgb2Zmc2V0OiAweDQ4ICovCisgIF9fSU8gdWludDMyX3QgSVYxUlI7ICAvKiE8IENSWVAgaW5pdGlhbGl6YXRpb24gdmVjdG9yIHJpZ2h0LXdvcmQgcmVnaXN0ZXIgMSwgQWRkcmVzcyBvZmZzZXQ6IDB4NEMgKi8KK30gQ1JZUF9UeXBlRGVmOworCit0eXBlZGVmIHN0cnVjdCAKK3sKKyAgX19JTyB1aW50MzJfdCBDUjsgICAgICAgIC8qITwgSEFTSCBjb250cm9sIHJlZ2lzdGVyLCAgICAgICAgICBBZGRyZXNzIG9mZnNldDogMHgwMCAgICAgICAgKi8KKyAgX19JTyB1aW50MzJfdCBESU47ICAgICAgIC8qITwgSEFTSCBkYXRhIGlucHV0IHJlZ2lzdGVyLCAgICAgICBBZGRyZXNzIG9mZnNldDogMHgwNCAgICAgICAgKi8KKyAgX19JTyB1aW50MzJfdCBTVFI7ICAgICAgIC8qITwgSEFTSCBzdGFydCByZWdpc3RlciwgICAgICAgICAgICBBZGRyZXNzIG9mZnNldDogMHgwOCAgICAgICAgKi8KKyAgX19JTyB1aW50MzJfdCBIUls1XTsgICAgIC8qITwgSEFTSCBkaWdlc3QgcmVnaXN0ZXJzLCAgICAgICAgICBBZGRyZXNzIG9mZnNldDogMHgwQy0weDFDICAgKi8KKyAgX19JTyB1aW50MzJfdCBJTVI7ICAgICAgIC8qITwgSEFTSCBpbnRlcnJ1cHQgZW5hYmxlIHJlZ2lzdGVyLCBBZGRyZXNzIG9mZnNldDogMHgyMCAgICAgICAgKi8KKyAgX19JTyB1aW50MzJfdCBTUjsgICAgICAgIC8qITwgSEFTSCBzdGF0dXMgcmVnaXN0ZXIsICAgICAgICAgICBBZGRyZXNzIG9mZnNldDogMHgyNCAgICAgICAgKi8KKyAgdWludDMyX3QgIFJFU0VSVkVEWzUyXTsgIC8qITwgUmVzZXJ2ZWQsIDB4MjgtMHhGNCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKi8KKyAgX19JTyB1aW50MzJfdCBDU1JbNTFdOyAgIC8qITwgSEFTSCBjb250ZXh0IHN3YXAgcmVnaXN0ZXJzLCAgICBBZGRyZXNzIG9mZnNldDogMHgwRjgtMHgxQzAgKi8gIAorfSBIQVNIX1R5cGVEZWY7CisKK3R5cGVkZWYgc3RydWN0IAoreworICBfX0lPIHVpbnQzMl90IENSOyAgLyohPCBSTkcgY29udHJvbCByZWdpc3RlciwgQWRkcmVzcyBvZmZzZXQ6IDB4MDAgKi8KKyAgX19JTyB1aW50MzJfdCBTUjsgIC8qITwgUk5HIHN0YXR1cyByZWdpc3RlciwgIEFkZHJlc3Mgb2Zmc2V0OiAweDA0ICovCisgIF9fSU8gdWludDMyX3QgRFI7ICAvKiE8IFJORyBkYXRhIHJlZ2lzdGVyLCAgICBBZGRyZXNzIG9mZnNldDogMHgwOCAqLworfSBSTkdfVHlwZURlZjsKKworI2RlZmluZSBGTEFTSF9CQVNFICAgICAgICAgICAgKCh1aW50MzJfdCkweDA4MDAwMDAwKSAvKiE8IEZMQVNIIGJhc2UgYWRkcmVzcyBpbiB0aGUgYWxpYXMgcmVnaW9uICovCisjZGVmaW5lIFNSQU1fQkFTRSAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MjAwMDAwMDApIC8qITwgU1JBTSBiYXNlIGFkZHJlc3MgaW4gdGhlIGFsaWFzIHJlZ2lvbiAqLworI2RlZmluZSBQRVJJUEhfQkFTRSAgICAgICAgICAgKCh1aW50MzJfdCkweDQwMDAwMDAwKSAvKiE8IFBlcmlwaGVyYWwgYmFzZSBhZGRyZXNzIGluIHRoZSBhbGlhcyByZWdpb24gKi8KKworI2RlZmluZSBTUkFNX0JCX0JBU0UgICAgICAgICAgKCh1aW50MzJfdCkweDIyMDAwMDAwKSAvKiE8IFNSQU0gYmFzZSBhZGRyZXNzIGluIHRoZSBiaXQtYmFuZCByZWdpb24gKi8KKyNkZWZpbmUgUEVSSVBIX0JCX0JBU0UgICAgICAgICgodWludDMyX3QpMHg0MjAwMDAwMCkgLyohPCBQZXJpcGhlcmFsIGJhc2UgYWRkcmVzcyBpbiB0aGUgYml0LWJhbmQgcmVnaW9uICovCisKKyNkZWZpbmUgRlNNQ19SX0JBU0UgICAgICAgICAgICgodWludDMyX3QpMHhBMDAwMDAwMCkgLyohPCBGU01DIHJlZ2lzdGVycyBiYXNlIGFkZHJlc3MgKi8KKworLyohPCBQZXJpcGhlcmFsIG1lbW9yeSBtYXAgKi8KKyNkZWZpbmUgQVBCMVBFUklQSF9CQVNFICAgICAgIFBFUklQSF9CQVNFCisjZGVmaW5lIEFQQjJQRVJJUEhfQkFTRSAgICAgICAoUEVSSVBIX0JBU0UgKyAweDAwMDEwMDAwKQorI2RlZmluZSBBSEIxUEVSSVBIX0JBU0UgICAgICAgKFBFUklQSF9CQVNFICsgMHgwMDAyMDAwMCkKKyNkZWZpbmUgQUhCMlBFUklQSF9CQVNFICAgICAgIChQRVJJUEhfQkFTRSArIDB4MTAwMDAwMDApCisKKy8qITwgQVBCMSBwZXJpcGhlcmFscyAqLworI2RlZmluZSBUSU0yX0JBU0UgICAgICAgICAgICAgKEFQQjFQRVJJUEhfQkFTRSArIDB4MDAwMCkKKyNkZWZpbmUgVElNM19CQVNFICAgICAgICAgICAgIChBUEIxUEVSSVBIX0JBU0UgKyAweDA0MDApCisjZGVmaW5lIFRJTTRfQkFTRSAgICAgICAgICAgICAoQVBCMVBFUklQSF9CQVNFICsgMHgwODAwKQorI2RlZmluZSBUSU01X0JBU0UgICAgICAgICAgICAgKEFQQjFQRVJJUEhfQkFTRSArIDB4MEMwMCkKKyNkZWZpbmUgVElNNl9CQVNFICAgICAgICAgICAgIChBUEIxUEVSSVBIX0JBU0UgKyAweDEwMDApCisjZGVmaW5lIFRJTTdfQkFTRSAgICAgICAgICAgICAoQVBCMVBFUklQSF9CQVNFICsgMHgxNDAwKQorI2RlZmluZSBUSU0xMl9CQVNFICAgICAgICAgICAgKEFQQjFQRVJJUEhfQkFTRSArIDB4MTgwMCkKKyNkZWZpbmUgVElNMTNfQkFTRSAgICAgICAgICAgIChBUEIxUEVSSVBIX0JBU0UgKyAweDFDMDApCisjZGVmaW5lIFRJTTE0X0JBU0UgICAgICAgICAgICAoQVBCMVBFUklQSF9CQVNFICsgMHgyMDAwKQorI2RlZmluZSBSVENfQkFTRSAgICAgICAgICAgICAgKEFQQjFQRVJJUEhfQkFTRSArIDB4MjgwMCkKKyNkZWZpbmUgV1dER19CQVNFICAgICAgICAgICAgIChBUEIxUEVSSVBIX0JBU0UgKyAweDJDMDApCisjZGVmaW5lIElXREdfQkFTRSAgICAgICAgICAgICAoQVBCMVBFUklQSF9CQVNFICsgMHgzMDAwKQorI2RlZmluZSBTUEkyX0JBU0UgICAgICAgICAgICAgKEFQQjFQRVJJUEhfQkFTRSArIDB4MzgwMCkKKyNkZWZpbmUgU1BJM19CQVNFICAgICAgICAgICAgIChBUEIxUEVSSVBIX0JBU0UgKyAweDNDMDApCisjZGVmaW5lIFVTQVJUMl9CQVNFICAgICAgICAgICAoQVBCMVBFUklQSF9CQVNFICsgMHg0NDAwKQorI2RlZmluZSBVU0FSVDNfQkFTRSAgICAgICAgICAgKEFQQjFQRVJJUEhfQkFTRSArIDB4NDgwMCkKKyNkZWZpbmUgVUFSVDRfQkFTRSAgICAgICAgICAgIChBUEIxUEVSSVBIX0JBU0UgKyAweDRDMDApCisjZGVmaW5lIFVBUlQ1X0JBU0UgICAgICAgICAgICAoQVBCMVBFUklQSF9CQVNFICsgMHg1MDAwKQorI2RlZmluZSBJMkMxX0JBU0UgICAgICAgICAgICAgKEFQQjFQRVJJUEhfQkFTRSArIDB4NTQwMCkKKyNkZWZpbmUgSTJDMl9CQVNFICAgICAgICAgICAgIChBUEIxUEVSSVBIX0JBU0UgKyAweDU4MDApCisjZGVmaW5lIEkyQzNfQkFTRSAgICAgICAgICAgICAoQVBCMVBFUklQSF9CQVNFICsgMHg1QzAwKQorI2RlZmluZSBDQU4xX0JBU0UgICAgICAgICAgICAgKEFQQjFQRVJJUEhfQkFTRSArIDB4NjQwMCkKKyNkZWZpbmUgQ0FOMl9CQVNFICAgICAgICAgICAgIChBUEIxUEVSSVBIX0JBU0UgKyAweDY4MDApCisjZGVmaW5lIFBXUl9CQVNFICAgICAgICAgICAgICAoQVBCMVBFUklQSF9CQVNFICsgMHg3MDAwKQorI2RlZmluZSBEQUNfQkFTRSAgICAgICAgICAgICAgKEFQQjFQRVJJUEhfQkFTRSArIDB4NzQwMCkKKworLyohPCBBUEIyIHBlcmlwaGVyYWxzICovCisjZGVmaW5lIFRJTTFfQkFTRSAgICAgICAgICAgICAoQVBCMlBFUklQSF9CQVNFICsgMHgwMDAwKQorI2RlZmluZSBUSU04X0JBU0UgICAgICAgICAgICAgKEFQQjJQRVJJUEhfQkFTRSArIDB4MDQwMCkKKyNkZWZpbmUgVVNBUlQxX0JBU0UgICAgICAgICAgIChBUEIyUEVSSVBIX0JBU0UgKyAweDEwMDApCisjZGVmaW5lIFVTQVJUNl9CQVNFICAgICAgICAgICAoQVBCMlBFUklQSF9CQVNFICsgMHgxNDAwKQorI2RlZmluZSBBREMxX0JBU0UgICAgICAgICAgICAgKEFQQjJQRVJJUEhfQkFTRSArIDB4MjAwMCkKKyNkZWZpbmUgQURDMl9CQVNFICAgICAgICAgICAgIChBUEIyUEVSSVBIX0JBU0UgKyAweDIxMDApCisjZGVmaW5lIEFEQzNfQkFTRSAgICAgICAgICAgICAoQVBCMlBFUklQSF9CQVNFICsgMHgyMjAwKQorI2RlZmluZSBBRENfQkFTRSAgICAgICAgICAgICAgKEFQQjJQRVJJUEhfQkFTRSArIDB4MjMwMCkKKyNkZWZpbmUgU0RJT19CQVNFICAgICAgICAgICAgIChBUEIyUEVSSVBIX0JBU0UgKyAweDJDMDApCisjZGVmaW5lIFNQSTFfQkFTRSAgICAgICAgICAgICAoQVBCMlBFUklQSF9CQVNFICsgMHgzMDAwKQorI2RlZmluZSBTWVNDRkdfQkFTRSAgICAgICAgICAgKEFQQjJQRVJJUEhfQkFTRSArIDB4MzgwMCkKKyNkZWZpbmUgRVhUSV9CQVNFICAgICAgICAgICAgIChBUEIyUEVSSVBIX0JBU0UgKyAweDNDMDApCisjZGVmaW5lIFRJTTlfQkFTRSAgICAgICAgICAgICAoQVBCMlBFUklQSF9CQVNFICsgMHg0MDAwKQorI2RlZmluZSBUSU0xMF9CQVNFICAgICAgICAgICAgKEFQQjJQRVJJUEhfQkFTRSArIDB4NDQwMCkKKyNkZWZpbmUgVElNMTFfQkFTRSAgICAgICAgICAgIChBUEIyUEVSSVBIX0JBU0UgKyAweDQ4MDApCisKKy8qITwgQUhCMSBwZXJpcGhlcmFscyAqLworI2RlZmluZSBHUElPQV9CQVNFICAgICAgICAgICAgKEFIQjFQRVJJUEhfQkFTRSArIDB4MDAwMCkKKyNkZWZpbmUgR1BJT0JfQkFTRSAgICAgICAgICAgIChBSEIxUEVSSVBIX0JBU0UgKyAweDA0MDApCisjZGVmaW5lIEdQSU9DX0JBU0UgICAgICAgICAgICAoQUhCMVBFUklQSF9CQVNFICsgMHgwODAwKQorI2RlZmluZSBHUElPRF9CQVNFICAgICAgICAgICAgKEFIQjFQRVJJUEhfQkFTRSArIDB4MEMwMCkKKyNkZWZpbmUgR1BJT0VfQkFTRSAgICAgICAgICAgIChBSEIxUEVSSVBIX0JBU0UgKyAweDEwMDApCisjZGVmaW5lIEdQSU9GX0JBU0UgICAgICAgICAgICAoQUhCMVBFUklQSF9CQVNFICsgMHgxNDAwKQorI2RlZmluZSBHUElPR19CQVNFICAgICAgICAgICAgKEFIQjFQRVJJUEhfQkFTRSArIDB4MTgwMCkKKyNkZWZpbmUgR1BJT0hfQkFTRSAgICAgICAgICAgIChBSEIxUEVSSVBIX0JBU0UgKyAweDFDMDApCisjZGVmaW5lIEdQSU9JX0JBU0UgICAgICAgICAgICAoQUhCMVBFUklQSF9CQVNFICsgMHgyMDAwKQorI2RlZmluZSBDUkNfQkFTRSAgICAgICAgICAgICAgKEFIQjFQRVJJUEhfQkFTRSArIDB4MzAwMCkKKyNkZWZpbmUgUkNDX0JBU0UgICAgICAgICAgICAgIChBSEIxUEVSSVBIX0JBU0UgKyAweDM4MDApCisjZGVmaW5lIEZMQVNIX1JfQkFTRSAgICAgICAgICAoQUhCMVBFUklQSF9CQVNFICsgMHgzQzAwKSAKKyNkZWZpbmUgQktQU1JBTV9CQVNFICAgICAgICAgIChBSEIxUEVSSVBIX0JBU0UgKyAweDQwMDApCisjZGVmaW5lIERNQTFfQkFTRSAgICAgICAgICAgICAoQUhCMVBFUklQSF9CQVNFICsgMHg2MDAwKQorI2RlZmluZSBETUExX1N0cmVhbTBfQkFTRSAgICAgKERNQTFfQkFTRSArIDB4MDEwKQorI2RlZmluZSBETUExX1N0cmVhbTFfQkFTRSAgICAgKERNQTFfQkFTRSArIDB4MDI4KQorI2RlZmluZSBETUExX1N0cmVhbTJfQkFTRSAgICAgKERNQTFfQkFTRSArIDB4MDQwKQorI2RlZmluZSBETUExX1N0cmVhbTNfQkFTRSAgICAgKERNQTFfQkFTRSArIDB4MDU4KQorI2RlZmluZSBETUExX1N0cmVhbTRfQkFTRSAgICAgKERNQTFfQkFTRSArIDB4MDcwKQorI2RlZmluZSBETUExX1N0cmVhbTVfQkFTRSAgICAgKERNQTFfQkFTRSArIDB4MDg4KQorI2RlZmluZSBETUExX1N0cmVhbTZfQkFTRSAgICAgKERNQTFfQkFTRSArIDB4MEEwKQorI2RlZmluZSBETUExX1N0cmVhbTdfQkFTRSAgICAgKERNQTFfQkFTRSArIDB4MEI4KQorI2RlZmluZSBETUEyX0JBU0UgICAgICAgICAgICAgKEFIQjFQRVJJUEhfQkFTRSArIDB4NjQwMCkKKyNkZWZpbmUgRE1BMl9TdHJlYW0wX0JBU0UgICAgIChETUEyX0JBU0UgKyAweDAxMCkKKyNkZWZpbmUgRE1BMl9TdHJlYW0xX0JBU0UgICAgIChETUEyX0JBU0UgKyAweDAyOCkKKyNkZWZpbmUgRE1BMl9TdHJlYW0yX0JBU0UgICAgIChETUEyX0JBU0UgKyAweDA0MCkKKyNkZWZpbmUgRE1BMl9TdHJlYW0zX0JBU0UgICAgIChETUEyX0JBU0UgKyAweDA1OCkKKyNkZWZpbmUgRE1BMl9TdHJlYW00X0JBU0UgICAgIChETUEyX0JBU0UgKyAweDA3MCkKKyNkZWZpbmUgRE1BMl9TdHJlYW01X0JBU0UgICAgIChETUEyX0JBU0UgKyAweDA4OCkKKyNkZWZpbmUgRE1BMl9TdHJlYW02X0JBU0UgICAgIChETUEyX0JBU0UgKyAweDBBMCkKKyNkZWZpbmUgRE1BMl9TdHJlYW03X0JBU0UgICAgIChETUEyX0JBU0UgKyAweDBCOCkKKyNkZWZpbmUgRVRIX0JBU0UgICAgICAgICAgICAgIChBSEIxUEVSSVBIX0JBU0UgKyAweDgwMDApCisjZGVmaW5lIEVUSF9NQUNfQkFTRSAgICAgICAgICAoRVRIX0JBU0UpCisjZGVmaW5lIEVUSF9NTUNfQkFTRSAgICAgICAgICAoRVRIX0JBU0UgKyAweDAxMDApCisjZGVmaW5lIEVUSF9QVFBfQkFTRSAgICAgICAgICAoRVRIX0JBU0UgKyAweDA3MDApCisjZGVmaW5lIEVUSF9ETUFfQkFTRSAgICAgICAgICAoRVRIX0JBU0UgKyAweDEwMDApCisKKy8qITwgQUhCMiBwZXJpcGhlcmFscyAqLworI2RlZmluZSBEQ01JX0JBU0UgICAgICAgICAgICAgKEFIQjJQRVJJUEhfQkFTRSArIDB4NTAwMDApCisjZGVmaW5lIENSWVBfQkFTRSAgICAgICAgICAgICAoQUhCMlBFUklQSF9CQVNFICsgMHg2MDAwMCkKKyNkZWZpbmUgSEFTSF9CQVNFICAgICAgICAgICAgIChBSEIyUEVSSVBIX0JBU0UgKyAweDYwNDAwKQorI2RlZmluZSBSTkdfQkFTRSAgICAgICAgICAgICAgKEFIQjJQRVJJUEhfQkFTRSArIDB4NjA4MDApCisKKy8qITwgRlNNQyBCYW5reCByZWdpc3RlcnMgYmFzZSBhZGRyZXNzICovCisjZGVmaW5lIEZTTUNfQmFuazFfUl9CQVNFICAgICAoRlNNQ19SX0JBU0UgKyAweDAwMDApCisjZGVmaW5lIEZTTUNfQmFuazFFX1JfQkFTRSAgICAoRlNNQ19SX0JBU0UgKyAweDAxMDQpCisjZGVmaW5lIEZTTUNfQmFuazJfUl9CQVNFICAgICAoRlNNQ19SX0JBU0UgKyAweDAwNjApCisjZGVmaW5lIEZTTUNfQmFuazNfUl9CQVNFICAgICAoRlNNQ19SX0JBU0UgKyAweDAwODApCisjZGVmaW5lIEZTTUNfQmFuazRfUl9CQVNFICAgICAoRlNNQ19SX0JBU0UgKyAweDAwQTApCisKKy8qIERlYnVnIE1DVSByZWdpc3RlcnMgYmFzZSBhZGRyZXNzICovCisjZGVmaW5lIERCR01DVV9CQVNFICAgICAgICAgICAoKHVpbnQzMl90ICkweEUwMDQyMDAwKQorCisjZGVmaW5lIFRJTTIgICAgICAgICAgICAgICAgKChUSU1fVHlwZURlZiAqKSBUSU0yX0JBU0UpCisjZGVmaW5lIFRJTTMgICAgICAgICAgICAgICAgKChUSU1fVHlwZURlZiAqKSBUSU0zX0JBU0UpCisjZGVmaW5lIFRJTTQgICAgICAgICAgICAgICAgKChUSU1fVHlwZURlZiAqKSBUSU00X0JBU0UpCisjZGVmaW5lIFRJTTUgICAgICAgICAgICAgICAgKChUSU1fVHlwZURlZiAqKSBUSU01X0JBU0UpCisjZGVmaW5lIFRJTTYgICAgICAgICAgICAgICAgKChUSU1fVHlwZURlZiAqKSBUSU02X0JBU0UpCisjZGVmaW5lIFRJTTcgICAgICAgICAgICAgICAgKChUSU1fVHlwZURlZiAqKSBUSU03X0JBU0UpCisjZGVmaW5lIFRJTTEyICAgICAgICAgICAgICAgKChUSU1fVHlwZURlZiAqKSBUSU0xMl9CQVNFKQorI2RlZmluZSBUSU0xMyAgICAgICAgICAgICAgICgoVElNX1R5cGVEZWYgKikgVElNMTNfQkFTRSkKKyNkZWZpbmUgVElNMTQgICAgICAgICAgICAgICAoKFRJTV9UeXBlRGVmICopIFRJTTE0X0JBU0UpCisjZGVmaW5lIFJUQyAgICAgICAgICAgICAgICAgKChSVENfVHlwZURlZiAqKSBSVENfQkFTRSkKKyNkZWZpbmUgV1dERyAgICAgICAgICAgICAgICAoKFdXREdfVHlwZURlZiAqKSBXV0RHX0JBU0UpCisjZGVmaW5lIElXREcgICAgICAgICAgICAgICAgKChJV0RHX1R5cGVEZWYgKikgSVdER19CQVNFKQorI2RlZmluZSBTUEkyICAgICAgICAgICAgICAgICgoU1BJX1R5cGVEZWYgKikgU1BJMl9CQVNFKQorI2RlZmluZSBTUEkzICAgICAgICAgICAgICAgICgoU1BJX1R5cGVEZWYgKikgU1BJM19CQVNFKQorI2RlZmluZSBVU0FSVDIgICAgICAgICAgICAgICgoVVNBUlRfVHlwZURlZiAqKSBVU0FSVDJfQkFTRSkKKyNkZWZpbmUgVVNBUlQzICAgICAgICAgICAgICAoKFVTQVJUX1R5cGVEZWYgKikgVVNBUlQzX0JBU0UpCisjZGVmaW5lIFVBUlQ0ICAgICAgICAgICAgICAgKChVU0FSVF9UeXBlRGVmICopIFVBUlQ0X0JBU0UpCisjZGVmaW5lIFVBUlQ1ICAgICAgICAgICAgICAgKChVU0FSVF9UeXBlRGVmICopIFVBUlQ1X0JBU0UpCisjZGVmaW5lIEkyQzEgICAgICAgICAgICAgICAgKChJMkNfVHlwZURlZiAqKSBJMkMxX0JBU0UpCisjZGVmaW5lIEkyQzIgICAgICAgICAgICAgICAgKChJMkNfVHlwZURlZiAqKSBJMkMyX0JBU0UpCisjZGVmaW5lIEkyQzMgICAgICAgICAgICAgICAgKChJMkNfVHlwZURlZiAqKSBJMkMzX0JBU0UpCisjZGVmaW5lIENBTjEgICAgICAgICAgICAgICAgKChDQU5fVHlwZURlZiAqKSBDQU4xX0JBU0UpCisjZGVmaW5lIENBTjIgICAgICAgICAgICAgICAgKChDQU5fVHlwZURlZiAqKSBDQU4yX0JBU0UpCisjZGVmaW5lIFBXUiAgICAgICAgICAgICAgICAgKChQV1JfVHlwZURlZiAqKSBQV1JfQkFTRSkKKyNkZWZpbmUgREFDICAgICAgICAgICAgICAgICAoKERBQ19UeXBlRGVmICopIERBQ19CQVNFKQorI2RlZmluZSBUSU0xICAgICAgICAgICAgICAgICgoVElNX1R5cGVEZWYgKikgVElNMV9CQVNFKQorI2RlZmluZSBUSU04ICAgICAgICAgICAgICAgICgoVElNX1R5cGVEZWYgKikgVElNOF9CQVNFKQorI2RlZmluZSBVU0FSVDEgICAgICAgICAgICAgICgoVVNBUlRfVHlwZURlZiAqKSBVU0FSVDFfQkFTRSkKKyNkZWZpbmUgVVNBUlQ2ICAgICAgICAgICAgICAoKFVTQVJUX1R5cGVEZWYgKikgVVNBUlQ2X0JBU0UpCisjZGVmaW5lIEFEQyAgICAgICAgICAgICAgICAgKChBRENfQ29tbW9uX1R5cGVEZWYgKikgQURDX0JBU0UpCisjZGVmaW5lIEFEQzEgICAgICAgICAgICAgICAgKChBRENfVHlwZURlZiAqKSBBREMxX0JBU0UpCisjZGVmaW5lIEFEQzIgICAgICAgICAgICAgICAgKChBRENfVHlwZURlZiAqKSBBREMyX0JBU0UpCisjZGVmaW5lIEFEQzMgICAgICAgICAgICAgICAgKChBRENfVHlwZURlZiAqKSBBREMzX0JBU0UpCisjZGVmaW5lIFNESU8gICAgICAgICAgICAgICAgKChTRElPX1R5cGVEZWYgKikgU0RJT19CQVNFKQorI2RlZmluZSBTUEkxICAgICAgICAgICAgICAgICgoU1BJX1R5cGVEZWYgKikgU1BJMV9CQVNFKQorI2RlZmluZSBTWVNDRkcgICAgICAgICAgICAgICgoU1lTQ0ZHX1R5cGVEZWYgKikgU1lTQ0ZHX0JBU0UpCisjZGVmaW5lIEVYVEkgICAgICAgICAgICAgICAgKChFWFRJX1R5cGVEZWYgKikgRVhUSV9CQVNFKQorI2RlZmluZSBUSU05ICAgICAgICAgICAgICAgICgoVElNX1R5cGVEZWYgKikgVElNOV9CQVNFKQorI2RlZmluZSBUSU0xMCAgICAgICAgICAgICAgICgoVElNX1R5cGVEZWYgKikgVElNMTBfQkFTRSkKKyNkZWZpbmUgVElNMTEgICAgICAgICAgICAgICAoKFRJTV9UeXBlRGVmICopIFRJTTExX0JBU0UpCisjZGVmaW5lIEdQSU9BICAgICAgICAgICAgICAgKChHUElPX1R5cGVEZWYgKikgR1BJT0FfQkFTRSkKKyNkZWZpbmUgR1BJT0IgICAgICAgICAgICAgICAoKEdQSU9fVHlwZURlZiAqKSBHUElPQl9CQVNFKQorI2RlZmluZSBHUElPQyAgICAgICAgICAgICAgICgoR1BJT19UeXBlRGVmICopIEdQSU9DX0JBU0UpCisjZGVmaW5lIEdQSU9EICAgICAgICAgICAgICAgKChHUElPX1R5cGVEZWYgKikgR1BJT0RfQkFTRSkKKyNkZWZpbmUgR1BJT0UgICAgICAgICAgICAgICAoKEdQSU9fVHlwZURlZiAqKSBHUElPRV9CQVNFKQorI2RlZmluZSBHUElPRiAgICAgICAgICAgICAgICgoR1BJT19UeXBlRGVmICopIEdQSU9GX0JBU0UpCisjZGVmaW5lIEdQSU9HICAgICAgICAgICAgICAgKChHUElPX1R5cGVEZWYgKikgR1BJT0dfQkFTRSkKKyNkZWZpbmUgR1BJT0ggICAgICAgICAgICAgICAoKEdQSU9fVHlwZURlZiAqKSBHUElPSF9CQVNFKQorI2RlZmluZSBHUElPSSAgICAgICAgICAgICAgICgoR1BJT19UeXBlRGVmICopIEdQSU9JX0JBU0UpCisjZGVmaW5lIENSQyAgICAgICAgICAgICAgICAgKChDUkNfVHlwZURlZiAqKSBDUkNfQkFTRSkKKyNkZWZpbmUgUkNDICAgICAgICAgICAgICAgICAoKFJDQ19UeXBlRGVmICopIFJDQ19CQVNFKQorI2RlZmluZSBGTEFTSCAgICAgICAgICAgICAgICgoRkxBU0hfVHlwZURlZiAqKSBGTEFTSF9SX0JBU0UpCisjZGVmaW5lIERNQTEgICAgICAgICAgICAgICAgKChETUFfVHlwZURlZiAqKSBETUExX0JBU0UpCisjZGVmaW5lIERNQTFfU3RyZWFtMCAgICAgICAgKChETUFfU3RyZWFtX1R5cGVEZWYgKikgRE1BMV9TdHJlYW0wX0JBU0UpCisjZGVmaW5lIERNQTFfU3RyZWFtMSAgICAgICAgKChETUFfU3RyZWFtX1R5cGVEZWYgKikgRE1BMV9TdHJlYW0xX0JBU0UpCisjZGVmaW5lIERNQTFfU3RyZWFtMiAgICAgICAgKChETUFfU3RyZWFtX1R5cGVEZWYgKikgRE1BMV9TdHJlYW0yX0JBU0UpCisjZGVmaW5lIERNQTFfU3RyZWFtMyAgICAgICAgKChETUFfU3RyZWFtX1R5cGVEZWYgKikgRE1BMV9TdHJlYW0zX0JBU0UpCisjZGVmaW5lIERNQTFfU3RyZWFtNCAgICAgICAgKChETUFfU3RyZWFtX1R5cGVEZWYgKikgRE1BMV9TdHJlYW00X0JBU0UpCisjZGVmaW5lIERNQTFfU3RyZWFtNSAgICAgICAgKChETUFfU3RyZWFtX1R5cGVEZWYgKikgRE1BMV9TdHJlYW01X0JBU0UpCisjZGVmaW5lIERNQTFfU3RyZWFtNiAgICAgICAgKChETUFfU3RyZWFtX1R5cGVEZWYgKikgRE1BMV9TdHJlYW02X0JBU0UpCisjZGVmaW5lIERNQTFfU3RyZWFtNyAgICAgICAgKChETUFfU3RyZWFtX1R5cGVEZWYgKikgRE1BMV9TdHJlYW03X0JBU0UpCisjZGVmaW5lIERNQTIgICAgICAgICAgICAgICAgKChETUFfVHlwZURlZiAqKSBETUEyX0JBU0UpCisjZGVmaW5lIERNQTJfU3RyZWFtMCAgICAgICAgKChETUFfU3RyZWFtX1R5cGVEZWYgKikgRE1BMl9TdHJlYW0wX0JBU0UpCisjZGVmaW5lIERNQTJfU3RyZWFtMSAgICAgICAgKChETUFfU3RyZWFtX1R5cGVEZWYgKikgRE1BMl9TdHJlYW0xX0JBU0UpCisjZGVmaW5lIERNQTJfU3RyZWFtMiAgICAgICAgKChETUFfU3RyZWFtX1R5cGVEZWYgKikgRE1BMl9TdHJlYW0yX0JBU0UpCisjZGVmaW5lIERNQTJfU3RyZWFtMyAgICAgICAgKChETUFfU3RyZWFtX1R5cGVEZWYgKikgRE1BMl9TdHJlYW0zX0JBU0UpCisjZGVmaW5lIERNQTJfU3RyZWFtNCAgICAgICAgKChETUFfU3RyZWFtX1R5cGVEZWYgKikgRE1BMl9TdHJlYW00X0JBU0UpCisjZGVmaW5lIERNQTJfU3RyZWFtNSAgICAgICAgKChETUFfU3RyZWFtX1R5cGVEZWYgKikgRE1BMl9TdHJlYW01X0JBU0UpCisjZGVmaW5lIERNQTJfU3RyZWFtNiAgICAgICAgKChETUFfU3RyZWFtX1R5cGVEZWYgKikgRE1BMl9TdHJlYW02X0JBU0UpCisjZGVmaW5lIERNQTJfU3RyZWFtNyAgICAgICAgKChETUFfU3RyZWFtX1R5cGVEZWYgKikgRE1BMl9TdHJlYW03X0JBU0UpCisjZGVmaW5lIEVUSCAgICAgICAgICAgICAgICAgKChFVEhfVHlwZURlZiAqKSBFVEhfQkFTRSkgIAorI2RlZmluZSBEQ01JICAgICAgICAgICAgICAgICgoRENNSV9UeXBlRGVmICopIERDTUlfQkFTRSkKKyNkZWZpbmUgQ1JZUCAgICAgICAgICAgICAgICAoKENSWVBfVHlwZURlZiAqKSBDUllQX0JBU0UpCisjZGVmaW5lIEhBU0ggICAgICAgICAgICAgICAgKChIQVNIX1R5cGVEZWYgKikgSEFTSF9CQVNFKQorI2RlZmluZSBSTkcgICAgICAgICAgICAgICAgICgoUk5HX1R5cGVEZWYgKikgUk5HX0JBU0UpCisjZGVmaW5lIEZTTUNfQmFuazEgICAgICAgICAgKChGU01DX0JhbmsxX1R5cGVEZWYgKikgRlNNQ19CYW5rMV9SX0JBU0UpCisjZGVmaW5lIEZTTUNfQmFuazFFICAgICAgICAgKChGU01DX0JhbmsxRV9UeXBlRGVmICopIEZTTUNfQmFuazFFX1JfQkFTRSkKKyNkZWZpbmUgRlNNQ19CYW5rMiAgICAgICAgICAoKEZTTUNfQmFuazJfVHlwZURlZiAqKSBGU01DX0JhbmsyX1JfQkFTRSkKKyNkZWZpbmUgRlNNQ19CYW5rMyAgICAgICAgICAoKEZTTUNfQmFuazNfVHlwZURlZiAqKSBGU01DX0JhbmszX1JfQkFTRSkKKyNkZWZpbmUgRlNNQ19CYW5rNCAgICAgICAgICAoKEZTTUNfQmFuazRfVHlwZURlZiAqKSBGU01DX0Jhbms0X1JfQkFTRSkKKyNkZWZpbmUgREJHTUNVICAgICAgICAgICAgICAoKERCR01DVV9UeXBlRGVmICopIERCR01DVV9CQVNFKQorCisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLworLyogICAgICAgICAgICAgICAgICAgICAgICAgUGVyaXBoZXJhbCBSZWdpc3RlcnNfQml0c19EZWZpbml0aW9uICAgICAgICAgICAgICAgKi8KKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCisKKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCisvKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqLworLyogICAgICAgICAgICAgICAgICAgICAgICBBbmFsb2cgdG8gRGlnaXRhbCBDb252ZXJ0ZXIgICAgICAgICAgICAgICAgICAgICAgICAgKi8KKy8qICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICovCisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLworLyoqKioqKioqKioqKioqKioqKioqICBCaXQgZGVmaW5pdGlvbiBmb3IgQURDX1NSIHJlZ2lzdGVyICAqKioqKioqKioqKioqKioqKioqKi8KKyNkZWZpbmUgIEFEQ19TUl9BV0QgICAgICAgICAgICAgICAgICAgICAgICAgICgodWludDhfdCkweDAxKSAgICAgICAgICAgICAgIC8qITxBbmFsb2cgd2F0Y2hkb2cgZmxhZyAqLworI2RlZmluZSAgQURDX1NSX0VPQyAgICAgICAgICAgICAgICAgICAgICAgICAgKCh1aW50OF90KTB4MDIpICAgICAgICAgICAgICAgLyohPEVuZCBvZiBjb252ZXJzaW9uICovCisjZGVmaW5lICBBRENfU1JfSkVPQyAgICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQ4X3QpMHgwNCkgICAgICAgICAgICAgICAvKiE8SW5qZWN0ZWQgY2hhbm5lbCBlbmQgb2YgY29udmVyc2lvbiAqLworI2RlZmluZSAgQURDX1NSX0pTVFJUICAgICAgICAgICAgICAgICAgICAgICAgKCh1aW50OF90KTB4MDgpICAgICAgICAgICAgICAgLyohPEluamVjdGVkIGNoYW5uZWwgU3RhcnQgZmxhZyAqLworI2RlZmluZSAgQURDX1NSX1NUUlQgICAgICAgICAgICAgICAgICAgICAgICAgKCh1aW50OF90KTB4MTApICAgICAgICAgICAgICAgLyohPFJlZ3VsYXIgY2hhbm5lbCBTdGFydCBmbGFnICovCisjZGVmaW5lICBBRENfU1JfT1ZSICAgICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQ4X3QpMHgyMCkgICAgICAgICAgICAgICAvKiE8T3ZlcnJ1biBmbGFnICovCisKKy8qKioqKioqKioqKioqKioqKioqICBCaXQgZGVmaW5pdGlvbiBmb3IgQURDX0NSMSByZWdpc3RlciAgKioqKioqKioqKioqKioqKioqKiovCisjZGVmaW5lICBBRENfQ1IxX0FXRENIICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDAwMUYpICAgICAgICAvKiE8QVdEQ0hbNDowXSBiaXRzIChBbmFsb2cgd2F0Y2hkb2cgY2hhbm5lbCBzZWxlY3QgYml0cykgKi8KKyNkZWZpbmUgIEFEQ19DUjFfQVdEQ0hfMCAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMDAwMSkgICAgICAgIC8qITxCaXQgMCAqLworI2RlZmluZSAgQURDX0NSMV9BV0RDSF8xICAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwMDAyKSAgICAgICAgLyohPEJpdCAxICovCisjZGVmaW5lICBBRENfQ1IxX0FXRENIXzIgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDAwMDQpICAgICAgICAvKiE8Qml0IDIgKi8KKyNkZWZpbmUgIEFEQ19DUjFfQVdEQ0hfMyAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMDAwOCkgICAgICAgIC8qITxCaXQgMyAqLworI2RlZmluZSAgQURDX0NSMV9BV0RDSF80ICAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwMDEwKSAgICAgICAgLyohPEJpdCA0ICovCisjZGVmaW5lICBBRENfQ1IxX0VPQ0lFICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDAwMjApICAgICAgICAvKiE8SW50ZXJydXB0IGVuYWJsZSBmb3IgRU9DICovCisjZGVmaW5lICBBRENfQ1IxX0FXRElFICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDAwNDApICAgICAgICAvKiE8QUFuYWxvZyBXYXRjaGRvZyBpbnRlcnJ1cHQgZW5hYmxlICovCisjZGVmaW5lICBBRENfQ1IxX0pFT0NJRSAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDAwODApICAgICAgICAvKiE8SW50ZXJydXB0IGVuYWJsZSBmb3IgaW5qZWN0ZWQgY2hhbm5lbHMgKi8KKyNkZWZpbmUgIEFEQ19DUjFfU0NBTiAgICAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMDEwMCkgICAgICAgIC8qITxTY2FuIG1vZGUgKi8KKyNkZWZpbmUgIEFEQ19DUjFfQVdEU0dMICAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMDIwMCkgICAgICAgIC8qITxFbmFibGUgdGhlIHdhdGNoZG9nIG9uIGEgc2luZ2xlIGNoYW5uZWwgaW4gc2NhbiBtb2RlICovCisjZGVmaW5lICBBRENfQ1IxX0pBVVRPICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDA0MDApICAgICAgICAvKiE8QXV0b21hdGljIGluamVjdGVkIGdyb3VwIGNvbnZlcnNpb24gKi8KKyNkZWZpbmUgIEFEQ19DUjFfRElTQ0VOICAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMDgwMCkgICAgICAgIC8qITxEaXNjb250aW51b3VzIG1vZGUgb24gcmVndWxhciBjaGFubmVscyAqLworI2RlZmluZSAgQURDX0NSMV9KRElTQ0VOICAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAxMDAwKSAgICAgICAgLyohPERpc2NvbnRpbnVvdXMgbW9kZSBvbiBpbmplY3RlZCBjaGFubmVscyAqLworI2RlZmluZSAgQURDX0NSMV9ESVNDTlVNICAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDBFMDAwKSAgICAgICAgLyohPERJU0NOVU1bMjowXSBiaXRzIChEaXNjb250aW51b3VzIG1vZGUgY2hhbm5lbCBjb3VudCkgKi8KKyNkZWZpbmUgIEFEQ19DUjFfRElTQ05VTV8wICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMjAwMCkgICAgICAgIC8qITxCaXQgMCAqLworI2RlZmluZSAgQURDX0NSMV9ESVNDTlVNXzEgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDA0MDAwKSAgICAgICAgLyohPEJpdCAxICovCisjZGVmaW5lICBBRENfQ1IxX0RJU0NOVU1fMiAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDgwMDApICAgICAgICAvKiE8Qml0IDIgKi8KKyNkZWZpbmUgIEFEQ19DUjFfSkFXREVOICAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDQwMDAwMCkgICAgICAgIC8qITxBbmFsb2cgd2F0Y2hkb2cgZW5hYmxlIG9uIGluamVjdGVkIGNoYW5uZWxzICovCisjZGVmaW5lICBBRENfQ1IxX0FXREVOICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDA4MDAwMDApICAgICAgICAvKiE8QW5hbG9nIHdhdGNoZG9nIGVuYWJsZSBvbiByZWd1bGFyIGNoYW5uZWxzICovCisjZGVmaW5lICBBRENfQ1IxX1JFUyAgICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDMwMDAwMDApICAgICAgICAvKiE8UkVTWzI6MF0gYml0cyAoUmVzb2x1dGlvbikgKi8KKyNkZWZpbmUgIEFEQ19DUjFfUkVTXzAgICAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMTAwMDAwMCkgICAgICAgIC8qITxCaXQgMCAqLworI2RlZmluZSAgQURDX0NSMV9SRVNfMSAgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAyMDAwMDAwKSAgICAgICAgLyohPEJpdCAxICovCisjZGVmaW5lICBBRENfQ1IxX09WUklFICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDQwMDAwMDApICAgICAgICAgLyohPG92ZXJydW4gaW50ZXJydXB0IGVuYWJsZSAqLworICAKKy8qKioqKioqKioqKioqKioqKioqICBCaXQgZGVmaW5pdGlvbiBmb3IgQURDX0NSMiByZWdpc3RlciAgKioqKioqKioqKioqKioqKioqKiovCisjZGVmaW5lICBBRENfQ1IyX0FET04gICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDAwMDEpICAgICAgICAvKiE8QS9EIENvbnZlcnRlciBPTiAvIE9GRiAqLworI2RlZmluZSAgQURDX0NSMl9DT05UICAgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwMDAyKSAgICAgICAgLyohPENvbnRpbnVvdXMgQ29udmVyc2lvbiAqLworI2RlZmluZSAgQURDX0NSMl9ETUEgICAgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwMTAwKSAgICAgICAgLyohPERpcmVjdCBNZW1vcnkgYWNjZXNzIG1vZGUgKi8KKyNkZWZpbmUgIEFEQ19DUjJfRERTICAgICAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMDIwMCkgICAgICAgIC8qITxETUEgZGlzYWJsZSBzZWxlY3Rpb24gKFNpbmdsZSBBREMpICovCisjZGVmaW5lICBBRENfQ1IyX0VPQ1MgICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDA0MDApICAgICAgICAvKiE8RW5kIG9mIGNvbnZlcnNpb24gc2VsZWN0aW9uICovCisjZGVmaW5lICBBRENfQ1IyX0FMSUdOICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDA4MDApICAgICAgICAvKiE8RGF0YSBBbGlnbm1lbnQgKi8KKyNkZWZpbmUgIEFEQ19DUjJfSkVYVFNFTCAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDBGMDAwMCkgICAgICAgIC8qITxKRVhUU0VMWzM6MF0gYml0cyAoRXh0ZXJuYWwgZXZlbnQgc2VsZWN0IGZvciBpbmplY3RlZCBncm91cCkgKi8KKyNkZWZpbmUgIEFEQ19DUjJfSkVYVFNFTF8wICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAxMDAwMCkgICAgICAgIC8qITxCaXQgMCAqLworI2RlZmluZSAgQURDX0NSMl9KRVhUU0VMXzEgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDIwMDAwKSAgICAgICAgLyohPEJpdCAxICovCisjZGVmaW5lICBBRENfQ1IyX0pFWFRTRUxfMiAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwNDAwMDApICAgICAgICAvKiE8Qml0IDIgKi8KKyNkZWZpbmUgIEFEQ19DUjJfSkVYVFNFTF8zICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDA4MDAwMCkgICAgICAgIC8qITxCaXQgMyAqLworI2RlZmluZSAgQURDX0NSMl9KRVhURU4gICAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMzAwMDAwKSAgICAgICAgLyohPEpFWFRFTlsxOjBdIGJpdHMgKEV4dGVybmFsIFRyaWdnZXIgQ29udmVyc2lvbiBtb2RlIGZvciBpbmplY3RlZCBjaGFubmVsc3ApICovCisjZGVmaW5lICBBRENfQ1IyX0pFWFRFTl8wICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAxMDAwMDApICAgICAgICAvKiE8Qml0IDAgKi8KKyNkZWZpbmUgIEFEQ19DUjJfSkVYVEVOXzEgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDIwMDAwMCkgICAgICAgIC8qITxCaXQgMSAqLworI2RlZmluZSAgQURDX0NSMl9KU1dTVEFSVCAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwNDAwMDAwKSAgICAgICAgLyohPFN0YXJ0IENvbnZlcnNpb24gb2YgaW5qZWN0ZWQgY2hhbm5lbHMgKi8KKyNkZWZpbmUgIEFEQ19DUjJfRVhUU0VMICAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwRjAwMDAwMCkgICAgICAgIC8qITxFWFRTRUxbMzowXSBiaXRzIChFeHRlcm5hbCBFdmVudCBTZWxlY3QgZm9yIHJlZ3VsYXIgZ3JvdXApICovCisjZGVmaW5lICBBRENfQ1IyX0VYVFNFTF8wICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDEwMDAwMDApICAgICAgICAvKiE8Qml0IDAgKi8KKyNkZWZpbmUgIEFEQ19DUjJfRVhUU0VMXzEgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMjAwMDAwMCkgICAgICAgIC8qITxCaXQgMSAqLworI2RlZmluZSAgQURDX0NSMl9FWFRTRUxfMiAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDA0MDAwMDAwKSAgICAgICAgLyohPEJpdCAyICovCisjZGVmaW5lICBBRENfQ1IyX0VYVFNFTF8zICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDgwMDAwMDApICAgICAgICAvKiE8Qml0IDMgKi8KKyNkZWZpbmUgIEFEQ19DUjJfRVhURU4gICAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgzMDAwMDAwMCkgICAgICAgIC8qITxFWFRFTlsxOjBdIGJpdHMgKEV4dGVybmFsIFRyaWdnZXIgQ29udmVyc2lvbiBtb2RlIGZvciByZWd1bGFyIGNoYW5uZWxzcCkgKi8KKyNkZWZpbmUgIEFEQ19DUjJfRVhURU5fMCAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgxMDAwMDAwMCkgICAgICAgIC8qITxCaXQgMCAqLworI2RlZmluZSAgQURDX0NSMl9FWFRFTl8xICAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDIwMDAwMDAwKSAgICAgICAgLyohPEJpdCAxICovCisjZGVmaW5lICBBRENfQ1IyX1NXU1RBUlQgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4NDAwMDAwMDApICAgICAgICAvKiE8U3RhcnQgQ29udmVyc2lvbiBvZiByZWd1bGFyIGNoYW5uZWxzICovCisKKy8qKioqKioqKioqKioqKioqKiogIEJpdCBkZWZpbml0aW9uIGZvciBBRENfU01QUjEgcmVnaXN0ZXIgICoqKioqKioqKioqKioqKioqKiovCisjZGVmaW5lICBBRENfU01QUjFfU01QMTAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDAwMDcpICAgICAgICAvKiE8U01QMTBbMjowXSBiaXRzIChDaGFubmVsIDEwIFNhbXBsZSB0aW1lIHNlbGVjdGlvbikgKi8KKyNkZWZpbmUgIEFEQ19TTVBSMV9TTVAxMF8wICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMDAwMSkgICAgICAgIC8qITxCaXQgMCAqLworI2RlZmluZSAgQURDX1NNUFIxX1NNUDEwXzEgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwMDAyKSAgICAgICAgLyohPEJpdCAxICovCisjZGVmaW5lICBBRENfU01QUjFfU01QMTBfMiAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDAwMDQpICAgICAgICAvKiE8Qml0IDIgKi8KKyNkZWZpbmUgIEFEQ19TTVBSMV9TTVAxMSAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMDAzOCkgICAgICAgIC8qITxTTVAxMVsyOjBdIGJpdHMgKENoYW5uZWwgMTEgU2FtcGxlIHRpbWUgc2VsZWN0aW9uKSAqLworI2RlZmluZSAgQURDX1NNUFIxX1NNUDExXzAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwMDA4KSAgICAgICAgLyohPEJpdCAwICovCisjZGVmaW5lICBBRENfU01QUjFfU01QMTFfMSAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDAwMTApICAgICAgICAvKiE8Qml0IDEgKi8KKyNkZWZpbmUgIEFEQ19TTVBSMV9TTVAxMV8yICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMDAyMCkgICAgICAgIC8qITxCaXQgMiAqLworI2RlZmluZSAgQURDX1NNUFIxX1NNUDEyICAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwMUMwKSAgICAgICAgLyohPFNNUDEyWzI6MF0gYml0cyAoQ2hhbm5lbCAxMiBTYW1wbGUgdGltZSBzZWxlY3Rpb24pICovCisjZGVmaW5lICBBRENfU01QUjFfU01QMTJfMCAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDAwNDApICAgICAgICAvKiE8Qml0IDAgKi8KKyNkZWZpbmUgIEFEQ19TTVBSMV9TTVAxMl8xICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMDA4MCkgICAgICAgIC8qITxCaXQgMSAqLworI2RlZmluZSAgQURDX1NNUFIxX1NNUDEyXzIgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwMTAwKSAgICAgICAgLyohPEJpdCAyICovCisjZGVmaW5lICBBRENfU01QUjFfU01QMTMgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDBFMDApICAgICAgICAvKiE8U01QMTNbMjowXSBiaXRzIChDaGFubmVsIDEzIFNhbXBsZSB0aW1lIHNlbGVjdGlvbikgKi8KKyNkZWZpbmUgIEFEQ19TTVBSMV9TTVAxM18wICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMDIwMCkgICAgICAgIC8qITxCaXQgMCAqLworI2RlZmluZSAgQURDX1NNUFIxX1NNUDEzXzEgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwNDAwKSAgICAgICAgLyohPEJpdCAxICovCisjZGVmaW5lICBBRENfU01QUjFfU01QMTNfMiAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDA4MDApICAgICAgICAvKiE8Qml0IDIgKi8KKyNkZWZpbmUgIEFEQ19TTVBSMV9TTVAxNCAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwNzAwMCkgICAgICAgIC8qITxTTVAxNFsyOjBdIGJpdHMgKENoYW5uZWwgMTQgU2FtcGxlIHRpbWUgc2VsZWN0aW9uKSAqLworI2RlZmluZSAgQURDX1NNUFIxX1NNUDE0XzAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAxMDAwKSAgICAgICAgLyohPEJpdCAwICovCisjZGVmaW5lICBBRENfU01QUjFfU01QMTRfMSAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDIwMDApICAgICAgICAvKiE8Qml0IDEgKi8KKyNkZWZpbmUgIEFEQ19TTVBSMV9TTVAxNF8yICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwNDAwMCkgICAgICAgIC8qITxCaXQgMiAqLworI2RlZmluZSAgQURDX1NNUFIxX1NNUDE1ICAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDM4MDAwKSAgICAgICAgLyohPFNNUDE1WzI6MF0gYml0cyAoQ2hhbm5lbCAxNSBTYW1wbGUgdGltZSBzZWxlY3Rpb24pICovCisjZGVmaW5lICBBRENfU01QUjFfU01QMTVfMCAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDgwMDApICAgICAgICAvKiE8Qml0IDAgKi8KKyNkZWZpbmUgIEFEQ19TTVBSMV9TTVAxNV8xICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAxMDAwMCkgICAgICAgIC8qITxCaXQgMSAqLworI2RlZmluZSAgQURDX1NNUFIxX1NNUDE1XzIgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDIwMDAwKSAgICAgICAgLyohPEJpdCAyICovCisjZGVmaW5lICBBRENfU01QUjFfU01QMTYgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAxQzAwMDApICAgICAgICAvKiE8U01QMTZbMjowXSBiaXRzIChDaGFubmVsIDE2IFNhbXBsZSB0aW1lIHNlbGVjdGlvbikgKi8KKyNkZWZpbmUgIEFEQ19TTVBSMV9TTVAxNl8wICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDA0MDAwMCkgICAgICAgIC8qITxCaXQgMCAqLworI2RlZmluZSAgQURDX1NNUFIxX1NNUDE2XzEgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDgwMDAwKSAgICAgICAgLyohPEJpdCAxICovCisjZGVmaW5lICBBRENfU01QUjFfU01QMTZfMiAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAxMDAwMDApICAgICAgICAvKiE8Qml0IDIgKi8KKyNkZWZpbmUgIEFEQ19TTVBSMV9TTVAxNyAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMEUwMDAwMCkgICAgICAgIC8qITxTTVAxN1syOjBdIGJpdHMgKENoYW5uZWwgMTcgU2FtcGxlIHRpbWUgc2VsZWN0aW9uKSAqLworI2RlZmluZSAgQURDX1NNUFIxX1NNUDE3XzAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMjAwMDAwKSAgICAgICAgLyohPEJpdCAwICovCisjZGVmaW5lICBBRENfU01QUjFfU01QMTdfMSAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDA0MDAwMDApICAgICAgICAvKiE8Qml0IDEgKi8KKyNkZWZpbmUgIEFEQ19TTVBSMV9TTVAxN18yICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDgwMDAwMCkgICAgICAgIC8qITxCaXQgMiAqLworI2RlZmluZSAgQURDX1NNUFIxX1NNUDE4ICAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDA3MDAwMDAwKSAgICAgICAgLyohPFNNUDE4WzI6MF0gYml0cyAoQ2hhbm5lbCAxOCBTYW1wbGUgdGltZSBzZWxlY3Rpb24pICovCisjZGVmaW5lICBBRENfU01QUjFfU01QMThfMCAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDEwMDAwMDApICAgICAgICAvKiE8Qml0IDAgKi8KKyNkZWZpbmUgIEFEQ19TTVBSMV9TTVAxOF8xICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMjAwMDAwMCkgICAgICAgIC8qITxCaXQgMSAqLworI2RlZmluZSAgQURDX1NNUFIxX1NNUDE4XzIgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDA0MDAwMDAwKSAgICAgICAgLyohPEJpdCAyICovCisKKy8qKioqKioqKioqKioqKioqKiogIEJpdCBkZWZpbml0aW9uIGZvciBBRENfU01QUjIgcmVnaXN0ZXIgICoqKioqKioqKioqKioqKioqKiovCisjZGVmaW5lICBBRENfU01QUjJfU01QMCAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDAwMDcpICAgICAgICAvKiE8U01QMFsyOjBdIGJpdHMgKENoYW5uZWwgMCBTYW1wbGUgdGltZSBzZWxlY3Rpb24pICovCisjZGVmaW5lICBBRENfU01QUjJfU01QMF8wICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDAwMDEpICAgICAgICAvKiE8Qml0IDAgKi8KKyNkZWZpbmUgIEFEQ19TTVBSMl9TTVAwXzEgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMDAwMikgICAgICAgIC8qITxCaXQgMSAqLworI2RlZmluZSAgQURDX1NNUFIyX1NNUDBfMiAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwMDA0KSAgICAgICAgLyohPEJpdCAyICovCisjZGVmaW5lICBBRENfU01QUjJfU01QMSAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDAwMzgpICAgICAgICAvKiE8U01QMVsyOjBdIGJpdHMgKENoYW5uZWwgMSBTYW1wbGUgdGltZSBzZWxlY3Rpb24pICovCisjZGVmaW5lICBBRENfU01QUjJfU01QMV8wICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDAwMDgpICAgICAgICAvKiE8Qml0IDAgKi8KKyNkZWZpbmUgIEFEQ19TTVBSMl9TTVAxXzEgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMDAxMCkgICAgICAgIC8qITxCaXQgMSAqLworI2RlZmluZSAgQURDX1NNUFIyX1NNUDFfMiAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwMDIwKSAgICAgICAgLyohPEJpdCAyICovCisjZGVmaW5lICBBRENfU01QUjJfU01QMiAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDAxQzApICAgICAgICAvKiE8U01QMlsyOjBdIGJpdHMgKENoYW5uZWwgMiBTYW1wbGUgdGltZSBzZWxlY3Rpb24pICovCisjZGVmaW5lICBBRENfU01QUjJfU01QMl8wICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDAwNDApICAgICAgICAvKiE8Qml0IDAgKi8KKyNkZWZpbmUgIEFEQ19TTVBSMl9TTVAyXzEgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMDA4MCkgICAgICAgIC8qITxCaXQgMSAqLworI2RlZmluZSAgQURDX1NNUFIyX1NNUDJfMiAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwMTAwKSAgICAgICAgLyohPEJpdCAyICovCisjZGVmaW5lICBBRENfU01QUjJfU01QMyAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDBFMDApICAgICAgICAvKiE8U01QM1syOjBdIGJpdHMgKENoYW5uZWwgMyBTYW1wbGUgdGltZSBzZWxlY3Rpb24pICovCisjZGVmaW5lICBBRENfU01QUjJfU01QM18wICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDAyMDApICAgICAgICAvKiE8Qml0IDAgKi8KKyNkZWZpbmUgIEFEQ19TTVBSMl9TTVAzXzEgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMDQwMCkgICAgICAgIC8qITxCaXQgMSAqLworI2RlZmluZSAgQURDX1NNUFIyX1NNUDNfMiAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwODAwKSAgICAgICAgLyohPEJpdCAyICovCisjZGVmaW5lICBBRENfU01QUjJfU01QNCAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDcwMDApICAgICAgICAvKiE8U01QNFsyOjBdIGJpdHMgKENoYW5uZWwgNCBTYW1wbGUgdGltZSBzZWxlY3Rpb24pICovCisjZGVmaW5lICBBRENfU01QUjJfU01QNF8wICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDEwMDApICAgICAgICAvKiE8Qml0IDAgKi8KKyNkZWZpbmUgIEFEQ19TTVBSMl9TTVA0XzEgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMjAwMCkgICAgICAgIC8qITxCaXQgMSAqLworI2RlZmluZSAgQURDX1NNUFIyX1NNUDRfMiAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDA0MDAwKSAgICAgICAgLyohPEJpdCAyICovCisjZGVmaW5lICBBRENfU01QUjJfU01QNSAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMzgwMDApICAgICAgICAvKiE8U01QNVsyOjBdIGJpdHMgKENoYW5uZWwgNSBTYW1wbGUgdGltZSBzZWxlY3Rpb24pICovCisjZGVmaW5lICBBRENfU01QUjJfU01QNV8wICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDgwMDApICAgICAgICAvKiE8Qml0IDAgKi8KKyNkZWZpbmUgIEFEQ19TTVBSMl9TTVA1XzEgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAxMDAwMCkgICAgICAgIC8qITxCaXQgMSAqLworI2RlZmluZSAgQURDX1NNUFIyX1NNUDVfMiAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDIwMDAwKSAgICAgICAgLyohPEJpdCAyICovCisjZGVmaW5lICBBRENfU01QUjJfU01QNiAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAxQzAwMDApICAgICAgICAvKiE8U01QNlsyOjBdIGJpdHMgKENoYW5uZWwgNiBTYW1wbGUgdGltZSBzZWxlY3Rpb24pICovCisjZGVmaW5lICBBRENfU01QUjJfU01QNl8wICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwNDAwMDApICAgICAgICAvKiE8Qml0IDAgKi8KKyNkZWZpbmUgIEFEQ19TTVBSMl9TTVA2XzEgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDA4MDAwMCkgICAgICAgIC8qITxCaXQgMSAqLworI2RlZmluZSAgQURDX1NNUFIyX1NNUDZfMiAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMTAwMDAwKSAgICAgICAgLyohPEJpdCAyICovCisjZGVmaW5lICBBRENfU01QUjJfU01QNyAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDBFMDAwMDApICAgICAgICAvKiE8U01QN1syOjBdIGJpdHMgKENoYW5uZWwgNyBTYW1wbGUgdGltZSBzZWxlY3Rpb24pICovCisjZGVmaW5lICBBRENfU01QUjJfU01QN18wICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAyMDAwMDApICAgICAgICAvKiE8Qml0IDAgKi8KKyNkZWZpbmUgIEFEQ19TTVBSMl9TTVA3XzEgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDQwMDAwMCkgICAgICAgIC8qITxCaXQgMSAqLworI2RlZmluZSAgQURDX1NNUFIyX1NNUDdfMiAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwODAwMDAwKSAgICAgICAgLyohPEJpdCAyICovCisjZGVmaW5lICBBRENfU01QUjJfU01QOCAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDcwMDAwMDApICAgICAgICAvKiE8U01QOFsyOjBdIGJpdHMgKENoYW5uZWwgOCBTYW1wbGUgdGltZSBzZWxlY3Rpb24pICovCisjZGVmaW5lICBBRENfU01QUjJfU01QOF8wICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDEwMDAwMDApICAgICAgICAvKiE8Qml0IDAgKi8KKyNkZWZpbmUgIEFEQ19TTVBSMl9TTVA4XzEgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMjAwMDAwMCkgICAgICAgIC8qITxCaXQgMSAqLworI2RlZmluZSAgQURDX1NNUFIyX1NNUDhfMiAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDA0MDAwMDAwKSAgICAgICAgLyohPEJpdCAyICovCisjZGVmaW5lICBBRENfU01QUjJfU01QOSAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MzgwMDAwMDApICAgICAgICAvKiE8U01QOVsyOjBdIGJpdHMgKENoYW5uZWwgOSBTYW1wbGUgdGltZSBzZWxlY3Rpb24pICovCisjZGVmaW5lICBBRENfU01QUjJfU01QOV8wICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDgwMDAwMDApICAgICAgICAvKiE8Qml0IDAgKi8KKyNkZWZpbmUgIEFEQ19TTVBSMl9TTVA5XzEgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgxMDAwMDAwMCkgICAgICAgIC8qITxCaXQgMSAqLworI2RlZmluZSAgQURDX1NNUFIyX1NNUDlfMiAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDIwMDAwMDAwKSAgICAgICAgLyohPEJpdCAyICovCisKKy8qKioqKioqKioqKioqKioqKiogIEJpdCBkZWZpbml0aW9uIGZvciBBRENfSk9GUjEgcmVnaXN0ZXIgICoqKioqKioqKioqKioqKioqKiovCisjZGVmaW5lICBBRENfSk9GUjFfSk9GRlNFVDEgICAgICAgICAgICAgICAgICAoKHVpbnQxNl90KTB4MEZGRikgICAgICAgICAgICAvKiE8RGF0YSBvZmZzZXQgZm9yIGluamVjdGVkIGNoYW5uZWwgMSAqLworCisvKioqKioqKioqKioqKioqKioqICBCaXQgZGVmaW5pdGlvbiBmb3IgQURDX0pPRlIyIHJlZ2lzdGVyICAqKioqKioqKioqKioqKioqKioqLworI2RlZmluZSAgQURDX0pPRlIyX0pPRkZTRVQyICAgICAgICAgICAgICAgICAgKCh1aW50MTZfdCkweDBGRkYpICAgICAgICAgICAgLyohPERhdGEgb2Zmc2V0IGZvciBpbmplY3RlZCBjaGFubmVsIDIgKi8KKworLyoqKioqKioqKioqKioqKioqKiAgQml0IGRlZmluaXRpb24gZm9yIEFEQ19KT0ZSMyByZWdpc3RlciAgKioqKioqKioqKioqKioqKioqKi8KKyNkZWZpbmUgIEFEQ19KT0ZSM19KT0ZGU0VUMyAgICAgICAgICAgICAgICAgICgodWludDE2X3QpMHgwRkZGKSAgICAgICAgICAgIC8qITxEYXRhIG9mZnNldCBmb3IgaW5qZWN0ZWQgY2hhbm5lbCAzICovCisKKy8qKioqKioqKioqKioqKioqKiogIEJpdCBkZWZpbml0aW9uIGZvciBBRENfSk9GUjQgcmVnaXN0ZXIgICoqKioqKioqKioqKioqKioqKiovCisjZGVmaW5lICBBRENfSk9GUjRfSk9GRlNFVDQgICAgICAgICAgICAgICAgICAoKHVpbnQxNl90KTB4MEZGRikgICAgICAgICAgICAvKiE8RGF0YSBvZmZzZXQgZm9yIGluamVjdGVkIGNoYW5uZWwgNCAqLworCisvKioqKioqKioqKioqKioqKioqKiAgQml0IGRlZmluaXRpb24gZm9yIEFEQ19IVFIgcmVnaXN0ZXIgICoqKioqKioqKioqKioqKioqKioqLworI2RlZmluZSAgQURDX0hUUl9IVCAgICAgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MTZfdCkweDBGRkYpICAgICAgICAgICAgLyohPEFuYWxvZyB3YXRjaGRvZyBoaWdoIHRocmVzaG9sZCAqLworCisvKioqKioqKioqKioqKioqKioqKiAgQml0IGRlZmluaXRpb24gZm9yIEFEQ19MVFIgcmVnaXN0ZXIgICoqKioqKioqKioqKioqKioqKioqLworI2RlZmluZSAgQURDX0xUUl9MVCAgICAgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MTZfdCkweDBGRkYpICAgICAgICAgICAgLyohPEFuYWxvZyB3YXRjaGRvZyBsb3cgdGhyZXNob2xkICovCisKKy8qKioqKioqKioqKioqKioqKioqICBCaXQgZGVmaW5pdGlvbiBmb3IgQURDX1NRUjEgcmVnaXN0ZXIgICoqKioqKioqKioqKioqKioqKiovCisjZGVmaW5lICBBRENfU1FSMV9TUTEzICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDAwMUYpICAgICAgICAvKiE8U1ExM1s0OjBdIGJpdHMgKDEzdGggY29udmVyc2lvbiBpbiByZWd1bGFyIHNlcXVlbmNlKSAqLworI2RlZmluZSAgQURDX1NRUjFfU1ExM18wICAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwMDAxKSAgICAgICAgLyohPEJpdCAwICovCisjZGVmaW5lICBBRENfU1FSMV9TUTEzXzEgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDAwMDIpICAgICAgICAvKiE8Qml0IDEgKi8KKyNkZWZpbmUgIEFEQ19TUVIxX1NRMTNfMiAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMDAwNCkgICAgICAgIC8qITxCaXQgMiAqLworI2RlZmluZSAgQURDX1NRUjFfU1ExM18zICAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwMDA4KSAgICAgICAgLyohPEJpdCAzICovCisjZGVmaW5lICBBRENfU1FSMV9TUTEzXzQgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDAwMTApICAgICAgICAvKiE8Qml0IDQgKi8KKyNkZWZpbmUgIEFEQ19TUVIxX1NRMTQgICAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMDNFMCkgICAgICAgIC8qITxTUTE0WzQ6MF0gYml0cyAoMTR0aCBjb252ZXJzaW9uIGluIHJlZ3VsYXIgc2VxdWVuY2UpICovCisjZGVmaW5lICBBRENfU1FSMV9TUTE0XzAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDAwMjApICAgICAgICAvKiE8Qml0IDAgKi8KKyNkZWZpbmUgIEFEQ19TUVIxX1NRMTRfMSAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMDA0MCkgICAgICAgIC8qITxCaXQgMSAqLworI2RlZmluZSAgQURDX1NRUjFfU1ExNF8yICAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwMDgwKSAgICAgICAgLyohPEJpdCAyICovCisjZGVmaW5lICBBRENfU1FSMV9TUTE0XzMgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDAxMDApICAgICAgICAvKiE8Qml0IDMgKi8KKyNkZWZpbmUgIEFEQ19TUVIxX1NRMTRfNCAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMDIwMCkgICAgICAgIC8qITxCaXQgNCAqLworI2RlZmluZSAgQURDX1NRUjFfU1ExNSAgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDA3QzAwKSAgICAgICAgLyohPFNRMTVbNDowXSBiaXRzICgxNXRoIGNvbnZlcnNpb24gaW4gcmVndWxhciBzZXF1ZW5jZSkgKi8KKyNkZWZpbmUgIEFEQ19TUVIxX1NRMTVfMCAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMDQwMCkgICAgICAgIC8qITxCaXQgMCAqLworI2RlZmluZSAgQURDX1NRUjFfU1ExNV8xICAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwODAwKSAgICAgICAgLyohPEJpdCAxICovCisjZGVmaW5lICBBRENfU1FSMV9TUTE1XzIgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDEwMDApICAgICAgICAvKiE8Qml0IDIgKi8KKyNkZWZpbmUgIEFEQ19TUVIxX1NRMTVfMyAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMjAwMCkgICAgICAgIC8qITxCaXQgMyAqLworI2RlZmluZSAgQURDX1NRUjFfU1ExNV80ICAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDA0MDAwKSAgICAgICAgLyohPEJpdCA0ICovCisjZGVmaW5lICBBRENfU1FSMV9TUTE2ICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwRjgwMDApICAgICAgICAvKiE8U1ExNls0OjBdIGJpdHMgKDE2dGggY29udmVyc2lvbiBpbiByZWd1bGFyIHNlcXVlbmNlKSAqLworI2RlZmluZSAgQURDX1NRUjFfU1ExNl8wICAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDA4MDAwKSAgICAgICAgLyohPEJpdCAwICovCisjZGVmaW5lICBBRENfU1FSMV9TUTE2XzEgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMTAwMDApICAgICAgICAvKiE8Qml0IDEgKi8KKyNkZWZpbmUgIEFEQ19TUVIxX1NRMTZfMiAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAyMDAwMCkgICAgICAgIC8qITxCaXQgMiAqLworI2RlZmluZSAgQURDX1NRUjFfU1ExNl8zICAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDQwMDAwKSAgICAgICAgLyohPEJpdCAzICovCisjZGVmaW5lICBBRENfU1FSMV9TUTE2XzQgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwODAwMDApICAgICAgICAvKiE8Qml0IDQgKi8KKyNkZWZpbmUgIEFEQ19TUVIxX0wgICAgICAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMEYwMDAwMCkgICAgICAgIC8qITxMWzM6MF0gYml0cyAoUmVndWxhciBjaGFubmVsIHNlcXVlbmNlIGxlbmd0aCkgKi8KKyNkZWZpbmUgIEFEQ19TUVIxX0xfMCAgICAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDEwMDAwMCkgICAgICAgIC8qITxCaXQgMCAqLworI2RlZmluZSAgQURDX1NRUjFfTF8xICAgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMjAwMDAwKSAgICAgICAgLyohPEJpdCAxICovCisjZGVmaW5lICBBRENfU1FSMV9MXzIgICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDA0MDAwMDApICAgICAgICAvKiE8Qml0IDIgKi8KKyNkZWZpbmUgIEFEQ19TUVIxX0xfMyAgICAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDgwMDAwMCkgICAgICAgIC8qITxCaXQgMyAqLworCisvKioqKioqKioqKioqKioqKioqKiAgQml0IGRlZmluaXRpb24gZm9yIEFEQ19TUVIyIHJlZ2lzdGVyICAqKioqKioqKioqKioqKioqKioqLworI2RlZmluZSAgQURDX1NRUjJfU1E3ICAgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwMDFGKSAgICAgICAgLyohPFNRN1s0OjBdIGJpdHMgKDd0aCBjb252ZXJzaW9uIGluIHJlZ3VsYXIgc2VxdWVuY2UpICovCisjZGVmaW5lICBBRENfU1FSMl9TUTdfMCAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDAwMDEpICAgICAgICAvKiE8Qml0IDAgKi8KKyNkZWZpbmUgIEFEQ19TUVIyX1NRN18xICAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMDAwMikgICAgICAgIC8qITxCaXQgMSAqLworI2RlZmluZSAgQURDX1NRUjJfU1E3XzIgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwMDA0KSAgICAgICAgLyohPEJpdCAyICovCisjZGVmaW5lICBBRENfU1FSMl9TUTdfMyAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDAwMDgpICAgICAgICAvKiE8Qml0IDMgKi8KKyNkZWZpbmUgIEFEQ19TUVIyX1NRN180ICAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMDAxMCkgICAgICAgIC8qITxCaXQgNCAqLworI2RlZmluZSAgQURDX1NRUjJfU1E4ICAgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwM0UwKSAgICAgICAgLyohPFNROFs0OjBdIGJpdHMgKDh0aCBjb252ZXJzaW9uIGluIHJlZ3VsYXIgc2VxdWVuY2UpICovCisjZGVmaW5lICBBRENfU1FSMl9TUThfMCAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDAwMjApICAgICAgICAvKiE8Qml0IDAgKi8KKyNkZWZpbmUgIEFEQ19TUVIyX1NROF8xICAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMDA0MCkgICAgICAgIC8qITxCaXQgMSAqLworI2RlZmluZSAgQURDX1NRUjJfU1E4XzIgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwMDgwKSAgICAgICAgLyohPEJpdCAyICovCisjZGVmaW5lICBBRENfU1FSMl9TUThfMyAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDAxMDApICAgICAgICAvKiE8Qml0IDMgKi8KKyNkZWZpbmUgIEFEQ19TUVIyX1NROF80ICAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMDIwMCkgICAgICAgIC8qITxCaXQgNCAqLworI2RlZmluZSAgQURDX1NRUjJfU1E5ICAgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDA3QzAwKSAgICAgICAgLyohPFNROVs0OjBdIGJpdHMgKDl0aCBjb252ZXJzaW9uIGluIHJlZ3VsYXIgc2VxdWVuY2UpICovCisjZGVmaW5lICBBRENfU1FSMl9TUTlfMCAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDA0MDApICAgICAgICAvKiE8Qml0IDAgKi8KKyNkZWZpbmUgIEFEQ19TUVIyX1NROV8xICAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMDgwMCkgICAgICAgIC8qITxCaXQgMSAqLworI2RlZmluZSAgQURDX1NRUjJfU1E5XzIgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAxMDAwKSAgICAgICAgLyohPEJpdCAyICovCisjZGVmaW5lICBBRENfU1FSMl9TUTlfMyAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDIwMDApICAgICAgICAvKiE8Qml0IDMgKi8KKyNkZWZpbmUgIEFEQ19TUVIyX1NROV80ICAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwNDAwMCkgICAgICAgIC8qITxCaXQgNCAqLworI2RlZmluZSAgQURDX1NRUjJfU1ExMCAgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMEY4MDAwKSAgICAgICAgLyohPFNRMTBbNDowXSBiaXRzICgxMHRoIGNvbnZlcnNpb24gaW4gcmVndWxhciBzZXF1ZW5jZSkgKi8KKyNkZWZpbmUgIEFEQ19TUVIyX1NRMTBfMCAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwODAwMCkgICAgICAgIC8qITxCaXQgMCAqLworI2RlZmluZSAgQURDX1NRUjJfU1ExMF8xICAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDEwMDAwKSAgICAgICAgLyohPEJpdCAxICovCisjZGVmaW5lICBBRENfU1FSMl9TUTEwXzIgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMjAwMDApICAgICAgICAvKiE8Qml0IDIgKi8KKyNkZWZpbmUgIEFEQ19TUVIyX1NRMTBfMyAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDA0MDAwMCkgICAgICAgIC8qITxCaXQgMyAqLworI2RlZmluZSAgQURDX1NRUjJfU1ExMF80ICAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDgwMDAwKSAgICAgICAgLyohPEJpdCA0ICovCisjZGVmaW5lICBBRENfU1FSMl9TUTExICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDFGMDAwMDApICAgICAgICAvKiE8U1ExMVs0OjBdIGJpdHMgKDExdGggY29udmVyc2lvbiBpbiByZWd1bGFyIHNlcXVlbmNlKSAqLworI2RlZmluZSAgQURDX1NRUjJfU1ExMV8wICAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMTAwMDAwKSAgICAgICAgLyohPEJpdCAwICovCisjZGVmaW5lICBBRENfU1FSMl9TUTExXzEgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAyMDAwMDApICAgICAgICAvKiE8Qml0IDEgKi8KKyNkZWZpbmUgIEFEQ19TUVIyX1NRMTFfMiAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDQwMDAwMCkgICAgICAgIC8qITxCaXQgMiAqLworI2RlZmluZSAgQURDX1NRUjJfU1ExMV8zICAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwODAwMDAwKSAgICAgICAgLyohPEJpdCAzICovCisjZGVmaW5lICBBRENfU1FSMl9TUTExXzQgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDEwMDAwMDApICAgICAgICAvKiE8Qml0IDQgKi8KKyNkZWZpbmUgIEFEQ19TUVIyX1NRMTIgICAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgzRTAwMDAwMCkgICAgICAgIC8qITxTUTEyWzQ6MF0gYml0cyAoMTJ0aCBjb252ZXJzaW9uIGluIHJlZ3VsYXIgc2VxdWVuY2UpICovCisjZGVmaW5lICBBRENfU1FSMl9TUTEyXzAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDIwMDAwMDApICAgICAgICAvKiE8Qml0IDAgKi8KKyNkZWZpbmUgIEFEQ19TUVIyX1NRMTJfMSAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwNDAwMDAwMCkgICAgICAgIC8qITxCaXQgMSAqLworI2RlZmluZSAgQURDX1NRUjJfU1ExMl8yICAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDA4MDAwMDAwKSAgICAgICAgLyohPEJpdCAyICovCisjZGVmaW5lICBBRENfU1FSMl9TUTEyXzMgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MTAwMDAwMDApICAgICAgICAvKiE8Qml0IDMgKi8KKyNkZWZpbmUgIEFEQ19TUVIyX1NRMTJfNCAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgyMDAwMDAwMCkgICAgICAgIC8qITxCaXQgNCAqLworCisvKioqKioqKioqKioqKioqKioqKiAgQml0IGRlZmluaXRpb24gZm9yIEFEQ19TUVIzIHJlZ2lzdGVyICAqKioqKioqKioqKioqKioqKioqLworI2RlZmluZSAgQURDX1NRUjNfU1ExICAgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwMDFGKSAgICAgICAgLyohPFNRMVs0OjBdIGJpdHMgKDFzdCBjb252ZXJzaW9uIGluIHJlZ3VsYXIgc2VxdWVuY2UpICovCisjZGVmaW5lICBBRENfU1FSM19TUTFfMCAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDAwMDEpICAgICAgICAvKiE8Qml0IDAgKi8KKyNkZWZpbmUgIEFEQ19TUVIzX1NRMV8xICAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMDAwMikgICAgICAgIC8qITxCaXQgMSAqLworI2RlZmluZSAgQURDX1NRUjNfU1ExXzIgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwMDA0KSAgICAgICAgLyohPEJpdCAyICovCisjZGVmaW5lICBBRENfU1FSM19TUTFfMyAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDAwMDgpICAgICAgICAvKiE8Qml0IDMgKi8KKyNkZWZpbmUgIEFEQ19TUVIzX1NRMV80ICAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMDAxMCkgICAgICAgIC8qITxCaXQgNCAqLworI2RlZmluZSAgQURDX1NRUjNfU1EyICAgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwM0UwKSAgICAgICAgLyohPFNRMls0OjBdIGJpdHMgKDJuZCBjb252ZXJzaW9uIGluIHJlZ3VsYXIgc2VxdWVuY2UpICovCisjZGVmaW5lICBBRENfU1FSM19TUTJfMCAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDAwMjApICAgICAgICAvKiE8Qml0IDAgKi8KKyNkZWZpbmUgIEFEQ19TUVIzX1NRMl8xICAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMDA0MCkgICAgICAgIC8qITxCaXQgMSAqLworI2RlZmluZSAgQURDX1NRUjNfU1EyXzIgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwMDgwKSAgICAgICAgLyohPEJpdCAyICovCisjZGVmaW5lICBBRENfU1FSM19TUTJfMyAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDAxMDApICAgICAgICAvKiE8Qml0IDMgKi8KKyNkZWZpbmUgIEFEQ19TUVIzX1NRMl80ICAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMDIwMCkgICAgICAgIC8qITxCaXQgNCAqLworI2RlZmluZSAgQURDX1NRUjNfU1EzICAgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDA3QzAwKSAgICAgICAgLyohPFNRM1s0OjBdIGJpdHMgKDNyZCBjb252ZXJzaW9uIGluIHJlZ3VsYXIgc2VxdWVuY2UpICovCisjZGVmaW5lICBBRENfU1FSM19TUTNfMCAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDA0MDApICAgICAgICAvKiE8Qml0IDAgKi8KKyNkZWZpbmUgIEFEQ19TUVIzX1NRM18xICAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMDgwMCkgICAgICAgIC8qITxCaXQgMSAqLworI2RlZmluZSAgQURDX1NRUjNfU1EzXzIgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAxMDAwKSAgICAgICAgLyohPEJpdCAyICovCisjZGVmaW5lICBBRENfU1FSM19TUTNfMyAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDIwMDApICAgICAgICAvKiE8Qml0IDMgKi8KKyNkZWZpbmUgIEFEQ19TUVIzX1NRM180ICAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwNDAwMCkgICAgICAgIC8qITxCaXQgNCAqLworI2RlZmluZSAgQURDX1NRUjNfU1E0ICAgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMEY4MDAwKSAgICAgICAgLyohPFNRNFs0OjBdIGJpdHMgKDR0aCBjb252ZXJzaW9uIGluIHJlZ3VsYXIgc2VxdWVuY2UpICovCisjZGVmaW5lICBBRENfU1FSM19TUTRfMCAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDgwMDApICAgICAgICAvKiE8Qml0IDAgKi8KKyNkZWZpbmUgIEFEQ19TUVIzX1NRNF8xICAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAxMDAwMCkgICAgICAgIC8qITxCaXQgMSAqLworI2RlZmluZSAgQURDX1NRUjNfU1E0XzIgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDIwMDAwKSAgICAgICAgLyohPEJpdCAyICovCisjZGVmaW5lICBBRENfU1FSM19TUTRfMyAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwNDAwMDApICAgICAgICAvKiE8Qml0IDMgKi8KKyNkZWZpbmUgIEFEQ19TUVIzX1NRNF80ICAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDA4MDAwMCkgICAgICAgIC8qITxCaXQgNCAqLworI2RlZmluZSAgQURDX1NRUjNfU1E1ICAgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAxRjAwMDAwKSAgICAgICAgLyohPFNRNVs0OjBdIGJpdHMgKDV0aCBjb252ZXJzaW9uIGluIHJlZ3VsYXIgc2VxdWVuY2UpICovCisjZGVmaW5lICBBRENfU1FSM19TUTVfMCAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAxMDAwMDApICAgICAgICAvKiE8Qml0IDAgKi8KKyNkZWZpbmUgIEFEQ19TUVIzX1NRNV8xICAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDIwMDAwMCkgICAgICAgIC8qITxCaXQgMSAqLworI2RlZmluZSAgQURDX1NRUjNfU1E1XzIgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwNDAwMDAwKSAgICAgICAgLyohPEJpdCAyICovCisjZGVmaW5lICBBRENfU1FSM19TUTVfMyAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDA4MDAwMDApICAgICAgICAvKiE8Qml0IDMgKi8KKyNkZWZpbmUgIEFEQ19TUVIzX1NRNV80ICAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMTAwMDAwMCkgICAgICAgIC8qITxCaXQgNCAqLworI2RlZmluZSAgQURDX1NRUjNfU1E2ICAgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDNFMDAwMDAwKSAgICAgICAgLyohPFNRNls0OjBdIGJpdHMgKDZ0aCBjb252ZXJzaW9uIGluIHJlZ3VsYXIgc2VxdWVuY2UpICovCisjZGVmaW5lICBBRENfU1FSM19TUTZfMCAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDIwMDAwMDApICAgICAgICAvKiE8Qml0IDAgKi8KKyNkZWZpbmUgIEFEQ19TUVIzX1NRNl8xICAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwNDAwMDAwMCkgICAgICAgIC8qITxCaXQgMSAqLworI2RlZmluZSAgQURDX1NRUjNfU1E2XzIgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDA4MDAwMDAwKSAgICAgICAgLyohPEJpdCAyICovCisjZGVmaW5lICBBRENfU1FSM19TUTZfMyAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MTAwMDAwMDApICAgICAgICAvKiE8Qml0IDMgKi8KKyNkZWZpbmUgIEFEQ19TUVIzX1NRNl80ICAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgyMDAwMDAwMCkgICAgICAgIC8qITxCaXQgNCAqLworCisvKioqKioqKioqKioqKioqKioqKiAgQml0IGRlZmluaXRpb24gZm9yIEFEQ19KU1FSIHJlZ2lzdGVyICAqKioqKioqKioqKioqKioqKioqLworI2RlZmluZSAgQURDX0pTUVJfSlNRMSAgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwMDFGKSAgICAgICAgLyohPEpTUTFbNDowXSBiaXRzICgxc3QgY29udmVyc2lvbiBpbiBpbmplY3RlZCBzZXF1ZW5jZSkgKi8gIAorI2RlZmluZSAgQURDX0pTUVJfSlNRMV8wICAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwMDAxKSAgICAgICAgLyohPEJpdCAwICovCisjZGVmaW5lICBBRENfSlNRUl9KU1ExXzEgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDAwMDIpICAgICAgICAvKiE8Qml0IDEgKi8KKyNkZWZpbmUgIEFEQ19KU1FSX0pTUTFfMiAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMDAwNCkgICAgICAgIC8qITxCaXQgMiAqLworI2RlZmluZSAgQURDX0pTUVJfSlNRMV8zICAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwMDA4KSAgICAgICAgLyohPEJpdCAzICovCisjZGVmaW5lICBBRENfSlNRUl9KU1ExXzQgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDAwMTApICAgICAgICAvKiE8Qml0IDQgKi8KKyNkZWZpbmUgIEFEQ19KU1FSX0pTUTIgICAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMDNFMCkgICAgICAgIC8qITxKU1EyWzQ6MF0gYml0cyAoMm5kIGNvbnZlcnNpb24gaW4gaW5qZWN0ZWQgc2VxdWVuY2UpICovCisjZGVmaW5lICBBRENfSlNRUl9KU1EyXzAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDAwMjApICAgICAgICAvKiE8Qml0IDAgKi8KKyNkZWZpbmUgIEFEQ19KU1FSX0pTUTJfMSAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMDA0MCkgICAgICAgIC8qITxCaXQgMSAqLworI2RlZmluZSAgQURDX0pTUVJfSlNRMl8yICAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwMDgwKSAgICAgICAgLyohPEJpdCAyICovCisjZGVmaW5lICBBRENfSlNRUl9KU1EyXzMgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDAxMDApICAgICAgICAvKiE8Qml0IDMgKi8KKyNkZWZpbmUgIEFEQ19KU1FSX0pTUTJfNCAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMDIwMCkgICAgICAgIC8qITxCaXQgNCAqLworI2RlZmluZSAgQURDX0pTUVJfSlNRMyAgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDA3QzAwKSAgICAgICAgLyohPEpTUTNbNDowXSBiaXRzICgzcmQgY29udmVyc2lvbiBpbiBpbmplY3RlZCBzZXF1ZW5jZSkgKi8KKyNkZWZpbmUgIEFEQ19KU1FSX0pTUTNfMCAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMDQwMCkgICAgICAgIC8qITxCaXQgMCAqLworI2RlZmluZSAgQURDX0pTUVJfSlNRM18xICAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwODAwKSAgICAgICAgLyohPEJpdCAxICovCisjZGVmaW5lICBBRENfSlNRUl9KU1EzXzIgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDEwMDApICAgICAgICAvKiE8Qml0IDIgKi8KKyNkZWZpbmUgIEFEQ19KU1FSX0pTUTNfMyAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMjAwMCkgICAgICAgIC8qITxCaXQgMyAqLworI2RlZmluZSAgQURDX0pTUVJfSlNRM180ICAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDA0MDAwKSAgICAgICAgLyohPEJpdCA0ICovCisjZGVmaW5lICBBRENfSlNRUl9KU1E0ICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwRjgwMDApICAgICAgICAvKiE8SlNRNFs0OjBdIGJpdHMgKDR0aCBjb252ZXJzaW9uIGluIGluamVjdGVkIHNlcXVlbmNlKSAqLworI2RlZmluZSAgQURDX0pTUVJfSlNRNF8wICAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDA4MDAwKSAgICAgICAgLyohPEJpdCAwICovCisjZGVmaW5lICBBRENfSlNRUl9KU1E0XzEgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMTAwMDApICAgICAgICAvKiE8Qml0IDEgKi8KKyNkZWZpbmUgIEFEQ19KU1FSX0pTUTRfMiAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAyMDAwMCkgICAgICAgIC8qITxCaXQgMiAqLworI2RlZmluZSAgQURDX0pTUVJfSlNRNF8zICAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDQwMDAwKSAgICAgICAgLyohPEJpdCAzICovCisjZGVmaW5lICBBRENfSlNRUl9KU1E0XzQgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwODAwMDApICAgICAgICAvKiE8Qml0IDQgKi8KKyNkZWZpbmUgIEFEQ19KU1FSX0pMICAgICAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDMwMDAwMCkgICAgICAgIC8qITxKTFsxOjBdIGJpdHMgKEluamVjdGVkIFNlcXVlbmNlIGxlbmd0aCkgKi8KKyNkZWZpbmUgIEFEQ19KU1FSX0pMXzAgICAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDEwMDAwMCkgICAgICAgIC8qITxCaXQgMCAqLworI2RlZmluZSAgQURDX0pTUVJfSkxfMSAgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMjAwMDAwKSAgICAgICAgLyohPEJpdCAxICovCisKKy8qKioqKioqKioqKioqKioqKioqICBCaXQgZGVmaW5pdGlvbiBmb3IgQURDX0pEUjEgcmVnaXN0ZXIgICoqKioqKioqKioqKioqKioqKiovCisjZGVmaW5lICBBRENfSkRSMV9KREFUQSAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQxNl90KTB4RkZGRikgICAgICAgICAgICAvKiE8SW5qZWN0ZWQgZGF0YSAqLworCisvKioqKioqKioqKioqKioqKioqKiAgQml0IGRlZmluaXRpb24gZm9yIEFEQ19KRFIyIHJlZ2lzdGVyICAqKioqKioqKioqKioqKioqKioqLworI2RlZmluZSAgQURDX0pEUjJfSkRBVEEgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MTZfdCkweEZGRkYpICAgICAgICAgICAgLyohPEluamVjdGVkIGRhdGEgKi8KKworLyoqKioqKioqKioqKioqKioqKiogIEJpdCBkZWZpbml0aW9uIGZvciBBRENfSkRSMyByZWdpc3RlciAgKioqKioqKioqKioqKioqKioqKi8KKyNkZWZpbmUgIEFEQ19KRFIzX0pEQVRBICAgICAgICAgICAgICAgICAgICAgICgodWludDE2X3QpMHhGRkZGKSAgICAgICAgICAgIC8qITxJbmplY3RlZCBkYXRhICovCisKKy8qKioqKioqKioqKioqKioqKioqICBCaXQgZGVmaW5pdGlvbiBmb3IgQURDX0pEUjQgcmVnaXN0ZXIgICoqKioqKioqKioqKioqKioqKiovCisjZGVmaW5lICBBRENfSkRSNF9KREFUQSAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQxNl90KTB4RkZGRikgICAgICAgICAgICAvKiE8SW5qZWN0ZWQgZGF0YSAqLworCisvKioqKioqKioqKioqKioqKioqKiogIEJpdCBkZWZpbml0aW9uIGZvciBBRENfRFIgcmVnaXN0ZXIgICoqKioqKioqKioqKioqKioqKioqLworI2RlZmluZSAgQURDX0RSX0RBVEEgICAgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDBGRkZGKSAgICAgICAgLyohPFJlZ3VsYXIgZGF0YSAqLworI2RlZmluZSAgQURDX0RSX0FEQzJEQVRBICAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweEZGRkYwMDAwKSAgICAgICAgLyohPEFEQzIgZGF0YSAqLworCisvKioqKioqKioqKioqKioqKioqKiAgQml0IGRlZmluaXRpb24gZm9yIEFEQ19DU1IgcmVnaXN0ZXIgICoqKioqKioqKioqKioqKioqKioqLworI2RlZmluZSAgQURDX0NTUl9BV0QxICAgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwMDAxKSAgICAgICAgLyohPEFEQzEgQW5hbG9nIHdhdGNoZG9nIGZsYWcgKi8KKyNkZWZpbmUgIEFEQ19DU1JfRU9DMSAgICAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMDAwMikgICAgICAgIC8qITxBREMxIEVuZCBvZiBjb252ZXJzaW9uICovCisjZGVmaW5lICBBRENfQ1NSX0pFT0MxICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDAwMDQpICAgICAgICAvKiE8QURDMSBJbmplY3RlZCBjaGFubmVsIGVuZCBvZiBjb252ZXJzaW9uICovCisjZGVmaW5lICBBRENfQ1NSX0pTVFJUMSAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDAwMDgpICAgICAgICAvKiE8QURDMSBJbmplY3RlZCBjaGFubmVsIFN0YXJ0IGZsYWcgKi8KKyNkZWZpbmUgIEFEQ19DU1JfU1RSVDEgICAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMDAxMCkgICAgICAgIC8qITxBREMxIFJlZ3VsYXIgY2hhbm5lbCBTdGFydCBmbGFnICovCisjZGVmaW5lICBBRENfQ1NSX0RPVlIxICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDAwMjApICAgICAgICAvKiE8QURDMSBETUEgb3ZlcnJ1biAgZmxhZyAqLworI2RlZmluZSAgQURDX0NTUl9BV0QyICAgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwMTAwKSAgICAgICAgLyohPEFEQzIgQW5hbG9nIHdhdGNoZG9nIGZsYWcgKi8KKyNkZWZpbmUgIEFEQ19DU1JfRU9DMiAgICAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMDIwMCkgICAgICAgIC8qITxBREMyIEVuZCBvZiBjb252ZXJzaW9uICovCisjZGVmaW5lICBBRENfQ1NSX0pFT0MyICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDA0MDApICAgICAgICAvKiE8QURDMiBJbmplY3RlZCBjaGFubmVsIGVuZCBvZiBjb252ZXJzaW9uICovCisjZGVmaW5lICBBRENfQ1NSX0pTVFJUMiAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDA4MDApICAgICAgICAvKiE8QURDMiBJbmplY3RlZCBjaGFubmVsIFN0YXJ0IGZsYWcgKi8KKyNkZWZpbmUgIEFEQ19DU1JfU1RSVDIgICAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMTAwMCkgICAgICAgIC8qITxBREMyIFJlZ3VsYXIgY2hhbm5lbCBTdGFydCBmbGFnICovCisjZGVmaW5lICBBRENfQ1NSX0RPVlIyICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDIwMDApICAgICAgICAvKiE8QURDMiBETUEgb3ZlcnJ1biAgZmxhZyAqLworI2RlZmluZSAgQURDX0NTUl9BV0QzICAgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDEwMDAwKSAgICAgICAgLyohPEFEQzMgQW5hbG9nIHdhdGNoZG9nIGZsYWcgKi8KKyNkZWZpbmUgIEFEQ19DU1JfRU9DMyAgICAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAyMDAwMCkgICAgICAgIC8qITxBREMzIEVuZCBvZiBjb252ZXJzaW9uICovCisjZGVmaW5lICBBRENfQ1NSX0pFT0MzICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwNDAwMDApICAgICAgICAvKiE8QURDMyBJbmplY3RlZCBjaGFubmVsIGVuZCBvZiBjb252ZXJzaW9uICovCisjZGVmaW5lICBBRENfQ1NSX0pTVFJUMyAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwODAwMDApICAgICAgICAvKiE8QURDMyBJbmplY3RlZCBjaGFubmVsIFN0YXJ0IGZsYWcgKi8KKyNkZWZpbmUgIEFEQ19DU1JfU1RSVDMgICAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDEwMDAwMCkgICAgICAgIC8qITxBREMzIFJlZ3VsYXIgY2hhbm5lbCBTdGFydCBmbGFnICovCisjZGVmaW5lICBBRENfQ1NSX0RPVlIzICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAyMDAwMDApICAgICAgICAvKiE8QURDMyBETUEgb3ZlcnJ1biAgZmxhZyAqLworCisvKioqKioqKioqKioqKioqKioqKiAgQml0IGRlZmluaXRpb24gZm9yIEFEQ19DQ1IgcmVnaXN0ZXIgICoqKioqKioqKioqKioqKioqKioqLworI2RlZmluZSAgQURDX0NDUl9NVUxUSSAgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwMDFGKSAgICAgICAgLyohPE1VTFRJWzQ6MF0gYml0cyAoTXVsdGktQURDIG1vZGUgc2VsZWN0aW9uKSAqLyAgCisjZGVmaW5lICBBRENfQ0NSX01VTFRJXzAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDAwMDEpICAgICAgICAvKiE8Qml0IDAgKi8KKyNkZWZpbmUgIEFEQ19DQ1JfTVVMVElfMSAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMDAwMikgICAgICAgIC8qITxCaXQgMSAqLworI2RlZmluZSAgQURDX0NDUl9NVUxUSV8yICAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwMDA0KSAgICAgICAgLyohPEJpdCAyICovCisjZGVmaW5lICBBRENfQ0NSX01VTFRJXzMgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDAwMDgpICAgICAgICAvKiE8Qml0IDMgKi8KKyNkZWZpbmUgIEFEQ19DQ1JfTVVMVElfNCAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMDAxMCkgICAgICAgIC8qITxCaXQgNCAqLworI2RlZmluZSAgQURDX0NDUl9ERUxBWSAgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwRjAwKSAgICAgICAgLyohPERFTEFZWzM6MF0gYml0cyAoRGVsYXkgYmV0d2VlbiAyIHNhbXBsaW5nIHBoYXNlcykgKi8gIAorI2RlZmluZSAgQURDX0NDUl9ERUxBWV8wICAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwMTAwKSAgICAgICAgLyohPEJpdCAwICovCisjZGVmaW5lICBBRENfQ0NSX0RFTEFZXzEgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDAyMDApICAgICAgICAvKiE8Qml0IDEgKi8KKyNkZWZpbmUgIEFEQ19DQ1JfREVMQVlfMiAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMDQwMCkgICAgICAgIC8qITxCaXQgMiAqLworI2RlZmluZSAgQURDX0NDUl9ERUxBWV8zICAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwODAwKSAgICAgICAgLyohPEJpdCAzICovCisjZGVmaW5lICBBRENfQ0NSX0REUyAgICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDIwMDApICAgICAgICAvKiE8RE1BIGRpc2FibGUgc2VsZWN0aW9uIChNdWx0aS1BREMgbW9kZSkgKi8KKyNkZWZpbmUgIEFEQ19DQ1JfRE1BICAgICAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwQzAwMCkgICAgICAgIC8qITxETUFbMTowXSBiaXRzIChEaXJlY3QgTWVtb3J5IEFjY2VzcyBtb2RlIGZvciBtdWx0aW1vZGUpICovICAKKyNkZWZpbmUgIEFEQ19DQ1JfRE1BXzAgICAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwNDAwMCkgICAgICAgIC8qITxCaXQgMCAqLworI2RlZmluZSAgQURDX0NDUl9ETUFfMSAgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDA4MDAwKSAgICAgICAgLyohPEJpdCAxICovCisjZGVmaW5lICBBRENfQ0NSX0FEQ1BSRSAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMzAwMDApICAgICAgICAvKiE8QURDUFJFWzE6MF0gYml0cyAoQURDIHByZXNjYWxlcikgKi8gIAorI2RlZmluZSAgQURDX0NDUl9BRENQUkVfMCAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDEwMDAwKSAgICAgICAgLyohPEJpdCAwICovCisjZGVmaW5lICBBRENfQ0NSX0FEQ1BSRV8xICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMjAwMDApICAgICAgICAvKiE8Qml0IDEgKi8KKyNkZWZpbmUgIEFEQ19DQ1JfVkJBVEUgICAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDQwMDAwMCkgICAgICAgIC8qITxWQkFUIEVuYWJsZSAqLworI2RlZmluZSAgQURDX0NDUl9UU1ZSRUZFICAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwODAwMDAwKSAgICAgICAgLyohPFRlbXBlcmF0dXJlIFNlbnNvciBhbmQgVlJFRklOVCBFbmFibGUgKi8KKworLyoqKioqKioqKioqKioqKioqKiogIEJpdCBkZWZpbml0aW9uIGZvciBBRENfQ0RSIHJlZ2lzdGVyICAqKioqKioqKioqKioqKioqKioqKi8KKyNkZWZpbmUgIEFEQ19DRFJfREFUQTEgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDBGRkZGKSAgICAgICAgIC8qITwxc3QgZGF0YSBvZiBhIHBhaXIgb2YgcmVndWxhciBjb252ZXJzaW9ucyAqLworI2RlZmluZSAgQURDX0NEUl9EQVRBMiAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4RkZGRjAwMDApICAgICAgICAgLyohPDJuZCBkYXRhIG9mIGEgcGFpciBvZiByZWd1bGFyIGNvbnZlcnNpb25zICovCisKKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCisvKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqLworLyogICAgICAgICAgICAgICAgICAgICAgICAgQ29udHJvbGxlciBBcmVhIE5ldHdvcmsgICAgICAgICAgICAgICAgICAgICAgICAgICAgKi8KKy8qICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICovCisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLworLyohPENBTiBjb250cm9sIGFuZCBzdGF0dXMgcmVnaXN0ZXJzICovCisvKioqKioqKioqKioqKioqKioqKiAgQml0IGRlZmluaXRpb24gZm9yIENBTl9NQ1IgcmVnaXN0ZXIgICoqKioqKioqKioqKioqKioqKioqLworI2RlZmluZSAgQ0FOX01DUl9JTlJRICAgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MTZfdCkweDAwMDEpICAgICAgICAgICAgLyohPEluaXRpYWxpemF0aW9uIFJlcXVlc3QgKi8KKyNkZWZpbmUgIENBTl9NQ1JfU0xFRVAgICAgICAgICAgICAgICAgICAgICAgICgodWludDE2X3QpMHgwMDAyKSAgICAgICAgICAgIC8qITxTbGVlcCBNb2RlIFJlcXVlc3QgKi8KKyNkZWZpbmUgIENBTl9NQ1JfVFhGUCAgICAgICAgICAgICAgICAgICAgICAgICgodWludDE2X3QpMHgwMDA0KSAgICAgICAgICAgIC8qITxUcmFuc21pdCBGSUZPIFByaW9yaXR5ICovCisjZGVmaW5lICBDQU5fTUNSX1JGTE0gICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQxNl90KTB4MDAwOCkgICAgICAgICAgICAvKiE8UmVjZWl2ZSBGSUZPIExvY2tlZCBNb2RlICovCisjZGVmaW5lICBDQU5fTUNSX05BUlQgICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQxNl90KTB4MDAxMCkgICAgICAgICAgICAvKiE8Tm8gQXV0b21hdGljIFJldHJhbnNtaXNzaW9uICovCisjZGVmaW5lICBDQU5fTUNSX0FXVU0gICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQxNl90KTB4MDAyMCkgICAgICAgICAgICAvKiE8QXV0b21hdGljIFdha2V1cCBNb2RlICovCisjZGVmaW5lICBDQU5fTUNSX0FCT00gICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQxNl90KTB4MDA0MCkgICAgICAgICAgICAvKiE8QXV0b21hdGljIEJ1cy1PZmYgTWFuYWdlbWVudCAqLworI2RlZmluZSAgQ0FOX01DUl9UVENNICAgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MTZfdCkweDAwODApICAgICAgICAgICAgLyohPFRpbWUgVHJpZ2dlcmVkIENvbW11bmljYXRpb24gTW9kZSAqLworI2RlZmluZSAgQ0FOX01DUl9SRVNFVCAgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MTZfdCkweDgwMDApICAgICAgICAgICAgLyohPGJ4Q0FOIHNvZnR3YXJlIG1hc3RlciByZXNldCAqLworCisvKioqKioqKioqKioqKioqKioqKiAgQml0IGRlZmluaXRpb24gZm9yIENBTl9NU1IgcmVnaXN0ZXIgICoqKioqKioqKioqKioqKioqKioqLworI2RlZmluZSAgQ0FOX01TUl9JTkFLICAgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MTZfdCkweDAwMDEpICAgICAgICAgICAgLyohPEluaXRpYWxpemF0aW9uIEFja25vd2xlZGdlICovCisjZGVmaW5lICBDQU5fTVNSX1NMQUsgICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQxNl90KTB4MDAwMikgICAgICAgICAgICAvKiE8U2xlZXAgQWNrbm93bGVkZ2UgKi8KKyNkZWZpbmUgIENBTl9NU1JfRVJSSSAgICAgICAgICAgICAgICAgICAgICAgICgodWludDE2X3QpMHgwMDA0KSAgICAgICAgICAgIC8qITxFcnJvciBJbnRlcnJ1cHQgKi8KKyNkZWZpbmUgIENBTl9NU1JfV0tVSSAgICAgICAgICAgICAgICAgICAgICAgICgodWludDE2X3QpMHgwMDA4KSAgICAgICAgICAgIC8qITxXYWtldXAgSW50ZXJydXB0ICovCisjZGVmaW5lICBDQU5fTVNSX1NMQUtJICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQxNl90KTB4MDAxMCkgICAgICAgICAgICAvKiE8U2xlZXAgQWNrbm93bGVkZ2UgSW50ZXJydXB0ICovCisjZGVmaW5lICBDQU5fTVNSX1RYTSAgICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQxNl90KTB4MDEwMCkgICAgICAgICAgICAvKiE8VHJhbnNtaXQgTW9kZSAqLworI2RlZmluZSAgQ0FOX01TUl9SWE0gICAgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MTZfdCkweDAyMDApICAgICAgICAgICAgLyohPFJlY2VpdmUgTW9kZSAqLworI2RlZmluZSAgQ0FOX01TUl9TQU1QICAgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MTZfdCkweDA0MDApICAgICAgICAgICAgLyohPExhc3QgU2FtcGxlIFBvaW50ICovCisjZGVmaW5lICBDQU5fTVNSX1JYICAgICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQxNl90KTB4MDgwMCkgICAgICAgICAgICAvKiE8Q0FOIFJ4IFNpZ25hbCAqLworCisvKioqKioqKioqKioqKioqKioqKiAgQml0IGRlZmluaXRpb24gZm9yIENBTl9UU1IgcmVnaXN0ZXIgICoqKioqKioqKioqKioqKioqKioqLworI2RlZmluZSAgQ0FOX1RTUl9SUUNQMCAgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwMDAxKSAgICAgICAgLyohPFJlcXVlc3QgQ29tcGxldGVkIE1haWxib3gwICovCisjZGVmaW5lICBDQU5fVFNSX1RYT0swICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDAwMDIpICAgICAgICAvKiE8VHJhbnNtaXNzaW9uIE9LIG9mIE1haWxib3gwICovCisjZGVmaW5lICBDQU5fVFNSX0FMU1QwICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDAwMDQpICAgICAgICAvKiE8QXJiaXRyYXRpb24gTG9zdCBmb3IgTWFpbGJveDAgKi8KKyNkZWZpbmUgIENBTl9UU1JfVEVSUjAgICAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMDAwOCkgICAgICAgIC8qITxUcmFuc21pc3Npb24gRXJyb3Igb2YgTWFpbGJveDAgKi8KKyNkZWZpbmUgIENBTl9UU1JfQUJSUTAgICAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMDA4MCkgICAgICAgIC8qITxBYm9ydCBSZXF1ZXN0IGZvciBNYWlsYm94MCAqLworI2RlZmluZSAgQ0FOX1RTUl9SUUNQMSAgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwMTAwKSAgICAgICAgLyohPFJlcXVlc3QgQ29tcGxldGVkIE1haWxib3gxICovCisjZGVmaW5lICBDQU5fVFNSX1RYT0sxICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDAyMDApICAgICAgICAvKiE8VHJhbnNtaXNzaW9uIE9LIG9mIE1haWxib3gxICovCisjZGVmaW5lICBDQU5fVFNSX0FMU1QxICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDA0MDApICAgICAgICAvKiE8QXJiaXRyYXRpb24gTG9zdCBmb3IgTWFpbGJveDEgKi8KKyNkZWZpbmUgIENBTl9UU1JfVEVSUjEgICAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMDgwMCkgICAgICAgIC8qITxUcmFuc21pc3Npb24gRXJyb3Igb2YgTWFpbGJveDEgKi8KKyNkZWZpbmUgIENBTl9UU1JfQUJSUTEgICAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwODAwMCkgICAgICAgIC8qITxBYm9ydCBSZXF1ZXN0IGZvciBNYWlsYm94IDEgKi8KKyNkZWZpbmUgIENBTl9UU1JfUlFDUDIgICAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAxMDAwMCkgICAgICAgIC8qITxSZXF1ZXN0IENvbXBsZXRlZCBNYWlsYm94MiAqLworI2RlZmluZSAgQ0FOX1RTUl9UWE9LMiAgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDIwMDAwKSAgICAgICAgLyohPFRyYW5zbWlzc2lvbiBPSyBvZiBNYWlsYm94IDIgKi8KKyNkZWZpbmUgIENBTl9UU1JfQUxTVDIgICAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDA0MDAwMCkgICAgICAgIC8qITxBcmJpdHJhdGlvbiBMb3N0IGZvciBtYWlsYm94IDIgKi8KKyNkZWZpbmUgIENBTl9UU1JfVEVSUjIgICAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDA4MDAwMCkgICAgICAgIC8qITxUcmFuc21pc3Npb24gRXJyb3Igb2YgTWFpbGJveCAyICovCisjZGVmaW5lICBDQU5fVFNSX0FCUlEyICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDA4MDAwMDApICAgICAgICAvKiE8QWJvcnQgUmVxdWVzdCBmb3IgTWFpbGJveCAyICovCisjZGVmaW5lICBDQU5fVFNSX0NPREUgICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDMwMDAwMDApICAgICAgICAvKiE8TWFpbGJveCBDb2RlICovCisKKyNkZWZpbmUgIENBTl9UU1JfVE1FICAgICAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgxQzAwMDAwMCkgICAgICAgIC8qITxUTUVbMjowXSBiaXRzICovCisjZGVmaW5lICBDQU5fVFNSX1RNRTAgICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDQwMDAwMDApICAgICAgICAvKiE8VHJhbnNtaXQgTWFpbGJveCAwIEVtcHR5ICovCisjZGVmaW5lICBDQU5fVFNSX1RNRTEgICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDgwMDAwMDApICAgICAgICAvKiE8VHJhbnNtaXQgTWFpbGJveCAxIEVtcHR5ICovCisjZGVmaW5lICBDQU5fVFNSX1RNRTIgICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MTAwMDAwMDApICAgICAgICAvKiE8VHJhbnNtaXQgTWFpbGJveCAyIEVtcHR5ICovCisKKyNkZWZpbmUgIENBTl9UU1JfTE9XICAgICAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHhFMDAwMDAwMCkgICAgICAgIC8qITxMT1dbMjowXSBiaXRzICovCisjZGVmaW5lICBDQU5fVFNSX0xPVzAgICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MjAwMDAwMDApICAgICAgICAvKiE8TG93ZXN0IFByaW9yaXR5IEZsYWcgZm9yIE1haWxib3ggMCAqLworI2RlZmluZSAgQ0FOX1RTUl9MT1cxICAgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDQwMDAwMDAwKSAgICAgICAgLyohPExvd2VzdCBQcmlvcml0eSBGbGFnIGZvciBNYWlsYm94IDEgKi8KKyNkZWZpbmUgIENBTl9UU1JfTE9XMiAgICAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHg4MDAwMDAwMCkgICAgICAgIC8qITxMb3dlc3QgUHJpb3JpdHkgRmxhZyBmb3IgTWFpbGJveCAyICovCisKKy8qKioqKioqKioqKioqKioqKioqICBCaXQgZGVmaW5pdGlvbiBmb3IgQ0FOX1JGMFIgcmVnaXN0ZXIgICoqKioqKioqKioqKioqKioqKiovCisjZGVmaW5lICBDQU5fUkYwUl9GTVAwICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQ4X3QpMHgwMykgICAgICAgICAgICAgICAvKiE8RklGTyAwIE1lc3NhZ2UgUGVuZGluZyAqLworI2RlZmluZSAgQ0FOX1JGMFJfRlVMTDAgICAgICAgICAgICAgICAgICAgICAgKCh1aW50OF90KTB4MDgpICAgICAgICAgICAgICAgLyohPEZJRk8gMCBGdWxsICovCisjZGVmaW5lICBDQU5fUkYwUl9GT1ZSMCAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQ4X3QpMHgxMCkgICAgICAgICAgICAgICAvKiE8RklGTyAwIE92ZXJydW4gKi8KKyNkZWZpbmUgIENBTl9SRjBSX1JGT00wICAgICAgICAgICAgICAgICAgICAgICgodWludDhfdCkweDIwKSAgICAgICAgICAgICAgIC8qITxSZWxlYXNlIEZJRk8gMCBPdXRwdXQgTWFpbGJveCAqLworCisvKioqKioqKioqKioqKioqKioqKiAgQml0IGRlZmluaXRpb24gZm9yIENBTl9SRjFSIHJlZ2lzdGVyICAqKioqKioqKioqKioqKioqKioqLworI2RlZmluZSAgQ0FOX1JGMVJfRk1QMSAgICAgICAgICAgICAgICAgICAgICAgKCh1aW50OF90KTB4MDMpICAgICAgICAgICAgICAgLyohPEZJRk8gMSBNZXNzYWdlIFBlbmRpbmcgKi8KKyNkZWZpbmUgIENBTl9SRjFSX0ZVTEwxICAgICAgICAgICAgICAgICAgICAgICgodWludDhfdCkweDA4KSAgICAgICAgICAgICAgIC8qITxGSUZPIDEgRnVsbCAqLworI2RlZmluZSAgQ0FOX1JGMVJfRk9WUjEgICAgICAgICAgICAgICAgICAgICAgKCh1aW50OF90KTB4MTApICAgICAgICAgICAgICAgLyohPEZJRk8gMSBPdmVycnVuICovCisjZGVmaW5lICBDQU5fUkYxUl9SRk9NMSAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQ4X3QpMHgyMCkgICAgICAgICAgICAgICAvKiE8UmVsZWFzZSBGSUZPIDEgT3V0cHV0IE1haWxib3ggKi8KKworLyoqKioqKioqKioqKioqKioqKioqICBCaXQgZGVmaW5pdGlvbiBmb3IgQ0FOX0lFUiByZWdpc3RlciAgKioqKioqKioqKioqKioqKioqKi8KKyNkZWZpbmUgIENBTl9JRVJfVE1FSUUgICAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMDAwMSkgICAgICAgIC8qITxUcmFuc21pdCBNYWlsYm94IEVtcHR5IEludGVycnVwdCBFbmFibGUgKi8KKyNkZWZpbmUgIENBTl9JRVJfRk1QSUUwICAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMDAwMikgICAgICAgIC8qITxGSUZPIE1lc3NhZ2UgUGVuZGluZyBJbnRlcnJ1cHQgRW5hYmxlICovCisjZGVmaW5lICBDQU5fSUVSX0ZGSUUwICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDAwMDQpICAgICAgICAvKiE8RklGTyBGdWxsIEludGVycnVwdCBFbmFibGUgKi8KKyNkZWZpbmUgIENBTl9JRVJfRk9WSUUwICAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMDAwOCkgICAgICAgIC8qITxGSUZPIE92ZXJydW4gSW50ZXJydXB0IEVuYWJsZSAqLworI2RlZmluZSAgQ0FOX0lFUl9GTVBJRTEgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwMDEwKSAgICAgICAgLyohPEZJRk8gTWVzc2FnZSBQZW5kaW5nIEludGVycnVwdCBFbmFibGUgKi8KKyNkZWZpbmUgIENBTl9JRVJfRkZJRTEgICAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMDAyMCkgICAgICAgIC8qITxGSUZPIEZ1bGwgSW50ZXJydXB0IEVuYWJsZSAqLworI2RlZmluZSAgQ0FOX0lFUl9GT1ZJRTEgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwMDQwKSAgICAgICAgLyohPEZJRk8gT3ZlcnJ1biBJbnRlcnJ1cHQgRW5hYmxlICovCisjZGVmaW5lICBDQU5fSUVSX0VXR0lFICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDAxMDApICAgICAgICAvKiE8RXJyb3IgV2FybmluZyBJbnRlcnJ1cHQgRW5hYmxlICovCisjZGVmaW5lICBDQU5fSUVSX0VQVklFICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDAyMDApICAgICAgICAvKiE8RXJyb3IgUGFzc2l2ZSBJbnRlcnJ1cHQgRW5hYmxlICovCisjZGVmaW5lICBDQU5fSUVSX0JPRklFICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDA0MDApICAgICAgICAvKiE8QnVzLU9mZiBJbnRlcnJ1cHQgRW5hYmxlICovCisjZGVmaW5lICBDQU5fSUVSX0xFQ0lFICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDA4MDApICAgICAgICAvKiE8TGFzdCBFcnJvciBDb2RlIEludGVycnVwdCBFbmFibGUgKi8KKyNkZWZpbmUgIENBTl9JRVJfRVJSSUUgICAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwODAwMCkgICAgICAgIC8qITxFcnJvciBJbnRlcnJ1cHQgRW5hYmxlICovCisjZGVmaW5lICBDQU5fSUVSX1dLVUlFICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMTAwMDApICAgICAgICAvKiE8V2FrZXVwIEludGVycnVwdCBFbmFibGUgKi8KKyNkZWZpbmUgIENBTl9JRVJfU0xLSUUgICAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAyMDAwMCkgICAgICAgIC8qITxTbGVlcCBJbnRlcnJ1cHQgRW5hYmxlICovCisKKy8qKioqKioqKioqKioqKioqKioqKiAgQml0IGRlZmluaXRpb24gZm9yIENBTl9FU1IgcmVnaXN0ZXIgICoqKioqKioqKioqKioqKioqKiovCisjZGVmaW5lICBDQU5fRVNSX0VXR0YgICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDAwMDEpICAgICAgICAvKiE8RXJyb3IgV2FybmluZyBGbGFnICovCisjZGVmaW5lICBDQU5fRVNSX0VQVkYgICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDAwMDIpICAgICAgICAvKiE8RXJyb3IgUGFzc2l2ZSBGbGFnICovCisjZGVmaW5lICBDQU5fRVNSX0JPRkYgICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDAwMDQpICAgICAgICAvKiE8QnVzLU9mZiBGbGFnICovCisKKyNkZWZpbmUgIENBTl9FU1JfTEVDICAgICAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMDA3MCkgICAgICAgIC8qITxMRUNbMjowXSBiaXRzIChMYXN0IEVycm9yIENvZGUpICovCisjZGVmaW5lICBDQU5fRVNSX0xFQ18wICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDAwMTApICAgICAgICAvKiE8Qml0IDAgKi8KKyNkZWZpbmUgIENBTl9FU1JfTEVDXzEgICAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMDAyMCkgICAgICAgIC8qITxCaXQgMSAqLworI2RlZmluZSAgQ0FOX0VTUl9MRUNfMiAgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwMDQwKSAgICAgICAgLyohPEJpdCAyICovCisKKyNkZWZpbmUgIENBTl9FU1JfVEVDICAgICAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMEZGMDAwMCkgICAgICAgIC8qITxMZWFzdCBzaWduaWZpY2FudCBieXRlIG9mIHRoZSA5LWJpdCBUcmFuc21pdCBFcnJvciBDb3VudGVyICovCisjZGVmaW5lICBDQU5fRVNSX1JFQyAgICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4RkYwMDAwMDApICAgICAgICAvKiE8UmVjZWl2ZSBFcnJvciBDb3VudGVyICovCisKKy8qKioqKioqKioqKioqKioqKioqICBCaXQgZGVmaW5pdGlvbiBmb3IgQ0FOX0JUUiByZWdpc3RlciAgKioqKioqKioqKioqKioqKioqKiovCisjZGVmaW5lICBDQU5fQlRSX0JSUCAgICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDAzRkYpICAgICAgICAvKiE8QmF1ZCBSYXRlIFByZXNjYWxlciAqLworI2RlZmluZSAgQ0FOX0JUUl9UUzEgICAgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMEYwMDAwKSAgICAgICAgLyohPFRpbWUgU2VnbWVudCAxICovCisjZGVmaW5lICBDQU5fQlRSX1RTMiAgICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDA3MDAwMDApICAgICAgICAvKiE8VGltZSBTZWdtZW50IDIgKi8KKyNkZWZpbmUgIENBTl9CVFJfU0pXICAgICAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMzAwMDAwMCkgICAgICAgIC8qITxSZXN5bmNocm9uaXphdGlvbiBKdW1wIFdpZHRoICovCisjZGVmaW5lICBDQU5fQlRSX0xCS00gICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4NDAwMDAwMDApICAgICAgICAvKiE8TG9vcCBCYWNrIE1vZGUgKERlYnVnKSAqLworI2RlZmluZSAgQ0FOX0JUUl9TSUxNICAgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDgwMDAwMDAwKSAgICAgICAgLyohPFNpbGVudCBNb2RlICovCisKKy8qITxNYWlsYm94IHJlZ2lzdGVycyAqLworLyoqKioqKioqKioqKioqKioqKiAgQml0IGRlZmluaXRpb24gZm9yIENBTl9USTBSIHJlZ2lzdGVyICAqKioqKioqKioqKioqKioqKioqKi8KKyNkZWZpbmUgIENBTl9USTBSX1RYUlEgICAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMDAwMSkgICAgICAgIC8qITxUcmFuc21pdCBNYWlsYm94IFJlcXVlc3QgKi8KKyNkZWZpbmUgIENBTl9USTBSX1JUUiAgICAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMDAwMikgICAgICAgIC8qITxSZW1vdGUgVHJhbnNtaXNzaW9uIFJlcXVlc3QgKi8KKyNkZWZpbmUgIENBTl9USTBSX0lERSAgICAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMDAwNCkgICAgICAgIC8qITxJZGVudGlmaWVyIEV4dGVuc2lvbiAqLworI2RlZmluZSAgQ0FOX1RJMFJfRVhJRCAgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMUZGRkY4KSAgICAgICAgLyohPEV4dGVuZGVkIElkZW50aWZpZXIgKi8KKyNkZWZpbmUgIENBTl9USTBSX1NUSUQgICAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHhGRkUwMDAwMCkgICAgICAgIC8qITxTdGFuZGFyZCBJZGVudGlmaWVyIG9yIEV4dGVuZGVkIElkZW50aWZpZXIgKi8KKworLyoqKioqKioqKioqKioqKioqKiAgQml0IGRlZmluaXRpb24gZm9yIENBTl9URFQwUiByZWdpc3RlciAgKioqKioqKioqKioqKioqKioqKi8KKyNkZWZpbmUgIENBTl9URFQwUl9ETEMgICAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMDAwRikgICAgICAgIC8qITxEYXRhIExlbmd0aCBDb2RlICovCisjZGVmaW5lICBDQU5fVERUMFJfVEdUICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDAxMDApICAgICAgICAvKiE8VHJhbnNtaXQgR2xvYmFsIFRpbWUgKi8KKyNkZWZpbmUgIENBTl9URFQwUl9USU1FICAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHhGRkZGMDAwMCkgICAgICAgIC8qITxNZXNzYWdlIFRpbWUgU3RhbXAgKi8KKworLyoqKioqKioqKioqKioqKioqKiAgQml0IGRlZmluaXRpb24gZm9yIENBTl9UREwwUiByZWdpc3RlciAgKioqKioqKioqKioqKioqKioqKi8KKyNkZWZpbmUgIENBTl9UREwwUl9EQVRBMCAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMDBGRikgICAgICAgIC8qITxEYXRhIGJ5dGUgMCAqLworI2RlZmluZSAgQ0FOX1RETDBSX0RBVEExICAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDBGRjAwKSAgICAgICAgLyohPERhdGEgYnl0ZSAxICovCisjZGVmaW5lICBDQU5fVERMMFJfREFUQTIgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDBGRjAwMDApICAgICAgICAvKiE8RGF0YSBieXRlIDIgKi8KKyNkZWZpbmUgIENBTl9UREwwUl9EQVRBMyAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHhGRjAwMDAwMCkgICAgICAgIC8qITxEYXRhIGJ5dGUgMyAqLworCisvKioqKioqKioqKioqKioqKioqICBCaXQgZGVmaW5pdGlvbiBmb3IgQ0FOX1RESDBSIHJlZ2lzdGVyICAqKioqKioqKioqKioqKioqKioqLworI2RlZmluZSAgQ0FOX1RESDBSX0RBVEE0ICAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwMEZGKSAgICAgICAgLyohPERhdGEgYnl0ZSA0ICovCisjZGVmaW5lICBDQU5fVERIMFJfREFUQTUgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMEZGMDApICAgICAgICAvKiE8RGF0YSBieXRlIDUgKi8KKyNkZWZpbmUgIENBTl9UREgwUl9EQVRBNiAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMEZGMDAwMCkgICAgICAgIC8qITxEYXRhIGJ5dGUgNiAqLworI2RlZmluZSAgQ0FOX1RESDBSX0RBVEE3ICAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweEZGMDAwMDAwKSAgICAgICAgLyohPERhdGEgYnl0ZSA3ICovCisKKy8qKioqKioqKioqKioqKioqKioqICBCaXQgZGVmaW5pdGlvbiBmb3IgQ0FOX1RJMVIgcmVnaXN0ZXIgICoqKioqKioqKioqKioqKioqKiovCisjZGVmaW5lICBDQU5fVEkxUl9UWFJRICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDAwMDEpICAgICAgICAvKiE8VHJhbnNtaXQgTWFpbGJveCBSZXF1ZXN0ICovCisjZGVmaW5lICBDQU5fVEkxUl9SVFIgICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDAwMDIpICAgICAgICAvKiE8UmVtb3RlIFRyYW5zbWlzc2lvbiBSZXF1ZXN0ICovCisjZGVmaW5lICBDQU5fVEkxUl9JREUgICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDAwMDQpICAgICAgICAvKiE8SWRlbnRpZmllciBFeHRlbnNpb24gKi8KKyNkZWZpbmUgIENBTl9USTFSX0VYSUQgICAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDFGRkZGOCkgICAgICAgIC8qITxFeHRlbmRlZCBJZGVudGlmaWVyICovCisjZGVmaW5lICBDQU5fVEkxUl9TVElEICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4RkZFMDAwMDApICAgICAgICAvKiE8U3RhbmRhcmQgSWRlbnRpZmllciBvciBFeHRlbmRlZCBJZGVudGlmaWVyICovCisKKy8qKioqKioqKioqKioqKioqKioqICBCaXQgZGVmaW5pdGlvbiBmb3IgQ0FOX1REVDFSIHJlZ2lzdGVyICAqKioqKioqKioqKioqKioqKiovCisjZGVmaW5lICBDQU5fVERUMVJfRExDICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDAwMEYpICAgICAgICAvKiE8RGF0YSBMZW5ndGggQ29kZSAqLworI2RlZmluZSAgQ0FOX1REVDFSX1RHVCAgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwMTAwKSAgICAgICAgLyohPFRyYW5zbWl0IEdsb2JhbCBUaW1lICovCisjZGVmaW5lICBDQU5fVERUMVJfVElNRSAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4RkZGRjAwMDApICAgICAgICAvKiE8TWVzc2FnZSBUaW1lIFN0YW1wICovCisKKy8qKioqKioqKioqKioqKioqKioqICBCaXQgZGVmaW5pdGlvbiBmb3IgQ0FOX1RETDFSIHJlZ2lzdGVyICAqKioqKioqKioqKioqKioqKiovCisjZGVmaW5lICBDQU5fVERMMVJfREFUQTAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDAwRkYpICAgICAgICAvKiE8RGF0YSBieXRlIDAgKi8KKyNkZWZpbmUgIENBTl9UREwxUl9EQVRBMSAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwRkYwMCkgICAgICAgIC8qITxEYXRhIGJ5dGUgMSAqLworI2RlZmluZSAgQ0FOX1RETDFSX0RBVEEyICAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwRkYwMDAwKSAgICAgICAgLyohPERhdGEgYnl0ZSAyICovCisjZGVmaW5lICBDQU5fVERMMVJfREFUQTMgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4RkYwMDAwMDApICAgICAgICAvKiE8RGF0YSBieXRlIDMgKi8KKworLyoqKioqKioqKioqKioqKioqKiogIEJpdCBkZWZpbml0aW9uIGZvciBDQU5fVERIMVIgcmVnaXN0ZXIgICoqKioqKioqKioqKioqKioqKi8KKyNkZWZpbmUgIENBTl9UREgxUl9EQVRBNCAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMDBGRikgICAgICAgIC8qITxEYXRhIGJ5dGUgNCAqLworI2RlZmluZSAgQ0FOX1RESDFSX0RBVEE1ICAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDBGRjAwKSAgICAgICAgLyohPERhdGEgYnl0ZSA1ICovCisjZGVmaW5lICBDQU5fVERIMVJfREFUQTYgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDBGRjAwMDApICAgICAgICAvKiE8RGF0YSBieXRlIDYgKi8KKyNkZWZpbmUgIENBTl9UREgxUl9EQVRBNyAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHhGRjAwMDAwMCkgICAgICAgIC8qITxEYXRhIGJ5dGUgNyAqLworCisvKioqKioqKioqKioqKioqKioqKiAgQml0IGRlZmluaXRpb24gZm9yIENBTl9USTJSIHJlZ2lzdGVyICAqKioqKioqKioqKioqKioqKioqLworI2RlZmluZSAgQ0FOX1RJMlJfVFhSUSAgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwMDAxKSAgICAgICAgLyohPFRyYW5zbWl0IE1haWxib3ggUmVxdWVzdCAqLworI2RlZmluZSAgQ0FOX1RJMlJfUlRSICAgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwMDAyKSAgICAgICAgLyohPFJlbW90ZSBUcmFuc21pc3Npb24gUmVxdWVzdCAqLworI2RlZmluZSAgQ0FOX1RJMlJfSURFICAgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwMDA0KSAgICAgICAgLyohPElkZW50aWZpZXIgRXh0ZW5zaW9uICovCisjZGVmaW5lICBDQU5fVEkyUl9FWElEICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAxRkZGRjgpICAgICAgICAvKiE8RXh0ZW5kZWQgaWRlbnRpZmllciAqLworI2RlZmluZSAgQ0FOX1RJMlJfU1RJRCAgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweEZGRTAwMDAwKSAgICAgICAgLyohPFN0YW5kYXJkIElkZW50aWZpZXIgb3IgRXh0ZW5kZWQgSWRlbnRpZmllciAqLworCisvKioqKioqKioqKioqKioqKioqKiAgQml0IGRlZmluaXRpb24gZm9yIENBTl9URFQyUiByZWdpc3RlciAgKioqKioqKioqKioqKioqKioqLyAgCisjZGVmaW5lICBDQU5fVERUMlJfRExDICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDAwMEYpICAgICAgICAvKiE8RGF0YSBMZW5ndGggQ29kZSAqLworI2RlZmluZSAgQ0FOX1REVDJSX1RHVCAgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwMTAwKSAgICAgICAgLyohPFRyYW5zbWl0IEdsb2JhbCBUaW1lICovCisjZGVmaW5lICBDQU5fVERUMlJfVElNRSAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4RkZGRjAwMDApICAgICAgICAvKiE8TWVzc2FnZSBUaW1lIFN0YW1wICovCisKKy8qKioqKioqKioqKioqKioqKioqICBCaXQgZGVmaW5pdGlvbiBmb3IgQ0FOX1RETDJSIHJlZ2lzdGVyICAqKioqKioqKioqKioqKioqKiovCisjZGVmaW5lICBDQU5fVERMMlJfREFUQTAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDAwRkYpICAgICAgICAvKiE8RGF0YSBieXRlIDAgKi8KKyNkZWZpbmUgIENBTl9UREwyUl9EQVRBMSAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwRkYwMCkgICAgICAgIC8qITxEYXRhIGJ5dGUgMSAqLworI2RlZmluZSAgQ0FOX1RETDJSX0RBVEEyICAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwRkYwMDAwKSAgICAgICAgLyohPERhdGEgYnl0ZSAyICovCisjZGVmaW5lICBDQU5fVERMMlJfREFUQTMgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4RkYwMDAwMDApICAgICAgICAvKiE8RGF0YSBieXRlIDMgKi8KKworLyoqKioqKioqKioqKioqKioqKiogIEJpdCBkZWZpbml0aW9uIGZvciBDQU5fVERIMlIgcmVnaXN0ZXIgICoqKioqKioqKioqKioqKioqKi8KKyNkZWZpbmUgIENBTl9UREgyUl9EQVRBNCAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMDBGRikgICAgICAgIC8qITxEYXRhIGJ5dGUgNCAqLworI2RlZmluZSAgQ0FOX1RESDJSX0RBVEE1ICAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDBGRjAwKSAgICAgICAgLyohPERhdGEgYnl0ZSA1ICovCisjZGVmaW5lICBDQU5fVERIMlJfREFUQTYgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDBGRjAwMDApICAgICAgICAvKiE8RGF0YSBieXRlIDYgKi8KKyNkZWZpbmUgIENBTl9UREgyUl9EQVRBNyAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHhGRjAwMDAwMCkgICAgICAgIC8qITxEYXRhIGJ5dGUgNyAqLworCisvKioqKioqKioqKioqKioqKioqKiAgQml0IGRlZmluaXRpb24gZm9yIENBTl9SSTBSIHJlZ2lzdGVyICAqKioqKioqKioqKioqKioqKioqLworI2RlZmluZSAgQ0FOX1JJMFJfUlRSICAgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwMDAyKSAgICAgICAgLyohPFJlbW90ZSBUcmFuc21pc3Npb24gUmVxdWVzdCAqLworI2RlZmluZSAgQ0FOX1JJMFJfSURFICAgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwMDA0KSAgICAgICAgLyohPElkZW50aWZpZXIgRXh0ZW5zaW9uICovCisjZGVmaW5lICBDQU5fUkkwUl9FWElEICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAxRkZGRjgpICAgICAgICAvKiE8RXh0ZW5kZWQgSWRlbnRpZmllciAqLworI2RlZmluZSAgQ0FOX1JJMFJfU1RJRCAgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweEZGRTAwMDAwKSAgICAgICAgLyohPFN0YW5kYXJkIElkZW50aWZpZXIgb3IgRXh0ZW5kZWQgSWRlbnRpZmllciAqLworCisvKioqKioqKioqKioqKioqKioqKiAgQml0IGRlZmluaXRpb24gZm9yIENBTl9SRFQwUiByZWdpc3RlciAgKioqKioqKioqKioqKioqKioqLworI2RlZmluZSAgQ0FOX1JEVDBSX0RMQyAgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwMDBGKSAgICAgICAgLyohPERhdGEgTGVuZ3RoIENvZGUgKi8KKyNkZWZpbmUgIENBTl9SRFQwUl9GTUkgICAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwRkYwMCkgICAgICAgIC8qITxGaWx0ZXIgTWF0Y2ggSW5kZXggKi8KKyNkZWZpbmUgIENBTl9SRFQwUl9USU1FICAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHhGRkZGMDAwMCkgICAgICAgIC8qITxNZXNzYWdlIFRpbWUgU3RhbXAgKi8KKworLyoqKioqKioqKioqKioqKioqKiogIEJpdCBkZWZpbml0aW9uIGZvciBDQU5fUkRMMFIgcmVnaXN0ZXIgICoqKioqKioqKioqKioqKioqKi8KKyNkZWZpbmUgIENBTl9SREwwUl9EQVRBMCAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMDBGRikgICAgICAgIC8qITxEYXRhIGJ5dGUgMCAqLworI2RlZmluZSAgQ0FOX1JETDBSX0RBVEExICAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDBGRjAwKSAgICAgICAgLyohPERhdGEgYnl0ZSAxICovCisjZGVmaW5lICBDQU5fUkRMMFJfREFUQTIgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDBGRjAwMDApICAgICAgICAvKiE8RGF0YSBieXRlIDIgKi8KKyNkZWZpbmUgIENBTl9SREwwUl9EQVRBMyAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHhGRjAwMDAwMCkgICAgICAgIC8qITxEYXRhIGJ5dGUgMyAqLworCisvKioqKioqKioqKioqKioqKioqKiAgQml0IGRlZmluaXRpb24gZm9yIENBTl9SREgwUiByZWdpc3RlciAgKioqKioqKioqKioqKioqKioqLworI2RlZmluZSAgQ0FOX1JESDBSX0RBVEE0ICAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwMEZGKSAgICAgICAgLyohPERhdGEgYnl0ZSA0ICovCisjZGVmaW5lICBDQU5fUkRIMFJfREFUQTUgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMEZGMDApICAgICAgICAvKiE8RGF0YSBieXRlIDUgKi8KKyNkZWZpbmUgIENBTl9SREgwUl9EQVRBNiAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMEZGMDAwMCkgICAgICAgIC8qITxEYXRhIGJ5dGUgNiAqLworI2RlZmluZSAgQ0FOX1JESDBSX0RBVEE3ICAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweEZGMDAwMDAwKSAgICAgICAgLyohPERhdGEgYnl0ZSA3ICovCisKKy8qKioqKioqKioqKioqKioqKioqICBCaXQgZGVmaW5pdGlvbiBmb3IgQ0FOX1JJMVIgcmVnaXN0ZXIgICoqKioqKioqKioqKioqKioqKiovCisjZGVmaW5lICBDQU5fUkkxUl9SVFIgICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDAwMDIpICAgICAgICAvKiE8UmVtb3RlIFRyYW5zbWlzc2lvbiBSZXF1ZXN0ICovCisjZGVmaW5lICBDQU5fUkkxUl9JREUgICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDAwMDQpICAgICAgICAvKiE8SWRlbnRpZmllciBFeHRlbnNpb24gKi8KKyNkZWZpbmUgIENBTl9SSTFSX0VYSUQgICAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDFGRkZGOCkgICAgICAgIC8qITxFeHRlbmRlZCBpZGVudGlmaWVyICovCisjZGVmaW5lICBDQU5fUkkxUl9TVElEICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4RkZFMDAwMDApICAgICAgICAvKiE8U3RhbmRhcmQgSWRlbnRpZmllciBvciBFeHRlbmRlZCBJZGVudGlmaWVyICovCisKKy8qKioqKioqKioqKioqKioqKioqICBCaXQgZGVmaW5pdGlvbiBmb3IgQ0FOX1JEVDFSIHJlZ2lzdGVyICAqKioqKioqKioqKioqKioqKiovCisjZGVmaW5lICBDQU5fUkRUMVJfRExDICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDAwMEYpICAgICAgICAvKiE8RGF0YSBMZW5ndGggQ29kZSAqLworI2RlZmluZSAgQ0FOX1JEVDFSX0ZNSSAgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDBGRjAwKSAgICAgICAgLyohPEZpbHRlciBNYXRjaCBJbmRleCAqLworI2RlZmluZSAgQ0FOX1JEVDFSX1RJTUUgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweEZGRkYwMDAwKSAgICAgICAgLyohPE1lc3NhZ2UgVGltZSBTdGFtcCAqLworCisvKioqKioqKioqKioqKioqKioqKiAgQml0IGRlZmluaXRpb24gZm9yIENBTl9SREwxUiByZWdpc3RlciAgKioqKioqKioqKioqKioqKioqLworI2RlZmluZSAgQ0FOX1JETDFSX0RBVEEwICAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwMEZGKSAgICAgICAgLyohPERhdGEgYnl0ZSAwICovCisjZGVmaW5lICBDQU5fUkRMMVJfREFUQTEgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMEZGMDApICAgICAgICAvKiE8RGF0YSBieXRlIDEgKi8KKyNkZWZpbmUgIENBTl9SREwxUl9EQVRBMiAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMEZGMDAwMCkgICAgICAgIC8qITxEYXRhIGJ5dGUgMiAqLworI2RlZmluZSAgQ0FOX1JETDFSX0RBVEEzICAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweEZGMDAwMDAwKSAgICAgICAgLyohPERhdGEgYnl0ZSAzICovCisKKy8qKioqKioqKioqKioqKioqKioqICBCaXQgZGVmaW5pdGlvbiBmb3IgQ0FOX1JESDFSIHJlZ2lzdGVyICAqKioqKioqKioqKioqKioqKiovCisjZGVmaW5lICBDQU5fUkRIMVJfREFUQTQgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDAwRkYpICAgICAgICAvKiE8RGF0YSBieXRlIDQgKi8KKyNkZWZpbmUgIENBTl9SREgxUl9EQVRBNSAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwRkYwMCkgICAgICAgIC8qITxEYXRhIGJ5dGUgNSAqLworI2RlZmluZSAgQ0FOX1JESDFSX0RBVEE2ICAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwRkYwMDAwKSAgICAgICAgLyohPERhdGEgYnl0ZSA2ICovCisjZGVmaW5lICBDQU5fUkRIMVJfREFUQTcgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4RkYwMDAwMDApICAgICAgICAvKiE8RGF0YSBieXRlIDcgKi8KKworLyohPENBTiBmaWx0ZXIgcmVnaXN0ZXJzICovCisvKioqKioqKioqKioqKioqKioqKiAgQml0IGRlZmluaXRpb24gZm9yIENBTl9GTVIgcmVnaXN0ZXIgICoqKioqKioqKioqKioqKioqKioqLworI2RlZmluZSAgQ0FOX0ZNUl9GSU5JVCAgICAgICAgICAgICAgICAgICAgICAgKCh1aW50OF90KTB4MDEpICAgICAgICAgICAgICAgLyohPEZpbHRlciBJbml0IE1vZGUgKi8KKworLyoqKioqKioqKioqKioqKioqKiogIEJpdCBkZWZpbml0aW9uIGZvciBDQU5fRk0xUiByZWdpc3RlciAgKioqKioqKioqKioqKioqKioqKi8KKyNkZWZpbmUgIENBTl9GTTFSX0ZCTSAgICAgICAgICAgICAgICAgICAgICAgICgodWludDE2X3QpMHgzRkZGKSAgICAgICAgICAgIC8qITxGaWx0ZXIgTW9kZSAqLworI2RlZmluZSAgQ0FOX0ZNMVJfRkJNMCAgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MTZfdCkweDAwMDEpICAgICAgICAgICAgLyohPEZpbHRlciBJbml0IE1vZGUgYml0IDAgKi8KKyNkZWZpbmUgIENBTl9GTTFSX0ZCTTEgICAgICAgICAgICAgICAgICAgICAgICgodWludDE2X3QpMHgwMDAyKSAgICAgICAgICAgIC8qITxGaWx0ZXIgSW5pdCBNb2RlIGJpdCAxICovCisjZGVmaW5lICBDQU5fRk0xUl9GQk0yICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQxNl90KTB4MDAwNCkgICAgICAgICAgICAvKiE8RmlsdGVyIEluaXQgTW9kZSBiaXQgMiAqLworI2RlZmluZSAgQ0FOX0ZNMVJfRkJNMyAgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MTZfdCkweDAwMDgpICAgICAgICAgICAgLyohPEZpbHRlciBJbml0IE1vZGUgYml0IDMgKi8KKyNkZWZpbmUgIENBTl9GTTFSX0ZCTTQgICAgICAgICAgICAgICAgICAgICAgICgodWludDE2X3QpMHgwMDEwKSAgICAgICAgICAgIC8qITxGaWx0ZXIgSW5pdCBNb2RlIGJpdCA0ICovCisjZGVmaW5lICBDQU5fRk0xUl9GQk01ICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQxNl90KTB4MDAyMCkgICAgICAgICAgICAvKiE8RmlsdGVyIEluaXQgTW9kZSBiaXQgNSAqLworI2RlZmluZSAgQ0FOX0ZNMVJfRkJNNiAgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MTZfdCkweDAwNDApICAgICAgICAgICAgLyohPEZpbHRlciBJbml0IE1vZGUgYml0IDYgKi8KKyNkZWZpbmUgIENBTl9GTTFSX0ZCTTcgICAgICAgICAgICAgICAgICAgICAgICgodWludDE2X3QpMHgwMDgwKSAgICAgICAgICAgIC8qITxGaWx0ZXIgSW5pdCBNb2RlIGJpdCA3ICovCisjZGVmaW5lICBDQU5fRk0xUl9GQk04ICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQxNl90KTB4MDEwMCkgICAgICAgICAgICAvKiE8RmlsdGVyIEluaXQgTW9kZSBiaXQgOCAqLworI2RlZmluZSAgQ0FOX0ZNMVJfRkJNOSAgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MTZfdCkweDAyMDApICAgICAgICAgICAgLyohPEZpbHRlciBJbml0IE1vZGUgYml0IDkgKi8KKyNkZWZpbmUgIENBTl9GTTFSX0ZCTTEwICAgICAgICAgICAgICAgICAgICAgICgodWludDE2X3QpMHgwNDAwKSAgICAgICAgICAgIC8qITxGaWx0ZXIgSW5pdCBNb2RlIGJpdCAxMCAqLworI2RlZmluZSAgQ0FOX0ZNMVJfRkJNMTEgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MTZfdCkweDA4MDApICAgICAgICAgICAgLyohPEZpbHRlciBJbml0IE1vZGUgYml0IDExICovCisjZGVmaW5lICBDQU5fRk0xUl9GQk0xMiAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQxNl90KTB4MTAwMCkgICAgICAgICAgICAvKiE8RmlsdGVyIEluaXQgTW9kZSBiaXQgMTIgKi8KKyNkZWZpbmUgIENBTl9GTTFSX0ZCTTEzICAgICAgICAgICAgICAgICAgICAgICgodWludDE2X3QpMHgyMDAwKSAgICAgICAgICAgIC8qITxGaWx0ZXIgSW5pdCBNb2RlIGJpdCAxMyAqLworCisvKioqKioqKioqKioqKioqKioqKiAgQml0IGRlZmluaXRpb24gZm9yIENBTl9GUzFSIHJlZ2lzdGVyICAqKioqKioqKioqKioqKioqKioqLworI2RlZmluZSAgQ0FOX0ZTMVJfRlNDICAgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MTZfdCkweDNGRkYpICAgICAgICAgICAgLyohPEZpbHRlciBTY2FsZSBDb25maWd1cmF0aW9uICovCisjZGVmaW5lICBDQU5fRlMxUl9GU0MwICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQxNl90KTB4MDAwMSkgICAgICAgICAgICAvKiE8RmlsdGVyIFNjYWxlIENvbmZpZ3VyYXRpb24gYml0IDAgKi8KKyNkZWZpbmUgIENBTl9GUzFSX0ZTQzEgICAgICAgICAgICAgICAgICAgICAgICgodWludDE2X3QpMHgwMDAyKSAgICAgICAgICAgIC8qITxGaWx0ZXIgU2NhbGUgQ29uZmlndXJhdGlvbiBiaXQgMSAqLworI2RlZmluZSAgQ0FOX0ZTMVJfRlNDMiAgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MTZfdCkweDAwMDQpICAgICAgICAgICAgLyohPEZpbHRlciBTY2FsZSBDb25maWd1cmF0aW9uIGJpdCAyICovCisjZGVmaW5lICBDQU5fRlMxUl9GU0MzICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQxNl90KTB4MDAwOCkgICAgICAgICAgICAvKiE8RmlsdGVyIFNjYWxlIENvbmZpZ3VyYXRpb24gYml0IDMgKi8KKyNkZWZpbmUgIENBTl9GUzFSX0ZTQzQgICAgICAgICAgICAgICAgICAgICAgICgodWludDE2X3QpMHgwMDEwKSAgICAgICAgICAgIC8qITxGaWx0ZXIgU2NhbGUgQ29uZmlndXJhdGlvbiBiaXQgNCAqLworI2RlZmluZSAgQ0FOX0ZTMVJfRlNDNSAgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MTZfdCkweDAwMjApICAgICAgICAgICAgLyohPEZpbHRlciBTY2FsZSBDb25maWd1cmF0aW9uIGJpdCA1ICovCisjZGVmaW5lICBDQU5fRlMxUl9GU0M2ICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQxNl90KTB4MDA0MCkgICAgICAgICAgICAvKiE8RmlsdGVyIFNjYWxlIENvbmZpZ3VyYXRpb24gYml0IDYgKi8KKyNkZWZpbmUgIENBTl9GUzFSX0ZTQzcgICAgICAgICAgICAgICAgICAgICAgICgodWludDE2X3QpMHgwMDgwKSAgICAgICAgICAgIC8qITxGaWx0ZXIgU2NhbGUgQ29uZmlndXJhdGlvbiBiaXQgNyAqLworI2RlZmluZSAgQ0FOX0ZTMVJfRlNDOCAgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MTZfdCkweDAxMDApICAgICAgICAgICAgLyohPEZpbHRlciBTY2FsZSBDb25maWd1cmF0aW9uIGJpdCA4ICovCisjZGVmaW5lICBDQU5fRlMxUl9GU0M5ICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQxNl90KTB4MDIwMCkgICAgICAgICAgICAvKiE8RmlsdGVyIFNjYWxlIENvbmZpZ3VyYXRpb24gYml0IDkgKi8KKyNkZWZpbmUgIENBTl9GUzFSX0ZTQzEwICAgICAgICAgICAgICAgICAgICAgICgodWludDE2X3QpMHgwNDAwKSAgICAgICAgICAgIC8qITxGaWx0ZXIgU2NhbGUgQ29uZmlndXJhdGlvbiBiaXQgMTAgKi8KKyNkZWZpbmUgIENBTl9GUzFSX0ZTQzExICAgICAgICAgICAgICAgICAgICAgICgodWludDE2X3QpMHgwODAwKSAgICAgICAgICAgIC8qITxGaWx0ZXIgU2NhbGUgQ29uZmlndXJhdGlvbiBiaXQgMTEgKi8KKyNkZWZpbmUgIENBTl9GUzFSX0ZTQzEyICAgICAgICAgICAgICAgICAgICAgICgodWludDE2X3QpMHgxMDAwKSAgICAgICAgICAgIC8qITxGaWx0ZXIgU2NhbGUgQ29uZmlndXJhdGlvbiBiaXQgMTIgKi8KKyNkZWZpbmUgIENBTl9GUzFSX0ZTQzEzICAgICAgICAgICAgICAgICAgICAgICgodWludDE2X3QpMHgyMDAwKSAgICAgICAgICAgIC8qITxGaWx0ZXIgU2NhbGUgQ29uZmlndXJhdGlvbiBiaXQgMTMgKi8KKworLyoqKioqKioqKioqKioqKioqKiAgQml0IGRlZmluaXRpb24gZm9yIENBTl9GRkExUiByZWdpc3RlciAgKioqKioqKioqKioqKioqKioqKi8KKyNkZWZpbmUgIENBTl9GRkExUl9GRkEgICAgICAgICAgICAgICAgICAgICAgICgodWludDE2X3QpMHgzRkZGKSAgICAgICAgICAgIC8qITxGaWx0ZXIgRklGTyBBc3NpZ25tZW50ICovCisjZGVmaW5lICBDQU5fRkZBMVJfRkZBMCAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQxNl90KTB4MDAwMSkgICAgICAgICAgICAvKiE8RmlsdGVyIEZJRk8gQXNzaWdubWVudCBmb3IgRmlsdGVyIDAgKi8KKyNkZWZpbmUgIENBTl9GRkExUl9GRkExICAgICAgICAgICAgICAgICAgICAgICgodWludDE2X3QpMHgwMDAyKSAgICAgICAgICAgIC8qITxGaWx0ZXIgRklGTyBBc3NpZ25tZW50IGZvciBGaWx0ZXIgMSAqLworI2RlZmluZSAgQ0FOX0ZGQTFSX0ZGQTIgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MTZfdCkweDAwMDQpICAgICAgICAgICAgLyohPEZpbHRlciBGSUZPIEFzc2lnbm1lbnQgZm9yIEZpbHRlciAyICovCisjZGVmaW5lICBDQU5fRkZBMVJfRkZBMyAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQxNl90KTB4MDAwOCkgICAgICAgICAgICAvKiE8RmlsdGVyIEZJRk8gQXNzaWdubWVudCBmb3IgRmlsdGVyIDMgKi8KKyNkZWZpbmUgIENBTl9GRkExUl9GRkE0ICAgICAgICAgICAgICAgICAgICAgICgodWludDE2X3QpMHgwMDEwKSAgICAgICAgICAgIC8qITxGaWx0ZXIgRklGTyBBc3NpZ25tZW50IGZvciBGaWx0ZXIgNCAqLworI2RlZmluZSAgQ0FOX0ZGQTFSX0ZGQTUgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MTZfdCkweDAwMjApICAgICAgICAgICAgLyohPEZpbHRlciBGSUZPIEFzc2lnbm1lbnQgZm9yIEZpbHRlciA1ICovCisjZGVmaW5lICBDQU5fRkZBMVJfRkZBNiAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQxNl90KTB4MDA0MCkgICAgICAgICAgICAvKiE8RmlsdGVyIEZJRk8gQXNzaWdubWVudCBmb3IgRmlsdGVyIDYgKi8KKyNkZWZpbmUgIENBTl9GRkExUl9GRkE3ICAgICAgICAgICAgICAgICAgICAgICgodWludDE2X3QpMHgwMDgwKSAgICAgICAgICAgIC8qITxGaWx0ZXIgRklGTyBBc3NpZ25tZW50IGZvciBGaWx0ZXIgNyAqLworI2RlZmluZSAgQ0FOX0ZGQTFSX0ZGQTggICAgICAgICAgICAgICAgICAgICAgKCh1aW50MTZfdCkweDAxMDApICAgICAgICAgICAgLyohPEZpbHRlciBGSUZPIEFzc2lnbm1lbnQgZm9yIEZpbHRlciA4ICovCisjZGVmaW5lICBDQU5fRkZBMVJfRkZBOSAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQxNl90KTB4MDIwMCkgICAgICAgICAgICAvKiE8RmlsdGVyIEZJRk8gQXNzaWdubWVudCBmb3IgRmlsdGVyIDkgKi8KKyNkZWZpbmUgIENBTl9GRkExUl9GRkExMCAgICAgICAgICAgICAgICAgICAgICgodWludDE2X3QpMHgwNDAwKSAgICAgICAgICAgIC8qITxGaWx0ZXIgRklGTyBBc3NpZ25tZW50IGZvciBGaWx0ZXIgMTAgKi8KKyNkZWZpbmUgIENBTl9GRkExUl9GRkExMSAgICAgICAgICAgICAgICAgICAgICgodWludDE2X3QpMHgwODAwKSAgICAgICAgICAgIC8qITxGaWx0ZXIgRklGTyBBc3NpZ25tZW50IGZvciBGaWx0ZXIgMTEgKi8KKyNkZWZpbmUgIENBTl9GRkExUl9GRkExMiAgICAgICAgICAgICAgICAgICAgICgodWludDE2X3QpMHgxMDAwKSAgICAgICAgICAgIC8qITxGaWx0ZXIgRklGTyBBc3NpZ25tZW50IGZvciBGaWx0ZXIgMTIgKi8KKyNkZWZpbmUgIENBTl9GRkExUl9GRkExMyAgICAgICAgICAgICAgICAgICAgICgodWludDE2X3QpMHgyMDAwKSAgICAgICAgICAgIC8qITxGaWx0ZXIgRklGTyBBc3NpZ25tZW50IGZvciBGaWx0ZXIgMTMgKi8KKworLyoqKioqKioqKioqKioqKioqKiogIEJpdCBkZWZpbml0aW9uIGZvciBDQU5fRkExUiByZWdpc3RlciAgKioqKioqKioqKioqKioqKioqKi8KKyNkZWZpbmUgIENBTl9GQTFSX0ZBQ1QgICAgICAgICAgICAgICAgICAgICAgICgodWludDE2X3QpMHgzRkZGKSAgICAgICAgICAgIC8qITxGaWx0ZXIgQWN0aXZlICovCisjZGVmaW5lICBDQU5fRkExUl9GQUNUMCAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQxNl90KTB4MDAwMSkgICAgICAgICAgICAvKiE8RmlsdGVyIDAgQWN0aXZlICovCisjZGVmaW5lICBDQU5fRkExUl9GQUNUMSAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQxNl90KTB4MDAwMikgICAgICAgICAgICAvKiE8RmlsdGVyIDEgQWN0aXZlICovCisjZGVmaW5lICBDQU5fRkExUl9GQUNUMiAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQxNl90KTB4MDAwNCkgICAgICAgICAgICAvKiE8RmlsdGVyIDIgQWN0aXZlICovCisjZGVmaW5lICBDQU5fRkExUl9GQUNUMyAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQxNl90KTB4MDAwOCkgICAgICAgICAgICAvKiE8RmlsdGVyIDMgQWN0aXZlICovCisjZGVmaW5lICBDQU5fRkExUl9GQUNUNCAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQxNl90KTB4MDAxMCkgICAgICAgICAgICAvKiE8RmlsdGVyIDQgQWN0aXZlICovCisjZGVmaW5lICBDQU5fRkExUl9GQUNUNSAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQxNl90KTB4MDAyMCkgICAgICAgICAgICAvKiE8RmlsdGVyIDUgQWN0aXZlICovCisjZGVmaW5lICBDQU5fRkExUl9GQUNUNiAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQxNl90KTB4MDA0MCkgICAgICAgICAgICAvKiE8RmlsdGVyIDYgQWN0aXZlICovCisjZGVmaW5lICBDQU5fRkExUl9GQUNUNyAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQxNl90KTB4MDA4MCkgICAgICAgICAgICAvKiE8RmlsdGVyIDcgQWN0aXZlICovCisjZGVmaW5lICBDQU5fRkExUl9GQUNUOCAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQxNl90KTB4MDEwMCkgICAgICAgICAgICAvKiE8RmlsdGVyIDggQWN0aXZlICovCisjZGVmaW5lICBDQU5fRkExUl9GQUNUOSAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQxNl90KTB4MDIwMCkgICAgICAgICAgICAvKiE8RmlsdGVyIDkgQWN0aXZlICovCisjZGVmaW5lICBDQU5fRkExUl9GQUNUMTAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQxNl90KTB4MDQwMCkgICAgICAgICAgICAvKiE8RmlsdGVyIDEwIEFjdGl2ZSAqLworI2RlZmluZSAgQ0FOX0ZBMVJfRkFDVDExICAgICAgICAgICAgICAgICAgICAgKCh1aW50MTZfdCkweDA4MDApICAgICAgICAgICAgLyohPEZpbHRlciAxMSBBY3RpdmUgKi8KKyNkZWZpbmUgIENBTl9GQTFSX0ZBQ1QxMiAgICAgICAgICAgICAgICAgICAgICgodWludDE2X3QpMHgxMDAwKSAgICAgICAgICAgIC8qITxGaWx0ZXIgMTIgQWN0aXZlICovCisjZGVmaW5lICBDQU5fRkExUl9GQUNUMTMgICAgICAgICAgICAgICAgICAgICAoKHVpbnQxNl90KTB4MjAwMCkgICAgICAgICAgICAvKiE8RmlsdGVyIDEzIEFjdGl2ZSAqLworCisvKioqKioqKioqKioqKioqKioqKiAgQml0IGRlZmluaXRpb24gZm9yIENBTl9GMFIxIHJlZ2lzdGVyICAqKioqKioqKioqKioqKioqKioqLworI2RlZmluZSAgQ0FOX0YwUjFfRkIwICAgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwMDAxKSAgICAgICAgLyohPEZpbHRlciBiaXQgMCAqLworI2RlZmluZSAgQ0FOX0YwUjFfRkIxICAgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwMDAyKSAgICAgICAgLyohPEZpbHRlciBiaXQgMSAqLworI2RlZmluZSAgQ0FOX0YwUjFfRkIyICAgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwMDA0KSAgICAgICAgLyohPEZpbHRlciBiaXQgMiAqLworI2RlZmluZSAgQ0FOX0YwUjFfRkIzICAgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwMDA4KSAgICAgICAgLyohPEZpbHRlciBiaXQgMyAqLworI2RlZmluZSAgQ0FOX0YwUjFfRkI0ICAgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwMDEwKSAgICAgICAgLyohPEZpbHRlciBiaXQgNCAqLworI2RlZmluZSAgQ0FOX0YwUjFfRkI1ICAgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwMDIwKSAgICAgICAgLyohPEZpbHRlciBiaXQgNSAqLworI2RlZmluZSAgQ0FOX0YwUjFfRkI2ICAgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwMDQwKSAgICAgICAgLyohPEZpbHRlciBiaXQgNiAqLworI2RlZmluZSAgQ0FOX0YwUjFfRkI3ICAgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwMDgwKSAgICAgICAgLyohPEZpbHRlciBiaXQgNyAqLworI2RlZmluZSAgQ0FOX0YwUjFfRkI4ICAgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwMTAwKSAgICAgICAgLyohPEZpbHRlciBiaXQgOCAqLworI2RlZmluZSAgQ0FOX0YwUjFfRkI5ICAgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwMjAwKSAgICAgICAgLyohPEZpbHRlciBiaXQgOSAqLworI2RlZmluZSAgQ0FOX0YwUjFfRkIxMCAgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwNDAwKSAgICAgICAgLyohPEZpbHRlciBiaXQgMTAgKi8KKyNkZWZpbmUgIENBTl9GMFIxX0ZCMTEgICAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMDgwMCkgICAgICAgIC8qITxGaWx0ZXIgYml0IDExICovCisjZGVmaW5lICBDQU5fRjBSMV9GQjEyICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDEwMDApICAgICAgICAvKiE8RmlsdGVyIGJpdCAxMiAqLworI2RlZmluZSAgQ0FOX0YwUjFfRkIxMyAgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAyMDAwKSAgICAgICAgLyohPEZpbHRlciBiaXQgMTMgKi8KKyNkZWZpbmUgIENBTl9GMFIxX0ZCMTQgICAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwNDAwMCkgICAgICAgIC8qITxGaWx0ZXIgYml0IDE0ICovCisjZGVmaW5lICBDQU5fRjBSMV9GQjE1ICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDgwMDApICAgICAgICAvKiE8RmlsdGVyIGJpdCAxNSAqLworI2RlZmluZSAgQ0FOX0YwUjFfRkIxNiAgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDEwMDAwKSAgICAgICAgLyohPEZpbHRlciBiaXQgMTYgKi8KKyNkZWZpbmUgIENBTl9GMFIxX0ZCMTcgICAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAyMDAwMCkgICAgICAgIC8qITxGaWx0ZXIgYml0IDE3ICovCisjZGVmaW5lICBDQU5fRjBSMV9GQjE4ICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwNDAwMDApICAgICAgICAvKiE8RmlsdGVyIGJpdCAxOCAqLworI2RlZmluZSAgQ0FOX0YwUjFfRkIxOSAgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDgwMDAwKSAgICAgICAgLyohPEZpbHRlciBiaXQgMTkgKi8KKyNkZWZpbmUgIENBTl9GMFIxX0ZCMjAgICAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDEwMDAwMCkgICAgICAgIC8qITxGaWx0ZXIgYml0IDIwICovCisjZGVmaW5lICBDQU5fRjBSMV9GQjIxICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAyMDAwMDApICAgICAgICAvKiE8RmlsdGVyIGJpdCAyMSAqLworI2RlZmluZSAgQ0FOX0YwUjFfRkIyMiAgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwNDAwMDAwKSAgICAgICAgLyohPEZpbHRlciBiaXQgMjIgKi8KKyNkZWZpbmUgIENBTl9GMFIxX0ZCMjMgICAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDgwMDAwMCkgICAgICAgIC8qITxGaWx0ZXIgYml0IDIzICovCisjZGVmaW5lICBDQU5fRjBSMV9GQjI0ICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDEwMDAwMDApICAgICAgICAvKiE8RmlsdGVyIGJpdCAyNCAqLworI2RlZmluZSAgQ0FOX0YwUjFfRkIyNSAgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAyMDAwMDAwKSAgICAgICAgLyohPEZpbHRlciBiaXQgMjUgKi8KKyNkZWZpbmUgIENBTl9GMFIxX0ZCMjYgICAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwNDAwMDAwMCkgICAgICAgIC8qITxGaWx0ZXIgYml0IDI2ICovCisjZGVmaW5lICBDQU5fRjBSMV9GQjI3ICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDgwMDAwMDApICAgICAgICAvKiE8RmlsdGVyIGJpdCAyNyAqLworI2RlZmluZSAgQ0FOX0YwUjFfRkIyOCAgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDEwMDAwMDAwKSAgICAgICAgLyohPEZpbHRlciBiaXQgMjggKi8KKyNkZWZpbmUgIENBTl9GMFIxX0ZCMjkgICAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgyMDAwMDAwMCkgICAgICAgIC8qITxGaWx0ZXIgYml0IDI5ICovCisjZGVmaW5lICBDQU5fRjBSMV9GQjMwICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4NDAwMDAwMDApICAgICAgICAvKiE8RmlsdGVyIGJpdCAzMCAqLworI2RlZmluZSAgQ0FOX0YwUjFfRkIzMSAgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDgwMDAwMDAwKSAgICAgICAgLyohPEZpbHRlciBiaXQgMzEgKi8KKworLyoqKioqKioqKioqKioqKioqKiogIEJpdCBkZWZpbml0aW9uIGZvciBDQU5fRjFSMSByZWdpc3RlciAgKioqKioqKioqKioqKioqKioqKi8KKyNkZWZpbmUgIENBTl9GMVIxX0ZCMCAgICAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMDAwMSkgICAgICAgIC8qITxGaWx0ZXIgYml0IDAgKi8KKyNkZWZpbmUgIENBTl9GMVIxX0ZCMSAgICAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMDAwMikgICAgICAgIC8qITxGaWx0ZXIgYml0IDEgKi8KKyNkZWZpbmUgIENBTl9GMVIxX0ZCMiAgICAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMDAwNCkgICAgICAgIC8qITxGaWx0ZXIgYml0IDIgKi8KKyNkZWZpbmUgIENBTl9GMVIxX0ZCMyAgICAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMDAwOCkgICAgICAgIC8qITxGaWx0ZXIgYml0IDMgKi8KKyNkZWZpbmUgIENBTl9GMVIxX0ZCNCAgICAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMDAxMCkgICAgICAgIC8qITxGaWx0ZXIgYml0IDQgKi8KKyNkZWZpbmUgIENBTl9GMVIxX0ZCNSAgICAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMDAyMCkgICAgICAgIC8qITxGaWx0ZXIgYml0IDUgKi8KKyNkZWZpbmUgIENBTl9GMVIxX0ZCNiAgICAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMDA0MCkgICAgICAgIC8qITxGaWx0ZXIgYml0IDYgKi8KKyNkZWZpbmUgIENBTl9GMVIxX0ZCNyAgICAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMDA4MCkgICAgICAgIC8qITxGaWx0ZXIgYml0IDcgKi8KKyNkZWZpbmUgIENBTl9GMVIxX0ZCOCAgICAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMDEwMCkgICAgICAgIC8qITxGaWx0ZXIgYml0IDggKi8KKyNkZWZpbmUgIENBTl9GMVIxX0ZCOSAgICAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMDIwMCkgICAgICAgIC8qITxGaWx0ZXIgYml0IDkgKi8KKyNkZWZpbmUgIENBTl9GMVIxX0ZCMTAgICAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMDQwMCkgICAgICAgIC8qITxGaWx0ZXIgYml0IDEwICovCisjZGVmaW5lICBDQU5fRjFSMV9GQjExICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDA4MDApICAgICAgICAvKiE8RmlsdGVyIGJpdCAxMSAqLworI2RlZmluZSAgQ0FOX0YxUjFfRkIxMiAgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAxMDAwKSAgICAgICAgLyohPEZpbHRlciBiaXQgMTIgKi8KKyNkZWZpbmUgIENBTl9GMVIxX0ZCMTMgICAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMjAwMCkgICAgICAgIC8qITxGaWx0ZXIgYml0IDEzICovCisjZGVmaW5lICBDQU5fRjFSMV9GQjE0ICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDQwMDApICAgICAgICAvKiE8RmlsdGVyIGJpdCAxNCAqLworI2RlZmluZSAgQ0FOX0YxUjFfRkIxNSAgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDA4MDAwKSAgICAgICAgLyohPEZpbHRlciBiaXQgMTUgKi8KKyNkZWZpbmUgIENBTl9GMVIxX0ZCMTYgICAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAxMDAwMCkgICAgICAgIC8qITxGaWx0ZXIgYml0IDE2ICovCisjZGVmaW5lICBDQU5fRjFSMV9GQjE3ICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMjAwMDApICAgICAgICAvKiE8RmlsdGVyIGJpdCAxNyAqLworI2RlZmluZSAgQ0FOX0YxUjFfRkIxOCAgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDQwMDAwKSAgICAgICAgLyohPEZpbHRlciBiaXQgMTggKi8KKyNkZWZpbmUgIENBTl9GMVIxX0ZCMTkgICAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDA4MDAwMCkgICAgICAgIC8qITxGaWx0ZXIgYml0IDE5ICovCisjZGVmaW5lICBDQU5fRjFSMV9GQjIwICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAxMDAwMDApICAgICAgICAvKiE8RmlsdGVyIGJpdCAyMCAqLworI2RlZmluZSAgQ0FOX0YxUjFfRkIyMSAgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMjAwMDAwKSAgICAgICAgLyohPEZpbHRlciBiaXQgMjEgKi8KKyNkZWZpbmUgIENBTl9GMVIxX0ZCMjIgICAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDQwMDAwMCkgICAgICAgIC8qITxGaWx0ZXIgYml0IDIyICovCisjZGVmaW5lICBDQU5fRjFSMV9GQjIzICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDA4MDAwMDApICAgICAgICAvKiE8RmlsdGVyIGJpdCAyMyAqLworI2RlZmluZSAgQ0FOX0YxUjFfRkIyNCAgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAxMDAwMDAwKSAgICAgICAgLyohPEZpbHRlciBiaXQgMjQgKi8KKyNkZWZpbmUgIENBTl9GMVIxX0ZCMjUgICAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMjAwMDAwMCkgICAgICAgIC8qITxGaWx0ZXIgYml0IDI1ICovCisjZGVmaW5lICBDQU5fRjFSMV9GQjI2ICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDQwMDAwMDApICAgICAgICAvKiE8RmlsdGVyIGJpdCAyNiAqLworI2RlZmluZSAgQ0FOX0YxUjFfRkIyNyAgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDA4MDAwMDAwKSAgICAgICAgLyohPEZpbHRlciBiaXQgMjcgKi8KKyNkZWZpbmUgIENBTl9GMVIxX0ZCMjggICAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgxMDAwMDAwMCkgICAgICAgIC8qITxGaWx0ZXIgYml0IDI4ICovCisjZGVmaW5lICBDQU5fRjFSMV9GQjI5ICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MjAwMDAwMDApICAgICAgICAvKiE8RmlsdGVyIGJpdCAyOSAqLworI2RlZmluZSAgQ0FOX0YxUjFfRkIzMCAgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDQwMDAwMDAwKSAgICAgICAgLyohPEZpbHRlciBiaXQgMzAgKi8KKyNkZWZpbmUgIENBTl9GMVIxX0ZCMzEgICAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHg4MDAwMDAwMCkgICAgICAgIC8qITxGaWx0ZXIgYml0IDMxICovCisKKy8qKioqKioqKioqKioqKioqKioqICBCaXQgZGVmaW5pdGlvbiBmb3IgQ0FOX0YyUjEgcmVnaXN0ZXIgICoqKioqKioqKioqKioqKioqKiovCisjZGVmaW5lICBDQU5fRjJSMV9GQjAgICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDAwMDEpICAgICAgICAvKiE8RmlsdGVyIGJpdCAwICovCisjZGVmaW5lICBDQU5fRjJSMV9GQjEgICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDAwMDIpICAgICAgICAvKiE8RmlsdGVyIGJpdCAxICovCisjZGVmaW5lICBDQU5fRjJSMV9GQjIgICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDAwMDQpICAgICAgICAvKiE8RmlsdGVyIGJpdCAyICovCisjZGVmaW5lICBDQU5fRjJSMV9GQjMgICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDAwMDgpICAgICAgICAvKiE8RmlsdGVyIGJpdCAzICovCisjZGVmaW5lICBDQU5fRjJSMV9GQjQgICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDAwMTApICAgICAgICAvKiE8RmlsdGVyIGJpdCA0ICovCisjZGVmaW5lICBDQU5fRjJSMV9GQjUgICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDAwMjApICAgICAgICAvKiE8RmlsdGVyIGJpdCA1ICovCisjZGVmaW5lICBDQU5fRjJSMV9GQjYgICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDAwNDApICAgICAgICAvKiE8RmlsdGVyIGJpdCA2ICovCisjZGVmaW5lICBDQU5fRjJSMV9GQjcgICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDAwODApICAgICAgICAvKiE8RmlsdGVyIGJpdCA3ICovCisjZGVmaW5lICBDQU5fRjJSMV9GQjggICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDAxMDApICAgICAgICAvKiE8RmlsdGVyIGJpdCA4ICovCisjZGVmaW5lICBDQU5fRjJSMV9GQjkgICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDAyMDApICAgICAgICAvKiE8RmlsdGVyIGJpdCA5ICovCisjZGVmaW5lICBDQU5fRjJSMV9GQjEwICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDA0MDApICAgICAgICAvKiE8RmlsdGVyIGJpdCAxMCAqLworI2RlZmluZSAgQ0FOX0YyUjFfRkIxMSAgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwODAwKSAgICAgICAgLyohPEZpbHRlciBiaXQgMTEgKi8KKyNkZWZpbmUgIENBTl9GMlIxX0ZCMTIgICAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMTAwMCkgICAgICAgIC8qITxGaWx0ZXIgYml0IDEyICovCisjZGVmaW5lICBDQU5fRjJSMV9GQjEzICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDIwMDApICAgICAgICAvKiE8RmlsdGVyIGJpdCAxMyAqLworI2RlZmluZSAgQ0FOX0YyUjFfRkIxNCAgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDA0MDAwKSAgICAgICAgLyohPEZpbHRlciBiaXQgMTQgKi8KKyNkZWZpbmUgIENBTl9GMlIxX0ZCMTUgICAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwODAwMCkgICAgICAgIC8qITxGaWx0ZXIgYml0IDE1ICovCisjZGVmaW5lICBDQU5fRjJSMV9GQjE2ICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMTAwMDApICAgICAgICAvKiE8RmlsdGVyIGJpdCAxNiAqLworI2RlZmluZSAgQ0FOX0YyUjFfRkIxNyAgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDIwMDAwKSAgICAgICAgLyohPEZpbHRlciBiaXQgMTcgKi8KKyNkZWZpbmUgIENBTl9GMlIxX0ZCMTggICAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDA0MDAwMCkgICAgICAgIC8qITxGaWx0ZXIgYml0IDE4ICovCisjZGVmaW5lICBDQU5fRjJSMV9GQjE5ICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwODAwMDApICAgICAgICAvKiE8RmlsdGVyIGJpdCAxOSAqLworI2RlZmluZSAgQ0FOX0YyUjFfRkIyMCAgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMTAwMDAwKSAgICAgICAgLyohPEZpbHRlciBiaXQgMjAgKi8KKyNkZWZpbmUgIENBTl9GMlIxX0ZCMjEgICAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDIwMDAwMCkgICAgICAgIC8qITxGaWx0ZXIgYml0IDIxICovCisjZGVmaW5lICBDQU5fRjJSMV9GQjIyICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDA0MDAwMDApICAgICAgICAvKiE8RmlsdGVyIGJpdCAyMiAqLworI2RlZmluZSAgQ0FOX0YyUjFfRkIyMyAgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwODAwMDAwKSAgICAgICAgLyohPEZpbHRlciBiaXQgMjMgKi8KKyNkZWZpbmUgIENBTl9GMlIxX0ZCMjQgICAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMTAwMDAwMCkgICAgICAgIC8qITxGaWx0ZXIgYml0IDI0ICovCisjZGVmaW5lICBDQU5fRjJSMV9GQjI1ICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDIwMDAwMDApICAgICAgICAvKiE8RmlsdGVyIGJpdCAyNSAqLworI2RlZmluZSAgQ0FOX0YyUjFfRkIyNiAgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDA0MDAwMDAwKSAgICAgICAgLyohPEZpbHRlciBiaXQgMjYgKi8KKyNkZWZpbmUgIENBTl9GMlIxX0ZCMjcgICAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwODAwMDAwMCkgICAgICAgIC8qITxGaWx0ZXIgYml0IDI3ICovCisjZGVmaW5lICBDQU5fRjJSMV9GQjI4ICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MTAwMDAwMDApICAgICAgICAvKiE8RmlsdGVyIGJpdCAyOCAqLworI2RlZmluZSAgQ0FOX0YyUjFfRkIyOSAgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDIwMDAwMDAwKSAgICAgICAgLyohPEZpbHRlciBiaXQgMjkgKi8KKyNkZWZpbmUgIENBTl9GMlIxX0ZCMzAgICAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHg0MDAwMDAwMCkgICAgICAgIC8qITxGaWx0ZXIgYml0IDMwICovCisjZGVmaW5lICBDQU5fRjJSMV9GQjMxICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4ODAwMDAwMDApICAgICAgICAvKiE8RmlsdGVyIGJpdCAzMSAqLworCisvKioqKioqKioqKioqKioqKioqKiAgQml0IGRlZmluaXRpb24gZm9yIENBTl9GM1IxIHJlZ2lzdGVyICAqKioqKioqKioqKioqKioqKioqLworI2RlZmluZSAgQ0FOX0YzUjFfRkIwICAgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwMDAxKSAgICAgICAgLyohPEZpbHRlciBiaXQgMCAqLworI2RlZmluZSAgQ0FOX0YzUjFfRkIxICAgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwMDAyKSAgICAgICAgLyohPEZpbHRlciBiaXQgMSAqLworI2RlZmluZSAgQ0FOX0YzUjFfRkIyICAgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwMDA0KSAgICAgICAgLyohPEZpbHRlciBiaXQgMiAqLworI2RlZmluZSAgQ0FOX0YzUjFfRkIzICAgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwMDA4KSAgICAgICAgLyohPEZpbHRlciBiaXQgMyAqLworI2RlZmluZSAgQ0FOX0YzUjFfRkI0ICAgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwMDEwKSAgICAgICAgLyohPEZpbHRlciBiaXQgNCAqLworI2RlZmluZSAgQ0FOX0YzUjFfRkI1ICAgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwMDIwKSAgICAgICAgLyohPEZpbHRlciBiaXQgNSAqLworI2RlZmluZSAgQ0FOX0YzUjFfRkI2ICAgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwMDQwKSAgICAgICAgLyohPEZpbHRlciBiaXQgNiAqLworI2RlZmluZSAgQ0FOX0YzUjFfRkI3ICAgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwMDgwKSAgICAgICAgLyohPEZpbHRlciBiaXQgNyAqLworI2RlZmluZSAgQ0FOX0YzUjFfRkI4ICAgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwMTAwKSAgICAgICAgLyohPEZpbHRlciBiaXQgOCAqLworI2RlZmluZSAgQ0FOX0YzUjFfRkI5ICAgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwMjAwKSAgICAgICAgLyohPEZpbHRlciBiaXQgOSAqLworI2RlZmluZSAgQ0FOX0YzUjFfRkIxMCAgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwNDAwKSAgICAgICAgLyohPEZpbHRlciBiaXQgMTAgKi8KKyNkZWZpbmUgIENBTl9GM1IxX0ZCMTEgICAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMDgwMCkgICAgICAgIC8qITxGaWx0ZXIgYml0IDExICovCisjZGVmaW5lICBDQU5fRjNSMV9GQjEyICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDEwMDApICAgICAgICAvKiE8RmlsdGVyIGJpdCAxMiAqLworI2RlZmluZSAgQ0FOX0YzUjFfRkIxMyAgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAyMDAwKSAgICAgICAgLyohPEZpbHRlciBiaXQgMTMgKi8KKyNkZWZpbmUgIENBTl9GM1IxX0ZCMTQgICAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwNDAwMCkgICAgICAgIC8qITxGaWx0ZXIgYml0IDE0ICovCisjZGVmaW5lICBDQU5fRjNSMV9GQjE1ICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDgwMDApICAgICAgICAvKiE8RmlsdGVyIGJpdCAxNSAqLworI2RlZmluZSAgQ0FOX0YzUjFfRkIxNiAgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDEwMDAwKSAgICAgICAgLyohPEZpbHRlciBiaXQgMTYgKi8KKyNkZWZpbmUgIENBTl9GM1IxX0ZCMTcgICAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAyMDAwMCkgICAgICAgIC8qITxGaWx0ZXIgYml0IDE3ICovCisjZGVmaW5lICBDQU5fRjNSMV9GQjE4ICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwNDAwMDApICAgICAgICAvKiE8RmlsdGVyIGJpdCAxOCAqLworI2RlZmluZSAgQ0FOX0YzUjFfRkIxOSAgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDgwMDAwKSAgICAgICAgLyohPEZpbHRlciBiaXQgMTkgKi8KKyNkZWZpbmUgIENBTl9GM1IxX0ZCMjAgICAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDEwMDAwMCkgICAgICAgIC8qITxGaWx0ZXIgYml0IDIwICovCisjZGVmaW5lICBDQU5fRjNSMV9GQjIxICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAyMDAwMDApICAgICAgICAvKiE8RmlsdGVyIGJpdCAyMSAqLworI2RlZmluZSAgQ0FOX0YzUjFfRkIyMiAgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwNDAwMDAwKSAgICAgICAgLyohPEZpbHRlciBiaXQgMjIgKi8KKyNkZWZpbmUgIENBTl9GM1IxX0ZCMjMgICAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDgwMDAwMCkgICAgICAgIC8qITxGaWx0ZXIgYml0IDIzICovCisjZGVmaW5lICBDQU5fRjNSMV9GQjI0ICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDEwMDAwMDApICAgICAgICAvKiE8RmlsdGVyIGJpdCAyNCAqLworI2RlZmluZSAgQ0FOX0YzUjFfRkIyNSAgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAyMDAwMDAwKSAgICAgICAgLyohPEZpbHRlciBiaXQgMjUgKi8KKyNkZWZpbmUgIENBTl9GM1IxX0ZCMjYgICAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwNDAwMDAwMCkgICAgICAgIC8qITxGaWx0ZXIgYml0IDI2ICovCisjZGVmaW5lICBDQU5fRjNSMV9GQjI3ICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDgwMDAwMDApICAgICAgICAvKiE8RmlsdGVyIGJpdCAyNyAqLworI2RlZmluZSAgQ0FOX0YzUjFfRkIyOCAgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDEwMDAwMDAwKSAgICAgICAgLyohPEZpbHRlciBiaXQgMjggKi8KKyNkZWZpbmUgIENBTl9GM1IxX0ZCMjkgICAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgyMDAwMDAwMCkgICAgICAgIC8qITxGaWx0ZXIgYml0IDI5ICovCisjZGVmaW5lICBDQU5fRjNSMV9GQjMwICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4NDAwMDAwMDApICAgICAgICAvKiE8RmlsdGVyIGJpdCAzMCAqLworI2RlZmluZSAgQ0FOX0YzUjFfRkIzMSAgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDgwMDAwMDAwKSAgICAgICAgLyohPEZpbHRlciBiaXQgMzEgKi8KKworLyoqKioqKioqKioqKioqKioqKiogIEJpdCBkZWZpbml0aW9uIGZvciBDQU5fRjRSMSByZWdpc3RlciAgKioqKioqKioqKioqKioqKioqKi8KKyNkZWZpbmUgIENBTl9GNFIxX0ZCMCAgICAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMDAwMSkgICAgICAgIC8qITxGaWx0ZXIgYml0IDAgKi8KKyNkZWZpbmUgIENBTl9GNFIxX0ZCMSAgICAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMDAwMikgICAgICAgIC8qITxGaWx0ZXIgYml0IDEgKi8KKyNkZWZpbmUgIENBTl9GNFIxX0ZCMiAgICAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMDAwNCkgICAgICAgIC8qITxGaWx0ZXIgYml0IDIgKi8KKyNkZWZpbmUgIENBTl9GNFIxX0ZCMyAgICAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMDAwOCkgICAgICAgIC8qITxGaWx0ZXIgYml0IDMgKi8KKyNkZWZpbmUgIENBTl9GNFIxX0ZCNCAgICAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMDAxMCkgICAgICAgIC8qITxGaWx0ZXIgYml0IDQgKi8KKyNkZWZpbmUgIENBTl9GNFIxX0ZCNSAgICAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMDAyMCkgICAgICAgIC8qITxGaWx0ZXIgYml0IDUgKi8KKyNkZWZpbmUgIENBTl9GNFIxX0ZCNiAgICAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMDA0MCkgICAgICAgIC8qITxGaWx0ZXIgYml0IDYgKi8KKyNkZWZpbmUgIENBTl9GNFIxX0ZCNyAgICAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMDA4MCkgICAgICAgIC8qITxGaWx0ZXIgYml0IDcgKi8KKyNkZWZpbmUgIENBTl9GNFIxX0ZCOCAgICAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMDEwMCkgICAgICAgIC8qITxGaWx0ZXIgYml0IDggKi8KKyNkZWZpbmUgIENBTl9GNFIxX0ZCOSAgICAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMDIwMCkgICAgICAgIC8qITxGaWx0ZXIgYml0IDkgKi8KKyNkZWZpbmUgIENBTl9GNFIxX0ZCMTAgICAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMDQwMCkgICAgICAgIC8qITxGaWx0ZXIgYml0IDEwICovCisjZGVmaW5lICBDQU5fRjRSMV9GQjExICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDA4MDApICAgICAgICAvKiE8RmlsdGVyIGJpdCAxMSAqLworI2RlZmluZSAgQ0FOX0Y0UjFfRkIxMiAgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAxMDAwKSAgICAgICAgLyohPEZpbHRlciBiaXQgMTIgKi8KKyNkZWZpbmUgIENBTl9GNFIxX0ZCMTMgICAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMjAwMCkgICAgICAgIC8qITxGaWx0ZXIgYml0IDEzICovCisjZGVmaW5lICBDQU5fRjRSMV9GQjE0ICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDQwMDApICAgICAgICAvKiE8RmlsdGVyIGJpdCAxNCAqLworI2RlZmluZSAgQ0FOX0Y0UjFfRkIxNSAgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDA4MDAwKSAgICAgICAgLyohPEZpbHRlciBiaXQgMTUgKi8KKyNkZWZpbmUgIENBTl9GNFIxX0ZCMTYgICAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAxMDAwMCkgICAgICAgIC8qITxGaWx0ZXIgYml0IDE2ICovCisjZGVmaW5lICBDQU5fRjRSMV9GQjE3ICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMjAwMDApICAgICAgICAvKiE8RmlsdGVyIGJpdCAxNyAqLworI2RlZmluZSAgQ0FOX0Y0UjFfRkIxOCAgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDQwMDAwKSAgICAgICAgLyohPEZpbHRlciBiaXQgMTggKi8KKyNkZWZpbmUgIENBTl9GNFIxX0ZCMTkgICAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDA4MDAwMCkgICAgICAgIC8qITxGaWx0ZXIgYml0IDE5ICovCisjZGVmaW5lICBDQU5fRjRSMV9GQjIwICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAxMDAwMDApICAgICAgICAvKiE8RmlsdGVyIGJpdCAyMCAqLworI2RlZmluZSAgQ0FOX0Y0UjFfRkIyMSAgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMjAwMDAwKSAgICAgICAgLyohPEZpbHRlciBiaXQgMjEgKi8KKyNkZWZpbmUgIENBTl9GNFIxX0ZCMjIgICAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDQwMDAwMCkgICAgICAgIC8qITxGaWx0ZXIgYml0IDIyICovCisjZGVmaW5lICBDQU5fRjRSMV9GQjIzICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDA4MDAwMDApICAgICAgICAvKiE8RmlsdGVyIGJpdCAyMyAqLworI2RlZmluZSAgQ0FOX0Y0UjFfRkIyNCAgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAxMDAwMDAwKSAgICAgICAgLyohPEZpbHRlciBiaXQgMjQgKi8KKyNkZWZpbmUgIENBTl9GNFIxX0ZCMjUgICAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMjAwMDAwMCkgICAgICAgIC8qITxGaWx0ZXIgYml0IDI1ICovCisjZGVmaW5lICBDQU5fRjRSMV9GQjI2ICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDQwMDAwMDApICAgICAgICAvKiE8RmlsdGVyIGJpdCAyNiAqLworI2RlZmluZSAgQ0FOX0Y0UjFfRkIyNyAgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDA4MDAwMDAwKSAgICAgICAgLyohPEZpbHRlciBiaXQgMjcgKi8KKyNkZWZpbmUgIENBTl9GNFIxX0ZCMjggICAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgxMDAwMDAwMCkgICAgICAgIC8qITxGaWx0ZXIgYml0IDI4ICovCisjZGVmaW5lICBDQU5fRjRSMV9GQjI5ICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MjAwMDAwMDApICAgICAgICAvKiE8RmlsdGVyIGJpdCAyOSAqLworI2RlZmluZSAgQ0FOX0Y0UjFfRkIzMCAgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDQwMDAwMDAwKSAgICAgICAgLyohPEZpbHRlciBiaXQgMzAgKi8KKyNkZWZpbmUgIENBTl9GNFIxX0ZCMzEgICAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHg4MDAwMDAwMCkgICAgICAgIC8qITxGaWx0ZXIgYml0IDMxICovCisKKy8qKioqKioqKioqKioqKioqKioqICBCaXQgZGVmaW5pdGlvbiBmb3IgQ0FOX0Y1UjEgcmVnaXN0ZXIgICoqKioqKioqKioqKioqKioqKiovCisjZGVmaW5lICBDQU5fRjVSMV9GQjAgICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDAwMDEpICAgICAgICAvKiE8RmlsdGVyIGJpdCAwICovCisjZGVmaW5lICBDQU5fRjVSMV9GQjEgICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDAwMDIpICAgICAgICAvKiE8RmlsdGVyIGJpdCAxICovCisjZGVmaW5lICBDQU5fRjVSMV9GQjIgICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDAwMDQpICAgICAgICAvKiE8RmlsdGVyIGJpdCAyICovCisjZGVmaW5lICBDQU5fRjVSMV9GQjMgICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDAwMDgpICAgICAgICAvKiE8RmlsdGVyIGJpdCAzICovCisjZGVmaW5lICBDQU5fRjVSMV9GQjQgICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDAwMTApICAgICAgICAvKiE8RmlsdGVyIGJpdCA0ICovCisjZGVmaW5lICBDQU5fRjVSMV9GQjUgICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDAwMjApICAgICAgICAvKiE8RmlsdGVyIGJpdCA1ICovCisjZGVmaW5lICBDQU5fRjVSMV9GQjYgICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDAwNDApICAgICAgICAvKiE8RmlsdGVyIGJpdCA2ICovCisjZGVmaW5lICBDQU5fRjVSMV9GQjcgICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDAwODApICAgICAgICAvKiE8RmlsdGVyIGJpdCA3ICovCisjZGVmaW5lICBDQU5fRjVSMV9GQjggICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDAxMDApICAgICAgICAvKiE8RmlsdGVyIGJpdCA4ICovCisjZGVmaW5lICBDQU5fRjVSMV9GQjkgICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDAyMDApICAgICAgICAvKiE8RmlsdGVyIGJpdCA5ICovCisjZGVmaW5lICBDQU5fRjVSMV9GQjEwICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDA0MDApICAgICAgICAvKiE8RmlsdGVyIGJpdCAxMCAqLworI2RlZmluZSAgQ0FOX0Y1UjFfRkIxMSAgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwODAwKSAgICAgICAgLyohPEZpbHRlciBiaXQgMTEgKi8KKyNkZWZpbmUgIENBTl9GNVIxX0ZCMTIgICAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMTAwMCkgICAgICAgIC8qITxGaWx0ZXIgYml0IDEyICovCisjZGVmaW5lICBDQU5fRjVSMV9GQjEzICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDIwMDApICAgICAgICAvKiE8RmlsdGVyIGJpdCAxMyAqLworI2RlZmluZSAgQ0FOX0Y1UjFfRkIxNCAgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDA0MDAwKSAgICAgICAgLyohPEZpbHRlciBiaXQgMTQgKi8KKyNkZWZpbmUgIENBTl9GNVIxX0ZCMTUgICAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwODAwMCkgICAgICAgIC8qITxGaWx0ZXIgYml0IDE1ICovCisjZGVmaW5lICBDQU5fRjVSMV9GQjE2ICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMTAwMDApICAgICAgICAvKiE8RmlsdGVyIGJpdCAxNiAqLworI2RlZmluZSAgQ0FOX0Y1UjFfRkIxNyAgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDIwMDAwKSAgICAgICAgLyohPEZpbHRlciBiaXQgMTcgKi8KKyNkZWZpbmUgIENBTl9GNVIxX0ZCMTggICAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDA0MDAwMCkgICAgICAgIC8qITxGaWx0ZXIgYml0IDE4ICovCisjZGVmaW5lICBDQU5fRjVSMV9GQjE5ICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwODAwMDApICAgICAgICAvKiE8RmlsdGVyIGJpdCAxOSAqLworI2RlZmluZSAgQ0FOX0Y1UjFfRkIyMCAgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMTAwMDAwKSAgICAgICAgLyohPEZpbHRlciBiaXQgMjAgKi8KKyNkZWZpbmUgIENBTl9GNVIxX0ZCMjEgICAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDIwMDAwMCkgICAgICAgIC8qITxGaWx0ZXIgYml0IDIxICovCisjZGVmaW5lICBDQU5fRjVSMV9GQjIyICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDA0MDAwMDApICAgICAgICAvKiE8RmlsdGVyIGJpdCAyMiAqLworI2RlZmluZSAgQ0FOX0Y1UjFfRkIyMyAgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwODAwMDAwKSAgICAgICAgLyohPEZpbHRlciBiaXQgMjMgKi8KKyNkZWZpbmUgIENBTl9GNVIxX0ZCMjQgICAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMTAwMDAwMCkgICAgICAgIC8qITxGaWx0ZXIgYml0IDI0ICovCisjZGVmaW5lICBDQU5fRjVSMV9GQjI1ICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDIwMDAwMDApICAgICAgICAvKiE8RmlsdGVyIGJpdCAyNSAqLworI2RlZmluZSAgQ0FOX0Y1UjFfRkIyNiAgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDA0MDAwMDAwKSAgICAgICAgLyohPEZpbHRlciBiaXQgMjYgKi8KKyNkZWZpbmUgIENBTl9GNVIxX0ZCMjcgICAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwODAwMDAwMCkgICAgICAgIC8qITxGaWx0ZXIgYml0IDI3ICovCisjZGVmaW5lICBDQU5fRjVSMV9GQjI4ICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MTAwMDAwMDApICAgICAgICAvKiE8RmlsdGVyIGJpdCAyOCAqLworI2RlZmluZSAgQ0FOX0Y1UjFfRkIyOSAgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDIwMDAwMDAwKSAgICAgICAgLyohPEZpbHRlciBiaXQgMjkgKi8KKyNkZWZpbmUgIENBTl9GNVIxX0ZCMzAgICAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHg0MDAwMDAwMCkgICAgICAgIC8qITxGaWx0ZXIgYml0IDMwICovCisjZGVmaW5lICBDQU5fRjVSMV9GQjMxICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4ODAwMDAwMDApICAgICAgICAvKiE8RmlsdGVyIGJpdCAzMSAqLworCisvKioqKioqKioqKioqKioqKioqKiAgQml0IGRlZmluaXRpb24gZm9yIENBTl9GNlIxIHJlZ2lzdGVyICAqKioqKioqKioqKioqKioqKioqLworI2RlZmluZSAgQ0FOX0Y2UjFfRkIwICAgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwMDAxKSAgICAgICAgLyohPEZpbHRlciBiaXQgMCAqLworI2RlZmluZSAgQ0FOX0Y2UjFfRkIxICAgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwMDAyKSAgICAgICAgLyohPEZpbHRlciBiaXQgMSAqLworI2RlZmluZSAgQ0FOX0Y2UjFfRkIyICAgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwMDA0KSAgICAgICAgLyohPEZpbHRlciBiaXQgMiAqLworI2RlZmluZSAgQ0FOX0Y2UjFfRkIzICAgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwMDA4KSAgICAgICAgLyohPEZpbHRlciBiaXQgMyAqLworI2RlZmluZSAgQ0FOX0Y2UjFfRkI0ICAgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwMDEwKSAgICAgICAgLyohPEZpbHRlciBiaXQgNCAqLworI2RlZmluZSAgQ0FOX0Y2UjFfRkI1ICAgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwMDIwKSAgICAgICAgLyohPEZpbHRlciBiaXQgNSAqLworI2RlZmluZSAgQ0FOX0Y2UjFfRkI2ICAgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwMDQwKSAgICAgICAgLyohPEZpbHRlciBiaXQgNiAqLworI2RlZmluZSAgQ0FOX0Y2UjFfRkI3ICAgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwMDgwKSAgICAgICAgLyohPEZpbHRlciBiaXQgNyAqLworI2RlZmluZSAgQ0FOX0Y2UjFfRkI4ICAgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwMTAwKSAgICAgICAgLyohPEZpbHRlciBiaXQgOCAqLworI2RlZmluZSAgQ0FOX0Y2UjFfRkI5ICAgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwMjAwKSAgICAgICAgLyohPEZpbHRlciBiaXQgOSAqLworI2RlZmluZSAgQ0FOX0Y2UjFfRkIxMCAgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwNDAwKSAgICAgICAgLyohPEZpbHRlciBiaXQgMTAgKi8KKyNkZWZpbmUgIENBTl9GNlIxX0ZCMTEgICAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMDgwMCkgICAgICAgIC8qITxGaWx0ZXIgYml0IDExICovCisjZGVmaW5lICBDQU5fRjZSMV9GQjEyICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDEwMDApICAgICAgICAvKiE8RmlsdGVyIGJpdCAxMiAqLworI2RlZmluZSAgQ0FOX0Y2UjFfRkIxMyAgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAyMDAwKSAgICAgICAgLyohPEZpbHRlciBiaXQgMTMgKi8KKyNkZWZpbmUgIENBTl9GNlIxX0ZCMTQgICAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwNDAwMCkgICAgICAgIC8qITxGaWx0ZXIgYml0IDE0ICovCisjZGVmaW5lICBDQU5fRjZSMV9GQjE1ICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDgwMDApICAgICAgICAvKiE8RmlsdGVyIGJpdCAxNSAqLworI2RlZmluZSAgQ0FOX0Y2UjFfRkIxNiAgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDEwMDAwKSAgICAgICAgLyohPEZpbHRlciBiaXQgMTYgKi8KKyNkZWZpbmUgIENBTl9GNlIxX0ZCMTcgICAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAyMDAwMCkgICAgICAgIC8qITxGaWx0ZXIgYml0IDE3ICovCisjZGVmaW5lICBDQU5fRjZSMV9GQjE4ICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwNDAwMDApICAgICAgICAvKiE8RmlsdGVyIGJpdCAxOCAqLworI2RlZmluZSAgQ0FOX0Y2UjFfRkIxOSAgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDgwMDAwKSAgICAgICAgLyohPEZpbHRlciBiaXQgMTkgKi8KKyNkZWZpbmUgIENBTl9GNlIxX0ZCMjAgICAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDEwMDAwMCkgICAgICAgIC8qITxGaWx0ZXIgYml0IDIwICovCisjZGVmaW5lICBDQU5fRjZSMV9GQjIxICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAyMDAwMDApICAgICAgICAvKiE8RmlsdGVyIGJpdCAyMSAqLworI2RlZmluZSAgQ0FOX0Y2UjFfRkIyMiAgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwNDAwMDAwKSAgICAgICAgLyohPEZpbHRlciBiaXQgMjIgKi8KKyNkZWZpbmUgIENBTl9GNlIxX0ZCMjMgICAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDgwMDAwMCkgICAgICAgIC8qITxGaWx0ZXIgYml0IDIzICovCisjZGVmaW5lICBDQU5fRjZSMV9GQjI0ICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDEwMDAwMDApICAgICAgICAvKiE8RmlsdGVyIGJpdCAyNCAqLworI2RlZmluZSAgQ0FOX0Y2UjFfRkIyNSAgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAyMDAwMDAwKSAgICAgICAgLyohPEZpbHRlciBiaXQgMjUgKi8KKyNkZWZpbmUgIENBTl9GNlIxX0ZCMjYgICAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwNDAwMDAwMCkgICAgICAgIC8qITxGaWx0ZXIgYml0IDI2ICovCisjZGVmaW5lICBDQU5fRjZSMV9GQjI3ICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDgwMDAwMDApICAgICAgICAvKiE8RmlsdGVyIGJpdCAyNyAqLworI2RlZmluZSAgQ0FOX0Y2UjFfRkIyOCAgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDEwMDAwMDAwKSAgICAgICAgLyohPEZpbHRlciBiaXQgMjggKi8KKyNkZWZpbmUgIENBTl9GNlIxX0ZCMjkgICAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgyMDAwMDAwMCkgICAgICAgIC8qITxGaWx0ZXIgYml0IDI5ICovCisjZGVmaW5lICBDQU5fRjZSMV9GQjMwICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4NDAwMDAwMDApICAgICAgICAvKiE8RmlsdGVyIGJpdCAzMCAqLworI2RlZmluZSAgQ0FOX0Y2UjFfRkIzMSAgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDgwMDAwMDAwKSAgICAgICAgLyohPEZpbHRlciBiaXQgMzEgKi8KKworLyoqKioqKioqKioqKioqKioqKiogIEJpdCBkZWZpbml0aW9uIGZvciBDQU5fRjdSMSByZWdpc3RlciAgKioqKioqKioqKioqKioqKioqKi8KKyNkZWZpbmUgIENBTl9GN1IxX0ZCMCAgICAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMDAwMSkgICAgICAgIC8qITxGaWx0ZXIgYml0IDAgKi8KKyNkZWZpbmUgIENBTl9GN1IxX0ZCMSAgICAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMDAwMikgICAgICAgIC8qITxGaWx0ZXIgYml0IDEgKi8KKyNkZWZpbmUgIENBTl9GN1IxX0ZCMiAgICAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMDAwNCkgICAgICAgIC8qITxGaWx0ZXIgYml0IDIgKi8KKyNkZWZpbmUgIENBTl9GN1IxX0ZCMyAgICAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMDAwOCkgICAgICAgIC8qITxGaWx0ZXIgYml0IDMgKi8KKyNkZWZpbmUgIENBTl9GN1IxX0ZCNCAgICAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMDAxMCkgICAgICAgIC8qITxGaWx0ZXIgYml0IDQgKi8KKyNkZWZpbmUgIENBTl9GN1IxX0ZCNSAgICAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMDAyMCkgICAgICAgIC8qITxGaWx0ZXIgYml0IDUgKi8KKyNkZWZpbmUgIENBTl9GN1IxX0ZCNiAgICAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMDA0MCkgICAgICAgIC8qITxGaWx0ZXIgYml0IDYgKi8KKyNkZWZpbmUgIENBTl9GN1IxX0ZCNyAgICAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMDA4MCkgICAgICAgIC8qITxGaWx0ZXIgYml0IDcgKi8KKyNkZWZpbmUgIENBTl9GN1IxX0ZCOCAgICAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMDEwMCkgICAgICAgIC8qITxGaWx0ZXIgYml0IDggKi8KKyNkZWZpbmUgIENBTl9GN1IxX0ZCOSAgICAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMDIwMCkgICAgICAgIC8qITxGaWx0ZXIgYml0IDkgKi8KKyNkZWZpbmUgIENBTl9GN1IxX0ZCMTAgICAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMDQwMCkgICAgICAgIC8qITxGaWx0ZXIgYml0IDEwICovCisjZGVmaW5lICBDQU5fRjdSMV9GQjExICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDA4MDApICAgICAgICAvKiE8RmlsdGVyIGJpdCAxMSAqLworI2RlZmluZSAgQ0FOX0Y3UjFfRkIxMiAgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAxMDAwKSAgICAgICAgLyohPEZpbHRlciBiaXQgMTIgKi8KKyNkZWZpbmUgIENBTl9GN1IxX0ZCMTMgICAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMjAwMCkgICAgICAgIC8qITxGaWx0ZXIgYml0IDEzICovCisjZGVmaW5lICBDQU5fRjdSMV9GQjE0ICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDQwMDApICAgICAgICAvKiE8RmlsdGVyIGJpdCAxNCAqLworI2RlZmluZSAgQ0FOX0Y3UjFfRkIxNSAgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDA4MDAwKSAgICAgICAgLyohPEZpbHRlciBiaXQgMTUgKi8KKyNkZWZpbmUgIENBTl9GN1IxX0ZCMTYgICAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAxMDAwMCkgICAgICAgIC8qITxGaWx0ZXIgYml0IDE2ICovCisjZGVmaW5lICBDQU5fRjdSMV9GQjE3ICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMjAwMDApICAgICAgICAvKiE8RmlsdGVyIGJpdCAxNyAqLworI2RlZmluZSAgQ0FOX0Y3UjFfRkIxOCAgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDQwMDAwKSAgICAgICAgLyohPEZpbHRlciBiaXQgMTggKi8KKyNkZWZpbmUgIENBTl9GN1IxX0ZCMTkgICAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDA4MDAwMCkgICAgICAgIC8qITxGaWx0ZXIgYml0IDE5ICovCisjZGVmaW5lICBDQU5fRjdSMV9GQjIwICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAxMDAwMDApICAgICAgICAvKiE8RmlsdGVyIGJpdCAyMCAqLworI2RlZmluZSAgQ0FOX0Y3UjFfRkIyMSAgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMjAwMDAwKSAgICAgICAgLyohPEZpbHRlciBiaXQgMjEgKi8KKyNkZWZpbmUgIENBTl9GN1IxX0ZCMjIgICAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDQwMDAwMCkgICAgICAgIC8qITxGaWx0ZXIgYml0IDIyICovCisjZGVmaW5lICBDQU5fRjdSMV9GQjIzICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDA4MDAwMDApICAgICAgICAvKiE8RmlsdGVyIGJpdCAyMyAqLworI2RlZmluZSAgQ0FOX0Y3UjFfRkIyNCAgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAxMDAwMDAwKSAgICAgICAgLyohPEZpbHRlciBiaXQgMjQgKi8KKyNkZWZpbmUgIENBTl9GN1IxX0ZCMjUgICAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMjAwMDAwMCkgICAgICAgIC8qITxGaWx0ZXIgYml0IDI1ICovCisjZGVmaW5lICBDQU5fRjdSMV9GQjI2ICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDQwMDAwMDApICAgICAgICAvKiE8RmlsdGVyIGJpdCAyNiAqLworI2RlZmluZSAgQ0FOX0Y3UjFfRkIyNyAgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDA4MDAwMDAwKSAgICAgICAgLyohPEZpbHRlciBiaXQgMjcgKi8KKyNkZWZpbmUgIENBTl9GN1IxX0ZCMjggICAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgxMDAwMDAwMCkgICAgICAgIC8qITxGaWx0ZXIgYml0IDI4ICovCisjZGVmaW5lICBDQU5fRjdSMV9GQjI5ICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MjAwMDAwMDApICAgICAgICAvKiE8RmlsdGVyIGJpdCAyOSAqLworI2RlZmluZSAgQ0FOX0Y3UjFfRkIzMCAgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDQwMDAwMDAwKSAgICAgICAgLyohPEZpbHRlciBiaXQgMzAgKi8KKyNkZWZpbmUgIENBTl9GN1IxX0ZCMzEgICAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHg4MDAwMDAwMCkgICAgICAgIC8qITxGaWx0ZXIgYml0IDMxICovCisKKy8qKioqKioqKioqKioqKioqKioqICBCaXQgZGVmaW5pdGlvbiBmb3IgQ0FOX0Y4UjEgcmVnaXN0ZXIgICoqKioqKioqKioqKioqKioqKiovCisjZGVmaW5lICBDQU5fRjhSMV9GQjAgICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDAwMDEpICAgICAgICAvKiE8RmlsdGVyIGJpdCAwICovCisjZGVmaW5lICBDQU5fRjhSMV9GQjEgICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDAwMDIpICAgICAgICAvKiE8RmlsdGVyIGJpdCAxICovCisjZGVmaW5lICBDQU5fRjhSMV9GQjIgICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDAwMDQpICAgICAgICAvKiE8RmlsdGVyIGJpdCAyICovCisjZGVmaW5lICBDQU5fRjhSMV9GQjMgICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDAwMDgpICAgICAgICAvKiE8RmlsdGVyIGJpdCAzICovCisjZGVmaW5lICBDQU5fRjhSMV9GQjQgICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDAwMTApICAgICAgICAvKiE8RmlsdGVyIGJpdCA0ICovCisjZGVmaW5lICBDQU5fRjhSMV9GQjUgICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDAwMjApICAgICAgICAvKiE8RmlsdGVyIGJpdCA1ICovCisjZGVmaW5lICBDQU5fRjhSMV9GQjYgICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDAwNDApICAgICAgICAvKiE8RmlsdGVyIGJpdCA2ICovCisjZGVmaW5lICBDQU5fRjhSMV9GQjcgICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDAwODApICAgICAgICAvKiE8RmlsdGVyIGJpdCA3ICovCisjZGVmaW5lICBDQU5fRjhSMV9GQjggICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDAxMDApICAgICAgICAvKiE8RmlsdGVyIGJpdCA4ICovCisjZGVmaW5lICBDQU5fRjhSMV9GQjkgICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDAyMDApICAgICAgICAvKiE8RmlsdGVyIGJpdCA5ICovCisjZGVmaW5lICBDQU5fRjhSMV9GQjEwICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDA0MDApICAgICAgICAvKiE8RmlsdGVyIGJpdCAxMCAqLworI2RlZmluZSAgQ0FOX0Y4UjFfRkIxMSAgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwODAwKSAgICAgICAgLyohPEZpbHRlciBiaXQgMTEgKi8KKyNkZWZpbmUgIENBTl9GOFIxX0ZCMTIgICAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMTAwMCkgICAgICAgIC8qITxGaWx0ZXIgYml0IDEyICovCisjZGVmaW5lICBDQU5fRjhSMV9GQjEzICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDIwMDApICAgICAgICAvKiE8RmlsdGVyIGJpdCAxMyAqLworI2RlZmluZSAgQ0FOX0Y4UjFfRkIxNCAgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDA0MDAwKSAgICAgICAgLyohPEZpbHRlciBiaXQgMTQgKi8KKyNkZWZpbmUgIENBTl9GOFIxX0ZCMTUgICAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwODAwMCkgICAgICAgIC8qITxGaWx0ZXIgYml0IDE1ICovCisjZGVmaW5lICBDQU5fRjhSMV9GQjE2ICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMTAwMDApICAgICAgICAvKiE8RmlsdGVyIGJpdCAxNiAqLworI2RlZmluZSAgQ0FOX0Y4UjFfRkIxNyAgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDIwMDAwKSAgICAgICAgLyohPEZpbHRlciBiaXQgMTcgKi8KKyNkZWZpbmUgIENBTl9GOFIxX0ZCMTggICAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDA0MDAwMCkgICAgICAgIC8qITxGaWx0ZXIgYml0IDE4ICovCisjZGVmaW5lICBDQU5fRjhSMV9GQjE5ICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwODAwMDApICAgICAgICAvKiE8RmlsdGVyIGJpdCAxOSAqLworI2RlZmluZSAgQ0FOX0Y4UjFfRkIyMCAgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMTAwMDAwKSAgICAgICAgLyohPEZpbHRlciBiaXQgMjAgKi8KKyNkZWZpbmUgIENBTl9GOFIxX0ZCMjEgICAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDIwMDAwMCkgICAgICAgIC8qITxGaWx0ZXIgYml0IDIxICovCisjZGVmaW5lICBDQU5fRjhSMV9GQjIyICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDA0MDAwMDApICAgICAgICAvKiE8RmlsdGVyIGJpdCAyMiAqLworI2RlZmluZSAgQ0FOX0Y4UjFfRkIyMyAgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwODAwMDAwKSAgICAgICAgLyohPEZpbHRlciBiaXQgMjMgKi8KKyNkZWZpbmUgIENBTl9GOFIxX0ZCMjQgICAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMTAwMDAwMCkgICAgICAgIC8qITxGaWx0ZXIgYml0IDI0ICovCisjZGVmaW5lICBDQU5fRjhSMV9GQjI1ICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDIwMDAwMDApICAgICAgICAvKiE8RmlsdGVyIGJpdCAyNSAqLworI2RlZmluZSAgQ0FOX0Y4UjFfRkIyNiAgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDA0MDAwMDAwKSAgICAgICAgLyohPEZpbHRlciBiaXQgMjYgKi8KKyNkZWZpbmUgIENBTl9GOFIxX0ZCMjcgICAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwODAwMDAwMCkgICAgICAgIC8qITxGaWx0ZXIgYml0IDI3ICovCisjZGVmaW5lICBDQU5fRjhSMV9GQjI4ICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MTAwMDAwMDApICAgICAgICAvKiE8RmlsdGVyIGJpdCAyOCAqLworI2RlZmluZSAgQ0FOX0Y4UjFfRkIyOSAgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDIwMDAwMDAwKSAgICAgICAgLyohPEZpbHRlciBiaXQgMjkgKi8KKyNkZWZpbmUgIENBTl9GOFIxX0ZCMzAgICAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHg0MDAwMDAwMCkgICAgICAgIC8qITxGaWx0ZXIgYml0IDMwICovCisjZGVmaW5lICBDQU5fRjhSMV9GQjMxICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4ODAwMDAwMDApICAgICAgICAvKiE8RmlsdGVyIGJpdCAzMSAqLworCisvKioqKioqKioqKioqKioqKioqKiAgQml0IGRlZmluaXRpb24gZm9yIENBTl9GOVIxIHJlZ2lzdGVyICAqKioqKioqKioqKioqKioqKioqLworI2RlZmluZSAgQ0FOX0Y5UjFfRkIwICAgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwMDAxKSAgICAgICAgLyohPEZpbHRlciBiaXQgMCAqLworI2RlZmluZSAgQ0FOX0Y5UjFfRkIxICAgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwMDAyKSAgICAgICAgLyohPEZpbHRlciBiaXQgMSAqLworI2RlZmluZSAgQ0FOX0Y5UjFfRkIyICAgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwMDA0KSAgICAgICAgLyohPEZpbHRlciBiaXQgMiAqLworI2RlZmluZSAgQ0FOX0Y5UjFfRkIzICAgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwMDA4KSAgICAgICAgLyohPEZpbHRlciBiaXQgMyAqLworI2RlZmluZSAgQ0FOX0Y5UjFfRkI0ICAgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwMDEwKSAgICAgICAgLyohPEZpbHRlciBiaXQgNCAqLworI2RlZmluZSAgQ0FOX0Y5UjFfRkI1ICAgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwMDIwKSAgICAgICAgLyohPEZpbHRlciBiaXQgNSAqLworI2RlZmluZSAgQ0FOX0Y5UjFfRkI2ICAgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwMDQwKSAgICAgICAgLyohPEZpbHRlciBiaXQgNiAqLworI2RlZmluZSAgQ0FOX0Y5UjFfRkI3ICAgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwMDgwKSAgICAgICAgLyohPEZpbHRlciBiaXQgNyAqLworI2RlZmluZSAgQ0FOX0Y5UjFfRkI4ICAgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwMTAwKSAgICAgICAgLyohPEZpbHRlciBiaXQgOCAqLworI2RlZmluZSAgQ0FOX0Y5UjFfRkI5ICAgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwMjAwKSAgICAgICAgLyohPEZpbHRlciBiaXQgOSAqLworI2RlZmluZSAgQ0FOX0Y5UjFfRkIxMCAgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwNDAwKSAgICAgICAgLyohPEZpbHRlciBiaXQgMTAgKi8KKyNkZWZpbmUgIENBTl9GOVIxX0ZCMTEgICAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMDgwMCkgICAgICAgIC8qITxGaWx0ZXIgYml0IDExICovCisjZGVmaW5lICBDQU5fRjlSMV9GQjEyICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDEwMDApICAgICAgICAvKiE8RmlsdGVyIGJpdCAxMiAqLworI2RlZmluZSAgQ0FOX0Y5UjFfRkIxMyAgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAyMDAwKSAgICAgICAgLyohPEZpbHRlciBiaXQgMTMgKi8KKyNkZWZpbmUgIENBTl9GOVIxX0ZCMTQgICAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwNDAwMCkgICAgICAgIC8qITxGaWx0ZXIgYml0IDE0ICovCisjZGVmaW5lICBDQU5fRjlSMV9GQjE1ICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDgwMDApICAgICAgICAvKiE8RmlsdGVyIGJpdCAxNSAqLworI2RlZmluZSAgQ0FOX0Y5UjFfRkIxNiAgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDEwMDAwKSAgICAgICAgLyohPEZpbHRlciBiaXQgMTYgKi8KKyNkZWZpbmUgIENBTl9GOVIxX0ZCMTcgICAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAyMDAwMCkgICAgICAgIC8qITxGaWx0ZXIgYml0IDE3ICovCisjZGVmaW5lICBDQU5fRjlSMV9GQjE4ICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwNDAwMDApICAgICAgICAvKiE8RmlsdGVyIGJpdCAxOCAqLworI2RlZmluZSAgQ0FOX0Y5UjFfRkIxOSAgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDgwMDAwKSAgICAgICAgLyohPEZpbHRlciBiaXQgMTkgKi8KKyNkZWZpbmUgIENBTl9GOVIxX0ZCMjAgICAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDEwMDAwMCkgICAgICAgIC8qITxGaWx0ZXIgYml0IDIwICovCisjZGVmaW5lICBDQU5fRjlSMV9GQjIxICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAyMDAwMDApICAgICAgICAvKiE8RmlsdGVyIGJpdCAyMSAqLworI2RlZmluZSAgQ0FOX0Y5UjFfRkIyMiAgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwNDAwMDAwKSAgICAgICAgLyohPEZpbHRlciBiaXQgMjIgKi8KKyNkZWZpbmUgIENBTl9GOVIxX0ZCMjMgICAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDgwMDAwMCkgICAgICAgIC8qITxGaWx0ZXIgYml0IDIzICovCisjZGVmaW5lICBDQU5fRjlSMV9GQjI0ICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDEwMDAwMDApICAgICAgICAvKiE8RmlsdGVyIGJpdCAyNCAqLworI2RlZmluZSAgQ0FOX0Y5UjFfRkIyNSAgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAyMDAwMDAwKSAgICAgICAgLyohPEZpbHRlciBiaXQgMjUgKi8KKyNkZWZpbmUgIENBTl9GOVIxX0ZCMjYgICAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwNDAwMDAwMCkgICAgICAgIC8qITxGaWx0ZXIgYml0IDI2ICovCisjZGVmaW5lICBDQU5fRjlSMV9GQjI3ICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDgwMDAwMDApICAgICAgICAvKiE8RmlsdGVyIGJpdCAyNyAqLworI2RlZmluZSAgQ0FOX0Y5UjFfRkIyOCAgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDEwMDAwMDAwKSAgICAgICAgLyohPEZpbHRlciBiaXQgMjggKi8KKyNkZWZpbmUgIENBTl9GOVIxX0ZCMjkgICAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgyMDAwMDAwMCkgICAgICAgIC8qITxGaWx0ZXIgYml0IDI5ICovCisjZGVmaW5lICBDQU5fRjlSMV9GQjMwICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4NDAwMDAwMDApICAgICAgICAvKiE8RmlsdGVyIGJpdCAzMCAqLworI2RlZmluZSAgQ0FOX0Y5UjFfRkIzMSAgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDgwMDAwMDAwKSAgICAgICAgLyohPEZpbHRlciBiaXQgMzEgKi8KKworLyoqKioqKioqKioqKioqKioqKiogIEJpdCBkZWZpbml0aW9uIGZvciBDQU5fRjEwUjEgcmVnaXN0ZXIgICoqKioqKioqKioqKioqKioqKi8KKyNkZWZpbmUgIENBTl9GMTBSMV9GQjAgICAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMDAwMSkgICAgICAgIC8qITxGaWx0ZXIgYml0IDAgKi8KKyNkZWZpbmUgIENBTl9GMTBSMV9GQjEgICAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMDAwMikgICAgICAgIC8qITxGaWx0ZXIgYml0IDEgKi8KKyNkZWZpbmUgIENBTl9GMTBSMV9GQjIgICAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMDAwNCkgICAgICAgIC8qITxGaWx0ZXIgYml0IDIgKi8KKyNkZWZpbmUgIENBTl9GMTBSMV9GQjMgICAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMDAwOCkgICAgICAgIC8qITxGaWx0ZXIgYml0IDMgKi8KKyNkZWZpbmUgIENBTl9GMTBSMV9GQjQgICAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMDAxMCkgICAgICAgIC8qITxGaWx0ZXIgYml0IDQgKi8KKyNkZWZpbmUgIENBTl9GMTBSMV9GQjUgICAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMDAyMCkgICAgICAgIC8qITxGaWx0ZXIgYml0IDUgKi8KKyNkZWZpbmUgIENBTl9GMTBSMV9GQjYgICAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMDA0MCkgICAgICAgIC8qITxGaWx0ZXIgYml0IDYgKi8KKyNkZWZpbmUgIENBTl9GMTBSMV9GQjcgICAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMDA4MCkgICAgICAgIC8qITxGaWx0ZXIgYml0IDcgKi8KKyNkZWZpbmUgIENBTl9GMTBSMV9GQjggICAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMDEwMCkgICAgICAgIC8qITxGaWx0ZXIgYml0IDggKi8KKyNkZWZpbmUgIENBTl9GMTBSMV9GQjkgICAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMDIwMCkgICAgICAgIC8qITxGaWx0ZXIgYml0IDkgKi8KKyNkZWZpbmUgIENBTl9GMTBSMV9GQjEwICAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMDQwMCkgICAgICAgIC8qITxGaWx0ZXIgYml0IDEwICovCisjZGVmaW5lICBDQU5fRjEwUjFfRkIxMSAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDA4MDApICAgICAgICAvKiE8RmlsdGVyIGJpdCAxMSAqLworI2RlZmluZSAgQ0FOX0YxMFIxX0ZCMTIgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAxMDAwKSAgICAgICAgLyohPEZpbHRlciBiaXQgMTIgKi8KKyNkZWZpbmUgIENBTl9GMTBSMV9GQjEzICAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMjAwMCkgICAgICAgIC8qITxGaWx0ZXIgYml0IDEzICovCisjZGVmaW5lICBDQU5fRjEwUjFfRkIxNCAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDQwMDApICAgICAgICAvKiE8RmlsdGVyIGJpdCAxNCAqLworI2RlZmluZSAgQ0FOX0YxMFIxX0ZCMTUgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDA4MDAwKSAgICAgICAgLyohPEZpbHRlciBiaXQgMTUgKi8KKyNkZWZpbmUgIENBTl9GMTBSMV9GQjE2ICAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAxMDAwMCkgICAgICAgIC8qITxGaWx0ZXIgYml0IDE2ICovCisjZGVmaW5lICBDQU5fRjEwUjFfRkIxNyAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMjAwMDApICAgICAgICAvKiE8RmlsdGVyIGJpdCAxNyAqLworI2RlZmluZSAgQ0FOX0YxMFIxX0ZCMTggICAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDQwMDAwKSAgICAgICAgLyohPEZpbHRlciBiaXQgMTggKi8KKyNkZWZpbmUgIENBTl9GMTBSMV9GQjE5ICAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDA4MDAwMCkgICAgICAgIC8qITxGaWx0ZXIgYml0IDE5ICovCisjZGVmaW5lICBDQU5fRjEwUjFfRkIyMCAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAxMDAwMDApICAgICAgICAvKiE8RmlsdGVyIGJpdCAyMCAqLworI2RlZmluZSAgQ0FOX0YxMFIxX0ZCMjEgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMjAwMDAwKSAgICAgICAgLyohPEZpbHRlciBiaXQgMjEgKi8KKyNkZWZpbmUgIENBTl9GMTBSMV9GQjIyICAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDQwMDAwMCkgICAgICAgIC8qITxGaWx0ZXIgYml0IDIyICovCisjZGVmaW5lICBDQU5fRjEwUjFfRkIyMyAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDA4MDAwMDApICAgICAgICAvKiE8RmlsdGVyIGJpdCAyMyAqLworI2RlZmluZSAgQ0FOX0YxMFIxX0ZCMjQgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAxMDAwMDAwKSAgICAgICAgLyohPEZpbHRlciBiaXQgMjQgKi8KKyNkZWZpbmUgIENBTl9GMTBSMV9GQjI1ICAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMjAwMDAwMCkgICAgICAgIC8qITxGaWx0ZXIgYml0IDI1ICovCisjZGVmaW5lICBDQU5fRjEwUjFfRkIyNiAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDQwMDAwMDApICAgICAgICAvKiE8RmlsdGVyIGJpdCAyNiAqLworI2RlZmluZSAgQ0FOX0YxMFIxX0ZCMjcgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDA4MDAwMDAwKSAgICAgICAgLyohPEZpbHRlciBiaXQgMjcgKi8KKyNkZWZpbmUgIENBTl9GMTBSMV9GQjI4ICAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgxMDAwMDAwMCkgICAgICAgIC8qITxGaWx0ZXIgYml0IDI4ICovCisjZGVmaW5lICBDQU5fRjEwUjFfRkIyOSAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MjAwMDAwMDApICAgICAgICAvKiE8RmlsdGVyIGJpdCAyOSAqLworI2RlZmluZSAgQ0FOX0YxMFIxX0ZCMzAgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDQwMDAwMDAwKSAgICAgICAgLyohPEZpbHRlciBiaXQgMzAgKi8KKyNkZWZpbmUgIENBTl9GMTBSMV9GQjMxICAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHg4MDAwMDAwMCkgICAgICAgIC8qITxGaWx0ZXIgYml0IDMxICovCisKKy8qKioqKioqKioqKioqKioqKioqICBCaXQgZGVmaW5pdGlvbiBmb3IgQ0FOX0YxMVIxIHJlZ2lzdGVyICAqKioqKioqKioqKioqKioqKiovCisjZGVmaW5lICBDQU5fRjExUjFfRkIwICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDAwMDEpICAgICAgICAvKiE8RmlsdGVyIGJpdCAwICovCisjZGVmaW5lICBDQU5fRjExUjFfRkIxICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDAwMDIpICAgICAgICAvKiE8RmlsdGVyIGJpdCAxICovCisjZGVmaW5lICBDQU5fRjExUjFfRkIyICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDAwMDQpICAgICAgICAvKiE8RmlsdGVyIGJpdCAyICovCisjZGVmaW5lICBDQU5fRjExUjFfRkIzICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDAwMDgpICAgICAgICAvKiE8RmlsdGVyIGJpdCAzICovCisjZGVmaW5lICBDQU5fRjExUjFfRkI0ICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDAwMTApICAgICAgICAvKiE8RmlsdGVyIGJpdCA0ICovCisjZGVmaW5lICBDQU5fRjExUjFfRkI1ICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDAwMjApICAgICAgICAvKiE8RmlsdGVyIGJpdCA1ICovCisjZGVmaW5lICBDQU5fRjExUjFfRkI2ICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDAwNDApICAgICAgICAvKiE8RmlsdGVyIGJpdCA2ICovCisjZGVmaW5lICBDQU5fRjExUjFfRkI3ICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDAwODApICAgICAgICAvKiE8RmlsdGVyIGJpdCA3ICovCisjZGVmaW5lICBDQU5fRjExUjFfRkI4ICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDAxMDApICAgICAgICAvKiE8RmlsdGVyIGJpdCA4ICovCisjZGVmaW5lICBDQU5fRjExUjFfRkI5ICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDAyMDApICAgICAgICAvKiE8RmlsdGVyIGJpdCA5ICovCisjZGVmaW5lICBDQU5fRjExUjFfRkIxMCAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDA0MDApICAgICAgICAvKiE8RmlsdGVyIGJpdCAxMCAqLworI2RlZmluZSAgQ0FOX0YxMVIxX0ZCMTEgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwODAwKSAgICAgICAgLyohPEZpbHRlciBiaXQgMTEgKi8KKyNkZWZpbmUgIENBTl9GMTFSMV9GQjEyICAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMTAwMCkgICAgICAgIC8qITxGaWx0ZXIgYml0IDEyICovCisjZGVmaW5lICBDQU5fRjExUjFfRkIxMyAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDIwMDApICAgICAgICAvKiE8RmlsdGVyIGJpdCAxMyAqLworI2RlZmluZSAgQ0FOX0YxMVIxX0ZCMTQgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDA0MDAwKSAgICAgICAgLyohPEZpbHRlciBiaXQgMTQgKi8KKyNkZWZpbmUgIENBTl9GMTFSMV9GQjE1ICAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwODAwMCkgICAgICAgIC8qITxGaWx0ZXIgYml0IDE1ICovCisjZGVmaW5lICBDQU5fRjExUjFfRkIxNiAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMTAwMDApICAgICAgICAvKiE8RmlsdGVyIGJpdCAxNiAqLworI2RlZmluZSAgQ0FOX0YxMVIxX0ZCMTcgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDIwMDAwKSAgICAgICAgLyohPEZpbHRlciBiaXQgMTcgKi8KKyNkZWZpbmUgIENBTl9GMTFSMV9GQjE4ICAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDA0MDAwMCkgICAgICAgIC8qITxGaWx0ZXIgYml0IDE4ICovCisjZGVmaW5lICBDQU5fRjExUjFfRkIxOSAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwODAwMDApICAgICAgICAvKiE8RmlsdGVyIGJpdCAxOSAqLworI2RlZmluZSAgQ0FOX0YxMVIxX0ZCMjAgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMTAwMDAwKSAgICAgICAgLyohPEZpbHRlciBiaXQgMjAgKi8KKyNkZWZpbmUgIENBTl9GMTFSMV9GQjIxICAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDIwMDAwMCkgICAgICAgIC8qITxGaWx0ZXIgYml0IDIxICovCisjZGVmaW5lICBDQU5fRjExUjFfRkIyMiAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDA0MDAwMDApICAgICAgICAvKiE8RmlsdGVyIGJpdCAyMiAqLworI2RlZmluZSAgQ0FOX0YxMVIxX0ZCMjMgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwODAwMDAwKSAgICAgICAgLyohPEZpbHRlciBiaXQgMjMgKi8KKyNkZWZpbmUgIENBTl9GMTFSMV9GQjI0ICAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMTAwMDAwMCkgICAgICAgIC8qITxGaWx0ZXIgYml0IDI0ICovCisjZGVmaW5lICBDQU5fRjExUjFfRkIyNSAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDIwMDAwMDApICAgICAgICAvKiE8RmlsdGVyIGJpdCAyNSAqLworI2RlZmluZSAgQ0FOX0YxMVIxX0ZCMjYgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDA0MDAwMDAwKSAgICAgICAgLyohPEZpbHRlciBiaXQgMjYgKi8KKyNkZWZpbmUgIENBTl9GMTFSMV9GQjI3ICAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwODAwMDAwMCkgICAgICAgIC8qITxGaWx0ZXIgYml0IDI3ICovCisjZGVmaW5lICBDQU5fRjExUjFfRkIyOCAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MTAwMDAwMDApICAgICAgICAvKiE8RmlsdGVyIGJpdCAyOCAqLworI2RlZmluZSAgQ0FOX0YxMVIxX0ZCMjkgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDIwMDAwMDAwKSAgICAgICAgLyohPEZpbHRlciBiaXQgMjkgKi8KKyNkZWZpbmUgIENBTl9GMTFSMV9GQjMwICAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHg0MDAwMDAwMCkgICAgICAgIC8qITxGaWx0ZXIgYml0IDMwICovCisjZGVmaW5lICBDQU5fRjExUjFfRkIzMSAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4ODAwMDAwMDApICAgICAgICAvKiE8RmlsdGVyIGJpdCAzMSAqLworCisvKioqKioqKioqKioqKioqKioqKiAgQml0IGRlZmluaXRpb24gZm9yIENBTl9GMTJSMSByZWdpc3RlciAgKioqKioqKioqKioqKioqKioqLworI2RlZmluZSAgQ0FOX0YxMlIxX0ZCMCAgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwMDAxKSAgICAgICAgLyohPEZpbHRlciBiaXQgMCAqLworI2RlZmluZSAgQ0FOX0YxMlIxX0ZCMSAgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwMDAyKSAgICAgICAgLyohPEZpbHRlciBiaXQgMSAqLworI2RlZmluZSAgQ0FOX0YxMlIxX0ZCMiAgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwMDA0KSAgICAgICAgLyohPEZpbHRlciBiaXQgMiAqLworI2RlZmluZSAgQ0FOX0YxMlIxX0ZCMyAgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwMDA4KSAgICAgICAgLyohPEZpbHRlciBiaXQgMyAqLworI2RlZmluZSAgQ0FOX0YxMlIxX0ZCNCAgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwMDEwKSAgICAgICAgLyohPEZpbHRlciBiaXQgNCAqLworI2RlZmluZSAgQ0FOX0YxMlIxX0ZCNSAgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwMDIwKSAgICAgICAgLyohPEZpbHRlciBiaXQgNSAqLworI2RlZmluZSAgQ0FOX0YxMlIxX0ZCNiAgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwMDQwKSAgICAgICAgLyohPEZpbHRlciBiaXQgNiAqLworI2RlZmluZSAgQ0FOX0YxMlIxX0ZCNyAgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwMDgwKSAgICAgICAgLyohPEZpbHRlciBiaXQgNyAqLworI2RlZmluZSAgQ0FOX0YxMlIxX0ZCOCAgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwMTAwKSAgICAgICAgLyohPEZpbHRlciBiaXQgOCAqLworI2RlZmluZSAgQ0FOX0YxMlIxX0ZCOSAgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwMjAwKSAgICAgICAgLyohPEZpbHRlciBiaXQgOSAqLworI2RlZmluZSAgQ0FOX0YxMlIxX0ZCMTAgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwNDAwKSAgICAgICAgLyohPEZpbHRlciBiaXQgMTAgKi8KKyNkZWZpbmUgIENBTl9GMTJSMV9GQjExICAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMDgwMCkgICAgICAgIC8qITxGaWx0ZXIgYml0IDExICovCisjZGVmaW5lICBDQU5fRjEyUjFfRkIxMiAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDEwMDApICAgICAgICAvKiE8RmlsdGVyIGJpdCAxMiAqLworI2RlZmluZSAgQ0FOX0YxMlIxX0ZCMTMgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAyMDAwKSAgICAgICAgLyohPEZpbHRlciBiaXQgMTMgKi8KKyNkZWZpbmUgIENBTl9GMTJSMV9GQjE0ICAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwNDAwMCkgICAgICAgIC8qITxGaWx0ZXIgYml0IDE0ICovCisjZGVmaW5lICBDQU5fRjEyUjFfRkIxNSAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDgwMDApICAgICAgICAvKiE8RmlsdGVyIGJpdCAxNSAqLworI2RlZmluZSAgQ0FOX0YxMlIxX0ZCMTYgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDEwMDAwKSAgICAgICAgLyohPEZpbHRlciBiaXQgMTYgKi8KKyNkZWZpbmUgIENBTl9GMTJSMV9GQjE3ICAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAyMDAwMCkgICAgICAgIC8qITxGaWx0ZXIgYml0IDE3ICovCisjZGVmaW5lICBDQU5fRjEyUjFfRkIxOCAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwNDAwMDApICAgICAgICAvKiE8RmlsdGVyIGJpdCAxOCAqLworI2RlZmluZSAgQ0FOX0YxMlIxX0ZCMTkgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDgwMDAwKSAgICAgICAgLyohPEZpbHRlciBiaXQgMTkgKi8KKyNkZWZpbmUgIENBTl9GMTJSMV9GQjIwICAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDEwMDAwMCkgICAgICAgIC8qITxGaWx0ZXIgYml0IDIwICovCisjZGVmaW5lICBDQU5fRjEyUjFfRkIyMSAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAyMDAwMDApICAgICAgICAvKiE8RmlsdGVyIGJpdCAyMSAqLworI2RlZmluZSAgQ0FOX0YxMlIxX0ZCMjIgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwNDAwMDAwKSAgICAgICAgLyohPEZpbHRlciBiaXQgMjIgKi8KKyNkZWZpbmUgIENBTl9GMTJSMV9GQjIzICAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDgwMDAwMCkgICAgICAgIC8qITxGaWx0ZXIgYml0IDIzICovCisjZGVmaW5lICBDQU5fRjEyUjFfRkIyNCAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDEwMDAwMDApICAgICAgICAvKiE8RmlsdGVyIGJpdCAyNCAqLworI2RlZmluZSAgQ0FOX0YxMlIxX0ZCMjUgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAyMDAwMDAwKSAgICAgICAgLyohPEZpbHRlciBiaXQgMjUgKi8KKyNkZWZpbmUgIENBTl9GMTJSMV9GQjI2ICAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwNDAwMDAwMCkgICAgICAgIC8qITxGaWx0ZXIgYml0IDI2ICovCisjZGVmaW5lICBDQU5fRjEyUjFfRkIyNyAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDgwMDAwMDApICAgICAgICAvKiE8RmlsdGVyIGJpdCAyNyAqLworI2RlZmluZSAgQ0FOX0YxMlIxX0ZCMjggICAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDEwMDAwMDAwKSAgICAgICAgLyohPEZpbHRlciBiaXQgMjggKi8KKyNkZWZpbmUgIENBTl9GMTJSMV9GQjI5ICAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgyMDAwMDAwMCkgICAgICAgIC8qITxGaWx0ZXIgYml0IDI5ICovCisjZGVmaW5lICBDQU5fRjEyUjFfRkIzMCAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4NDAwMDAwMDApICAgICAgICAvKiE8RmlsdGVyIGJpdCAzMCAqLworI2RlZmluZSAgQ0FOX0YxMlIxX0ZCMzEgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDgwMDAwMDAwKSAgICAgICAgLyohPEZpbHRlciBiaXQgMzEgKi8KKworLyoqKioqKioqKioqKioqKioqKiogIEJpdCBkZWZpbml0aW9uIGZvciBDQU5fRjEzUjEgcmVnaXN0ZXIgICoqKioqKioqKioqKioqKioqKi8KKyNkZWZpbmUgIENBTl9GMTNSMV9GQjAgICAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMDAwMSkgICAgICAgIC8qITxGaWx0ZXIgYml0IDAgKi8KKyNkZWZpbmUgIENBTl9GMTNSMV9GQjEgICAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMDAwMikgICAgICAgIC8qITxGaWx0ZXIgYml0IDEgKi8KKyNkZWZpbmUgIENBTl9GMTNSMV9GQjIgICAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMDAwNCkgICAgICAgIC8qITxGaWx0ZXIgYml0IDIgKi8KKyNkZWZpbmUgIENBTl9GMTNSMV9GQjMgICAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMDAwOCkgICAgICAgIC8qITxGaWx0ZXIgYml0IDMgKi8KKyNkZWZpbmUgIENBTl9GMTNSMV9GQjQgICAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMDAxMCkgICAgICAgIC8qITxGaWx0ZXIgYml0IDQgKi8KKyNkZWZpbmUgIENBTl9GMTNSMV9GQjUgICAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMDAyMCkgICAgICAgIC8qITxGaWx0ZXIgYml0IDUgKi8KKyNkZWZpbmUgIENBTl9GMTNSMV9GQjYgICAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMDA0MCkgICAgICAgIC8qITxGaWx0ZXIgYml0IDYgKi8KKyNkZWZpbmUgIENBTl9GMTNSMV9GQjcgICAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMDA4MCkgICAgICAgIC8qITxGaWx0ZXIgYml0IDcgKi8KKyNkZWZpbmUgIENBTl9GMTNSMV9GQjggICAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMDEwMCkgICAgICAgIC8qITxGaWx0ZXIgYml0IDggKi8KKyNkZWZpbmUgIENBTl9GMTNSMV9GQjkgICAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMDIwMCkgICAgICAgIC8qITxGaWx0ZXIgYml0IDkgKi8KKyNkZWZpbmUgIENBTl9GMTNSMV9GQjEwICAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMDQwMCkgICAgICAgIC8qITxGaWx0ZXIgYml0IDEwICovCisjZGVmaW5lICBDQU5fRjEzUjFfRkIxMSAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDA4MDApICAgICAgICAvKiE8RmlsdGVyIGJpdCAxMSAqLworI2RlZmluZSAgQ0FOX0YxM1IxX0ZCMTIgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAxMDAwKSAgICAgICAgLyohPEZpbHRlciBiaXQgMTIgKi8KKyNkZWZpbmUgIENBTl9GMTNSMV9GQjEzICAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMjAwMCkgICAgICAgIC8qITxGaWx0ZXIgYml0IDEzICovCisjZGVmaW5lICBDQU5fRjEzUjFfRkIxNCAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDQwMDApICAgICAgICAvKiE8RmlsdGVyIGJpdCAxNCAqLworI2RlZmluZSAgQ0FOX0YxM1IxX0ZCMTUgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDA4MDAwKSAgICAgICAgLyohPEZpbHRlciBiaXQgMTUgKi8KKyNkZWZpbmUgIENBTl9GMTNSMV9GQjE2ICAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAxMDAwMCkgICAgICAgIC8qITxGaWx0ZXIgYml0IDE2ICovCisjZGVmaW5lICBDQU5fRjEzUjFfRkIxNyAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMjAwMDApICAgICAgICAvKiE8RmlsdGVyIGJpdCAxNyAqLworI2RlZmluZSAgQ0FOX0YxM1IxX0ZCMTggICAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDQwMDAwKSAgICAgICAgLyohPEZpbHRlciBiaXQgMTggKi8KKyNkZWZpbmUgIENBTl9GMTNSMV9GQjE5ICAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDA4MDAwMCkgICAgICAgIC8qITxGaWx0ZXIgYml0IDE5ICovCisjZGVmaW5lICBDQU5fRjEzUjFfRkIyMCAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAxMDAwMDApICAgICAgICAvKiE8RmlsdGVyIGJpdCAyMCAqLworI2RlZmluZSAgQ0FOX0YxM1IxX0ZCMjEgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMjAwMDAwKSAgICAgICAgLyohPEZpbHRlciBiaXQgMjEgKi8KKyNkZWZpbmUgIENBTl9GMTNSMV9GQjIyICAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDQwMDAwMCkgICAgICAgIC8qITxGaWx0ZXIgYml0IDIyICovCisjZGVmaW5lICBDQU5fRjEzUjFfRkIyMyAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDA4MDAwMDApICAgICAgICAvKiE8RmlsdGVyIGJpdCAyMyAqLworI2RlZmluZSAgQ0FOX0YxM1IxX0ZCMjQgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAxMDAwMDAwKSAgICAgICAgLyohPEZpbHRlciBiaXQgMjQgKi8KKyNkZWZpbmUgIENBTl9GMTNSMV9GQjI1ICAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMjAwMDAwMCkgICAgICAgIC8qITxGaWx0ZXIgYml0IDI1ICovCisjZGVmaW5lICBDQU5fRjEzUjFfRkIyNiAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDQwMDAwMDApICAgICAgICAvKiE8RmlsdGVyIGJpdCAyNiAqLworI2RlZmluZSAgQ0FOX0YxM1IxX0ZCMjcgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDA4MDAwMDAwKSAgICAgICAgLyohPEZpbHRlciBiaXQgMjcgKi8KKyNkZWZpbmUgIENBTl9GMTNSMV9GQjI4ICAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgxMDAwMDAwMCkgICAgICAgIC8qITxGaWx0ZXIgYml0IDI4ICovCisjZGVmaW5lICBDQU5fRjEzUjFfRkIyOSAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MjAwMDAwMDApICAgICAgICAvKiE8RmlsdGVyIGJpdCAyOSAqLworI2RlZmluZSAgQ0FOX0YxM1IxX0ZCMzAgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDQwMDAwMDAwKSAgICAgICAgLyohPEZpbHRlciBiaXQgMzAgKi8KKyNkZWZpbmUgIENBTl9GMTNSMV9GQjMxICAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHg4MDAwMDAwMCkgICAgICAgIC8qITxGaWx0ZXIgYml0IDMxICovCisKKy8qKioqKioqKioqKioqKioqKioqICBCaXQgZGVmaW5pdGlvbiBmb3IgQ0FOX0YwUjIgcmVnaXN0ZXIgICoqKioqKioqKioqKioqKioqKiovCisjZGVmaW5lICBDQU5fRjBSMl9GQjAgICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDAwMDEpICAgICAgICAvKiE8RmlsdGVyIGJpdCAwICovCisjZGVmaW5lICBDQU5fRjBSMl9GQjEgICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDAwMDIpICAgICAgICAvKiE8RmlsdGVyIGJpdCAxICovCisjZGVmaW5lICBDQU5fRjBSMl9GQjIgICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDAwMDQpICAgICAgICAvKiE8RmlsdGVyIGJpdCAyICovCisjZGVmaW5lICBDQU5fRjBSMl9GQjMgICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDAwMDgpICAgICAgICAvKiE8RmlsdGVyIGJpdCAzICovCisjZGVmaW5lICBDQU5fRjBSMl9GQjQgICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDAwMTApICAgICAgICAvKiE8RmlsdGVyIGJpdCA0ICovCisjZGVmaW5lICBDQU5fRjBSMl9GQjUgICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDAwMjApICAgICAgICAvKiE8RmlsdGVyIGJpdCA1ICovCisjZGVmaW5lICBDQU5fRjBSMl9GQjYgICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDAwNDApICAgICAgICAvKiE8RmlsdGVyIGJpdCA2ICovCisjZGVmaW5lICBDQU5fRjBSMl9GQjcgICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDAwODApICAgICAgICAvKiE8RmlsdGVyIGJpdCA3ICovCisjZGVmaW5lICBDQU5fRjBSMl9GQjggICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDAxMDApICAgICAgICAvKiE8RmlsdGVyIGJpdCA4ICovCisjZGVmaW5lICBDQU5fRjBSMl9GQjkgICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDAyMDApICAgICAgICAvKiE8RmlsdGVyIGJpdCA5ICovCisjZGVmaW5lICBDQU5fRjBSMl9GQjEwICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDA0MDApICAgICAgICAvKiE8RmlsdGVyIGJpdCAxMCAqLworI2RlZmluZSAgQ0FOX0YwUjJfRkIxMSAgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwODAwKSAgICAgICAgLyohPEZpbHRlciBiaXQgMTEgKi8KKyNkZWZpbmUgIENBTl9GMFIyX0ZCMTIgICAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMTAwMCkgICAgICAgIC8qITxGaWx0ZXIgYml0IDEyICovCisjZGVmaW5lICBDQU5fRjBSMl9GQjEzICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDIwMDApICAgICAgICAvKiE8RmlsdGVyIGJpdCAxMyAqLworI2RlZmluZSAgQ0FOX0YwUjJfRkIxNCAgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDA0MDAwKSAgICAgICAgLyohPEZpbHRlciBiaXQgMTQgKi8KKyNkZWZpbmUgIENBTl9GMFIyX0ZCMTUgICAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwODAwMCkgICAgICAgIC8qITxGaWx0ZXIgYml0IDE1ICovCisjZGVmaW5lICBDQU5fRjBSMl9GQjE2ICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMTAwMDApICAgICAgICAvKiE8RmlsdGVyIGJpdCAxNiAqLworI2RlZmluZSAgQ0FOX0YwUjJfRkIxNyAgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDIwMDAwKSAgICAgICAgLyohPEZpbHRlciBiaXQgMTcgKi8KKyNkZWZpbmUgIENBTl9GMFIyX0ZCMTggICAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDA0MDAwMCkgICAgICAgIC8qITxGaWx0ZXIgYml0IDE4ICovCisjZGVmaW5lICBDQU5fRjBSMl9GQjE5ICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwODAwMDApICAgICAgICAvKiE8RmlsdGVyIGJpdCAxOSAqLworI2RlZmluZSAgQ0FOX0YwUjJfRkIyMCAgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMTAwMDAwKSAgICAgICAgLyohPEZpbHRlciBiaXQgMjAgKi8KKyNkZWZpbmUgIENBTl9GMFIyX0ZCMjEgICAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDIwMDAwMCkgICAgICAgIC8qITxGaWx0ZXIgYml0IDIxICovCisjZGVmaW5lICBDQU5fRjBSMl9GQjIyICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDA0MDAwMDApICAgICAgICAvKiE8RmlsdGVyIGJpdCAyMiAqLworI2RlZmluZSAgQ0FOX0YwUjJfRkIyMyAgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwODAwMDAwKSAgICAgICAgLyohPEZpbHRlciBiaXQgMjMgKi8KKyNkZWZpbmUgIENBTl9GMFIyX0ZCMjQgICAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMTAwMDAwMCkgICAgICAgIC8qITxGaWx0ZXIgYml0IDI0ICovCisjZGVmaW5lICBDQU5fRjBSMl9GQjI1ICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDIwMDAwMDApICAgICAgICAvKiE8RmlsdGVyIGJpdCAyNSAqLworI2RlZmluZSAgQ0FOX0YwUjJfRkIyNiAgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDA0MDAwMDAwKSAgICAgICAgLyohPEZpbHRlciBiaXQgMjYgKi8KKyNkZWZpbmUgIENBTl9GMFIyX0ZCMjcgICAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwODAwMDAwMCkgICAgICAgIC8qITxGaWx0ZXIgYml0IDI3ICovCisjZGVmaW5lICBDQU5fRjBSMl9GQjI4ICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MTAwMDAwMDApICAgICAgICAvKiE8RmlsdGVyIGJpdCAyOCAqLworI2RlZmluZSAgQ0FOX0YwUjJfRkIyOSAgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDIwMDAwMDAwKSAgICAgICAgLyohPEZpbHRlciBiaXQgMjkgKi8KKyNkZWZpbmUgIENBTl9GMFIyX0ZCMzAgICAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHg0MDAwMDAwMCkgICAgICAgIC8qITxGaWx0ZXIgYml0IDMwICovCisjZGVmaW5lICBDQU5fRjBSMl9GQjMxICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4ODAwMDAwMDApICAgICAgICAvKiE8RmlsdGVyIGJpdCAzMSAqLworCisvKioqKioqKioqKioqKioqKioqKiAgQml0IGRlZmluaXRpb24gZm9yIENBTl9GMVIyIHJlZ2lzdGVyICAqKioqKioqKioqKioqKioqKioqLworI2RlZmluZSAgQ0FOX0YxUjJfRkIwICAgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwMDAxKSAgICAgICAgLyohPEZpbHRlciBiaXQgMCAqLworI2RlZmluZSAgQ0FOX0YxUjJfRkIxICAgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwMDAyKSAgICAgICAgLyohPEZpbHRlciBiaXQgMSAqLworI2RlZmluZSAgQ0FOX0YxUjJfRkIyICAgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwMDA0KSAgICAgICAgLyohPEZpbHRlciBiaXQgMiAqLworI2RlZmluZSAgQ0FOX0YxUjJfRkIzICAgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwMDA4KSAgICAgICAgLyohPEZpbHRlciBiaXQgMyAqLworI2RlZmluZSAgQ0FOX0YxUjJfRkI0ICAgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwMDEwKSAgICAgICAgLyohPEZpbHRlciBiaXQgNCAqLworI2RlZmluZSAgQ0FOX0YxUjJfRkI1ICAgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwMDIwKSAgICAgICAgLyohPEZpbHRlciBiaXQgNSAqLworI2RlZmluZSAgQ0FOX0YxUjJfRkI2ICAgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwMDQwKSAgICAgICAgLyohPEZpbHRlciBiaXQgNiAqLworI2RlZmluZSAgQ0FOX0YxUjJfRkI3ICAgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwMDgwKSAgICAgICAgLyohPEZpbHRlciBiaXQgNyAqLworI2RlZmluZSAgQ0FOX0YxUjJfRkI4ICAgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwMTAwKSAgICAgICAgLyohPEZpbHRlciBiaXQgOCAqLworI2RlZmluZSAgQ0FOX0YxUjJfRkI5ICAgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwMjAwKSAgICAgICAgLyohPEZpbHRlciBiaXQgOSAqLworI2RlZmluZSAgQ0FOX0YxUjJfRkIxMCAgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwNDAwKSAgICAgICAgLyohPEZpbHRlciBiaXQgMTAgKi8KKyNkZWZpbmUgIENBTl9GMVIyX0ZCMTEgICAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMDgwMCkgICAgICAgIC8qITxGaWx0ZXIgYml0IDExICovCisjZGVmaW5lICBDQU5fRjFSMl9GQjEyICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDEwMDApICAgICAgICAvKiE8RmlsdGVyIGJpdCAxMiAqLworI2RlZmluZSAgQ0FOX0YxUjJfRkIxMyAgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAyMDAwKSAgICAgICAgLyohPEZpbHRlciBiaXQgMTMgKi8KKyNkZWZpbmUgIENBTl9GMVIyX0ZCMTQgICAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwNDAwMCkgICAgICAgIC8qITxGaWx0ZXIgYml0IDE0ICovCisjZGVmaW5lICBDQU5fRjFSMl9GQjE1ICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDgwMDApICAgICAgICAvKiE8RmlsdGVyIGJpdCAxNSAqLworI2RlZmluZSAgQ0FOX0YxUjJfRkIxNiAgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDEwMDAwKSAgICAgICAgLyohPEZpbHRlciBiaXQgMTYgKi8KKyNkZWZpbmUgIENBTl9GMVIyX0ZCMTcgICAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAyMDAwMCkgICAgICAgIC8qITxGaWx0ZXIgYml0IDE3ICovCisjZGVmaW5lICBDQU5fRjFSMl9GQjE4ICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwNDAwMDApICAgICAgICAvKiE8RmlsdGVyIGJpdCAxOCAqLworI2RlZmluZSAgQ0FOX0YxUjJfRkIxOSAgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDgwMDAwKSAgICAgICAgLyohPEZpbHRlciBiaXQgMTkgKi8KKyNkZWZpbmUgIENBTl9GMVIyX0ZCMjAgICAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDEwMDAwMCkgICAgICAgIC8qITxGaWx0ZXIgYml0IDIwICovCisjZGVmaW5lICBDQU5fRjFSMl9GQjIxICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAyMDAwMDApICAgICAgICAvKiE8RmlsdGVyIGJpdCAyMSAqLworI2RlZmluZSAgQ0FOX0YxUjJfRkIyMiAgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwNDAwMDAwKSAgICAgICAgLyohPEZpbHRlciBiaXQgMjIgKi8KKyNkZWZpbmUgIENBTl9GMVIyX0ZCMjMgICAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDgwMDAwMCkgICAgICAgIC8qITxGaWx0ZXIgYml0IDIzICovCisjZGVmaW5lICBDQU5fRjFSMl9GQjI0ICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDEwMDAwMDApICAgICAgICAvKiE8RmlsdGVyIGJpdCAyNCAqLworI2RlZmluZSAgQ0FOX0YxUjJfRkIyNSAgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAyMDAwMDAwKSAgICAgICAgLyohPEZpbHRlciBiaXQgMjUgKi8KKyNkZWZpbmUgIENBTl9GMVIyX0ZCMjYgICAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwNDAwMDAwMCkgICAgICAgIC8qITxGaWx0ZXIgYml0IDI2ICovCisjZGVmaW5lICBDQU5fRjFSMl9GQjI3ICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDgwMDAwMDApICAgICAgICAvKiE8RmlsdGVyIGJpdCAyNyAqLworI2RlZmluZSAgQ0FOX0YxUjJfRkIyOCAgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDEwMDAwMDAwKSAgICAgICAgLyohPEZpbHRlciBiaXQgMjggKi8KKyNkZWZpbmUgIENBTl9GMVIyX0ZCMjkgICAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgyMDAwMDAwMCkgICAgICAgIC8qITxGaWx0ZXIgYml0IDI5ICovCisjZGVmaW5lICBDQU5fRjFSMl9GQjMwICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4NDAwMDAwMDApICAgICAgICAvKiE8RmlsdGVyIGJpdCAzMCAqLworI2RlZmluZSAgQ0FOX0YxUjJfRkIzMSAgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDgwMDAwMDAwKSAgICAgICAgLyohPEZpbHRlciBiaXQgMzEgKi8KKworLyoqKioqKioqKioqKioqKioqKiogIEJpdCBkZWZpbml0aW9uIGZvciBDQU5fRjJSMiByZWdpc3RlciAgKioqKioqKioqKioqKioqKioqKi8KKyNkZWZpbmUgIENBTl9GMlIyX0ZCMCAgICAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMDAwMSkgICAgICAgIC8qITxGaWx0ZXIgYml0IDAgKi8KKyNkZWZpbmUgIENBTl9GMlIyX0ZCMSAgICAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMDAwMikgICAgICAgIC8qITxGaWx0ZXIgYml0IDEgKi8KKyNkZWZpbmUgIENBTl9GMlIyX0ZCMiAgICAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMDAwNCkgICAgICAgIC8qITxGaWx0ZXIgYml0IDIgKi8KKyNkZWZpbmUgIENBTl9GMlIyX0ZCMyAgICAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMDAwOCkgICAgICAgIC8qITxGaWx0ZXIgYml0IDMgKi8KKyNkZWZpbmUgIENBTl9GMlIyX0ZCNCAgICAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMDAxMCkgICAgICAgIC8qITxGaWx0ZXIgYml0IDQgKi8KKyNkZWZpbmUgIENBTl9GMlIyX0ZCNSAgICAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMDAyMCkgICAgICAgIC8qITxGaWx0ZXIgYml0IDUgKi8KKyNkZWZpbmUgIENBTl9GMlIyX0ZCNiAgICAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMDA0MCkgICAgICAgIC8qITxGaWx0ZXIgYml0IDYgKi8KKyNkZWZpbmUgIENBTl9GMlIyX0ZCNyAgICAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMDA4MCkgICAgICAgIC8qITxGaWx0ZXIgYml0IDcgKi8KKyNkZWZpbmUgIENBTl9GMlIyX0ZCOCAgICAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMDEwMCkgICAgICAgIC8qITxGaWx0ZXIgYml0IDggKi8KKyNkZWZpbmUgIENBTl9GMlIyX0ZCOSAgICAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMDIwMCkgICAgICAgIC8qITxGaWx0ZXIgYml0IDkgKi8KKyNkZWZpbmUgIENBTl9GMlIyX0ZCMTAgICAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMDQwMCkgICAgICAgIC8qITxGaWx0ZXIgYml0IDEwICovCisjZGVmaW5lICBDQU5fRjJSMl9GQjExICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDA4MDApICAgICAgICAvKiE8RmlsdGVyIGJpdCAxMSAqLworI2RlZmluZSAgQ0FOX0YyUjJfRkIxMiAgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAxMDAwKSAgICAgICAgLyohPEZpbHRlciBiaXQgMTIgKi8KKyNkZWZpbmUgIENBTl9GMlIyX0ZCMTMgICAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMjAwMCkgICAgICAgIC8qITxGaWx0ZXIgYml0IDEzICovCisjZGVmaW5lICBDQU5fRjJSMl9GQjE0ICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDQwMDApICAgICAgICAvKiE8RmlsdGVyIGJpdCAxNCAqLworI2RlZmluZSAgQ0FOX0YyUjJfRkIxNSAgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDA4MDAwKSAgICAgICAgLyohPEZpbHRlciBiaXQgMTUgKi8KKyNkZWZpbmUgIENBTl9GMlIyX0ZCMTYgICAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAxMDAwMCkgICAgICAgIC8qITxGaWx0ZXIgYml0IDE2ICovCisjZGVmaW5lICBDQU5fRjJSMl9GQjE3ICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMjAwMDApICAgICAgICAvKiE8RmlsdGVyIGJpdCAxNyAqLworI2RlZmluZSAgQ0FOX0YyUjJfRkIxOCAgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDQwMDAwKSAgICAgICAgLyohPEZpbHRlciBiaXQgMTggKi8KKyNkZWZpbmUgIENBTl9GMlIyX0ZCMTkgICAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDA4MDAwMCkgICAgICAgIC8qITxGaWx0ZXIgYml0IDE5ICovCisjZGVmaW5lICBDQU5fRjJSMl9GQjIwICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAxMDAwMDApICAgICAgICAvKiE8RmlsdGVyIGJpdCAyMCAqLworI2RlZmluZSAgQ0FOX0YyUjJfRkIyMSAgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMjAwMDAwKSAgICAgICAgLyohPEZpbHRlciBiaXQgMjEgKi8KKyNkZWZpbmUgIENBTl9GMlIyX0ZCMjIgICAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDQwMDAwMCkgICAgICAgIC8qITxGaWx0ZXIgYml0IDIyICovCisjZGVmaW5lICBDQU5fRjJSMl9GQjIzICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDA4MDAwMDApICAgICAgICAvKiE8RmlsdGVyIGJpdCAyMyAqLworI2RlZmluZSAgQ0FOX0YyUjJfRkIyNCAgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAxMDAwMDAwKSAgICAgICAgLyohPEZpbHRlciBiaXQgMjQgKi8KKyNkZWZpbmUgIENBTl9GMlIyX0ZCMjUgICAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMjAwMDAwMCkgICAgICAgIC8qITxGaWx0ZXIgYml0IDI1ICovCisjZGVmaW5lICBDQU5fRjJSMl9GQjI2ICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDQwMDAwMDApICAgICAgICAvKiE8RmlsdGVyIGJpdCAyNiAqLworI2RlZmluZSAgQ0FOX0YyUjJfRkIyNyAgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDA4MDAwMDAwKSAgICAgICAgLyohPEZpbHRlciBiaXQgMjcgKi8KKyNkZWZpbmUgIENBTl9GMlIyX0ZCMjggICAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgxMDAwMDAwMCkgICAgICAgIC8qITxGaWx0ZXIgYml0IDI4ICovCisjZGVmaW5lICBDQU5fRjJSMl9GQjI5ICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MjAwMDAwMDApICAgICAgICAvKiE8RmlsdGVyIGJpdCAyOSAqLworI2RlZmluZSAgQ0FOX0YyUjJfRkIzMCAgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDQwMDAwMDAwKSAgICAgICAgLyohPEZpbHRlciBiaXQgMzAgKi8KKyNkZWZpbmUgIENBTl9GMlIyX0ZCMzEgICAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHg4MDAwMDAwMCkgICAgICAgIC8qITxGaWx0ZXIgYml0IDMxICovCisKKy8qKioqKioqKioqKioqKioqKioqICBCaXQgZGVmaW5pdGlvbiBmb3IgQ0FOX0YzUjIgcmVnaXN0ZXIgICoqKioqKioqKioqKioqKioqKiovCisjZGVmaW5lICBDQU5fRjNSMl9GQjAgICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDAwMDEpICAgICAgICAvKiE8RmlsdGVyIGJpdCAwICovCisjZGVmaW5lICBDQU5fRjNSMl9GQjEgICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDAwMDIpICAgICAgICAvKiE8RmlsdGVyIGJpdCAxICovCisjZGVmaW5lICBDQU5fRjNSMl9GQjIgICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDAwMDQpICAgICAgICAvKiE8RmlsdGVyIGJpdCAyICovCisjZGVmaW5lICBDQU5fRjNSMl9GQjMgICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDAwMDgpICAgICAgICAvKiE8RmlsdGVyIGJpdCAzICovCisjZGVmaW5lICBDQU5fRjNSMl9GQjQgICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDAwMTApICAgICAgICAvKiE8RmlsdGVyIGJpdCA0ICovCisjZGVmaW5lICBDQU5fRjNSMl9GQjUgICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDAwMjApICAgICAgICAvKiE8RmlsdGVyIGJpdCA1ICovCisjZGVmaW5lICBDQU5fRjNSMl9GQjYgICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDAwNDApICAgICAgICAvKiE8RmlsdGVyIGJpdCA2ICovCisjZGVmaW5lICBDQU5fRjNSMl9GQjcgICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDAwODApICAgICAgICAvKiE8RmlsdGVyIGJpdCA3ICovCisjZGVmaW5lICBDQU5fRjNSMl9GQjggICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDAxMDApICAgICAgICAvKiE8RmlsdGVyIGJpdCA4ICovCisjZGVmaW5lICBDQU5fRjNSMl9GQjkgICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDAyMDApICAgICAgICAvKiE8RmlsdGVyIGJpdCA5ICovCisjZGVmaW5lICBDQU5fRjNSMl9GQjEwICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDA0MDApICAgICAgICAvKiE8RmlsdGVyIGJpdCAxMCAqLworI2RlZmluZSAgQ0FOX0YzUjJfRkIxMSAgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwODAwKSAgICAgICAgLyohPEZpbHRlciBiaXQgMTEgKi8KKyNkZWZpbmUgIENBTl9GM1IyX0ZCMTIgICAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMTAwMCkgICAgICAgIC8qITxGaWx0ZXIgYml0IDEyICovCisjZGVmaW5lICBDQU5fRjNSMl9GQjEzICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDIwMDApICAgICAgICAvKiE8RmlsdGVyIGJpdCAxMyAqLworI2RlZmluZSAgQ0FOX0YzUjJfRkIxNCAgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDA0MDAwKSAgICAgICAgLyohPEZpbHRlciBiaXQgMTQgKi8KKyNkZWZpbmUgIENBTl9GM1IyX0ZCMTUgICAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwODAwMCkgICAgICAgIC8qITxGaWx0ZXIgYml0IDE1ICovCisjZGVmaW5lICBDQU5fRjNSMl9GQjE2ICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMTAwMDApICAgICAgICAvKiE8RmlsdGVyIGJpdCAxNiAqLworI2RlZmluZSAgQ0FOX0YzUjJfRkIxNyAgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDIwMDAwKSAgICAgICAgLyohPEZpbHRlciBiaXQgMTcgKi8KKyNkZWZpbmUgIENBTl9GM1IyX0ZCMTggICAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDA0MDAwMCkgICAgICAgIC8qITxGaWx0ZXIgYml0IDE4ICovCisjZGVmaW5lICBDQU5fRjNSMl9GQjE5ICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwODAwMDApICAgICAgICAvKiE8RmlsdGVyIGJpdCAxOSAqLworI2RlZmluZSAgQ0FOX0YzUjJfRkIyMCAgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMTAwMDAwKSAgICAgICAgLyohPEZpbHRlciBiaXQgMjAgKi8KKyNkZWZpbmUgIENBTl9GM1IyX0ZCMjEgICAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDIwMDAwMCkgICAgICAgIC8qITxGaWx0ZXIgYml0IDIxICovCisjZGVmaW5lICBDQU5fRjNSMl9GQjIyICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDA0MDAwMDApICAgICAgICAvKiE8RmlsdGVyIGJpdCAyMiAqLworI2RlZmluZSAgQ0FOX0YzUjJfRkIyMyAgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwODAwMDAwKSAgICAgICAgLyohPEZpbHRlciBiaXQgMjMgKi8KKyNkZWZpbmUgIENBTl9GM1IyX0ZCMjQgICAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMTAwMDAwMCkgICAgICAgIC8qITxGaWx0ZXIgYml0IDI0ICovCisjZGVmaW5lICBDQU5fRjNSMl9GQjI1ICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDIwMDAwMDApICAgICAgICAvKiE8RmlsdGVyIGJpdCAyNSAqLworI2RlZmluZSAgQ0FOX0YzUjJfRkIyNiAgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDA0MDAwMDAwKSAgICAgICAgLyohPEZpbHRlciBiaXQgMjYgKi8KKyNkZWZpbmUgIENBTl9GM1IyX0ZCMjcgICAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwODAwMDAwMCkgICAgICAgIC8qITxGaWx0ZXIgYml0IDI3ICovCisjZGVmaW5lICBDQU5fRjNSMl9GQjI4ICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MTAwMDAwMDApICAgICAgICAvKiE8RmlsdGVyIGJpdCAyOCAqLworI2RlZmluZSAgQ0FOX0YzUjJfRkIyOSAgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDIwMDAwMDAwKSAgICAgICAgLyohPEZpbHRlciBiaXQgMjkgKi8KKyNkZWZpbmUgIENBTl9GM1IyX0ZCMzAgICAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHg0MDAwMDAwMCkgICAgICAgIC8qITxGaWx0ZXIgYml0IDMwICovCisjZGVmaW5lICBDQU5fRjNSMl9GQjMxICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4ODAwMDAwMDApICAgICAgICAvKiE8RmlsdGVyIGJpdCAzMSAqLworCisvKioqKioqKioqKioqKioqKioqKiAgQml0IGRlZmluaXRpb24gZm9yIENBTl9GNFIyIHJlZ2lzdGVyICAqKioqKioqKioqKioqKioqKioqLworI2RlZmluZSAgQ0FOX0Y0UjJfRkIwICAgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwMDAxKSAgICAgICAgLyohPEZpbHRlciBiaXQgMCAqLworI2RlZmluZSAgQ0FOX0Y0UjJfRkIxICAgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwMDAyKSAgICAgICAgLyohPEZpbHRlciBiaXQgMSAqLworI2RlZmluZSAgQ0FOX0Y0UjJfRkIyICAgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwMDA0KSAgICAgICAgLyohPEZpbHRlciBiaXQgMiAqLworI2RlZmluZSAgQ0FOX0Y0UjJfRkIzICAgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwMDA4KSAgICAgICAgLyohPEZpbHRlciBiaXQgMyAqLworI2RlZmluZSAgQ0FOX0Y0UjJfRkI0ICAgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwMDEwKSAgICAgICAgLyohPEZpbHRlciBiaXQgNCAqLworI2RlZmluZSAgQ0FOX0Y0UjJfRkI1ICAgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwMDIwKSAgICAgICAgLyohPEZpbHRlciBiaXQgNSAqLworI2RlZmluZSAgQ0FOX0Y0UjJfRkI2ICAgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwMDQwKSAgICAgICAgLyohPEZpbHRlciBiaXQgNiAqLworI2RlZmluZSAgQ0FOX0Y0UjJfRkI3ICAgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwMDgwKSAgICAgICAgLyohPEZpbHRlciBiaXQgNyAqLworI2RlZmluZSAgQ0FOX0Y0UjJfRkI4ICAgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwMTAwKSAgICAgICAgLyohPEZpbHRlciBiaXQgOCAqLworI2RlZmluZSAgQ0FOX0Y0UjJfRkI5ICAgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwMjAwKSAgICAgICAgLyohPEZpbHRlciBiaXQgOSAqLworI2RlZmluZSAgQ0FOX0Y0UjJfRkIxMCAgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwNDAwKSAgICAgICAgLyohPEZpbHRlciBiaXQgMTAgKi8KKyNkZWZpbmUgIENBTl9GNFIyX0ZCMTEgICAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMDgwMCkgICAgICAgIC8qITxGaWx0ZXIgYml0IDExICovCisjZGVmaW5lICBDQU5fRjRSMl9GQjEyICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDEwMDApICAgICAgICAvKiE8RmlsdGVyIGJpdCAxMiAqLworI2RlZmluZSAgQ0FOX0Y0UjJfRkIxMyAgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAyMDAwKSAgICAgICAgLyohPEZpbHRlciBiaXQgMTMgKi8KKyNkZWZpbmUgIENBTl9GNFIyX0ZCMTQgICAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwNDAwMCkgICAgICAgIC8qITxGaWx0ZXIgYml0IDE0ICovCisjZGVmaW5lICBDQU5fRjRSMl9GQjE1ICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDgwMDApICAgICAgICAvKiE8RmlsdGVyIGJpdCAxNSAqLworI2RlZmluZSAgQ0FOX0Y0UjJfRkIxNiAgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDEwMDAwKSAgICAgICAgLyohPEZpbHRlciBiaXQgMTYgKi8KKyNkZWZpbmUgIENBTl9GNFIyX0ZCMTcgICAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAyMDAwMCkgICAgICAgIC8qITxGaWx0ZXIgYml0IDE3ICovCisjZGVmaW5lICBDQU5fRjRSMl9GQjE4ICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwNDAwMDApICAgICAgICAvKiE8RmlsdGVyIGJpdCAxOCAqLworI2RlZmluZSAgQ0FOX0Y0UjJfRkIxOSAgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDgwMDAwKSAgICAgICAgLyohPEZpbHRlciBiaXQgMTkgKi8KKyNkZWZpbmUgIENBTl9GNFIyX0ZCMjAgICAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDEwMDAwMCkgICAgICAgIC8qITxGaWx0ZXIgYml0IDIwICovCisjZGVmaW5lICBDQU5fRjRSMl9GQjIxICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAyMDAwMDApICAgICAgICAvKiE8RmlsdGVyIGJpdCAyMSAqLworI2RlZmluZSAgQ0FOX0Y0UjJfRkIyMiAgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwNDAwMDAwKSAgICAgICAgLyohPEZpbHRlciBiaXQgMjIgKi8KKyNkZWZpbmUgIENBTl9GNFIyX0ZCMjMgICAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDgwMDAwMCkgICAgICAgIC8qITxGaWx0ZXIgYml0IDIzICovCisjZGVmaW5lICBDQU5fRjRSMl9GQjI0ICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDEwMDAwMDApICAgICAgICAvKiE8RmlsdGVyIGJpdCAyNCAqLworI2RlZmluZSAgQ0FOX0Y0UjJfRkIyNSAgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAyMDAwMDAwKSAgICAgICAgLyohPEZpbHRlciBiaXQgMjUgKi8KKyNkZWZpbmUgIENBTl9GNFIyX0ZCMjYgICAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwNDAwMDAwMCkgICAgICAgIC8qITxGaWx0ZXIgYml0IDI2ICovCisjZGVmaW5lICBDQU5fRjRSMl9GQjI3ICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDgwMDAwMDApICAgICAgICAvKiE8RmlsdGVyIGJpdCAyNyAqLworI2RlZmluZSAgQ0FOX0Y0UjJfRkIyOCAgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDEwMDAwMDAwKSAgICAgICAgLyohPEZpbHRlciBiaXQgMjggKi8KKyNkZWZpbmUgIENBTl9GNFIyX0ZCMjkgICAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgyMDAwMDAwMCkgICAgICAgIC8qITxGaWx0ZXIgYml0IDI5ICovCisjZGVmaW5lICBDQU5fRjRSMl9GQjMwICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4NDAwMDAwMDApICAgICAgICAvKiE8RmlsdGVyIGJpdCAzMCAqLworI2RlZmluZSAgQ0FOX0Y0UjJfRkIzMSAgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDgwMDAwMDAwKSAgICAgICAgLyohPEZpbHRlciBiaXQgMzEgKi8KKworLyoqKioqKioqKioqKioqKioqKiogIEJpdCBkZWZpbml0aW9uIGZvciBDQU5fRjVSMiByZWdpc3RlciAgKioqKioqKioqKioqKioqKioqKi8KKyNkZWZpbmUgIENBTl9GNVIyX0ZCMCAgICAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMDAwMSkgICAgICAgIC8qITxGaWx0ZXIgYml0IDAgKi8KKyNkZWZpbmUgIENBTl9GNVIyX0ZCMSAgICAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMDAwMikgICAgICAgIC8qITxGaWx0ZXIgYml0IDEgKi8KKyNkZWZpbmUgIENBTl9GNVIyX0ZCMiAgICAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMDAwNCkgICAgICAgIC8qITxGaWx0ZXIgYml0IDIgKi8KKyNkZWZpbmUgIENBTl9GNVIyX0ZCMyAgICAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMDAwOCkgICAgICAgIC8qITxGaWx0ZXIgYml0IDMgKi8KKyNkZWZpbmUgIENBTl9GNVIyX0ZCNCAgICAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMDAxMCkgICAgICAgIC8qITxGaWx0ZXIgYml0IDQgKi8KKyNkZWZpbmUgIENBTl9GNVIyX0ZCNSAgICAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMDAyMCkgICAgICAgIC8qITxGaWx0ZXIgYml0IDUgKi8KKyNkZWZpbmUgIENBTl9GNVIyX0ZCNiAgICAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMDA0MCkgICAgICAgIC8qITxGaWx0ZXIgYml0IDYgKi8KKyNkZWZpbmUgIENBTl9GNVIyX0ZCNyAgICAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMDA4MCkgICAgICAgIC8qITxGaWx0ZXIgYml0IDcgKi8KKyNkZWZpbmUgIENBTl9GNVIyX0ZCOCAgICAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMDEwMCkgICAgICAgIC8qITxGaWx0ZXIgYml0IDggKi8KKyNkZWZpbmUgIENBTl9GNVIyX0ZCOSAgICAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMDIwMCkgICAgICAgIC8qITxGaWx0ZXIgYml0IDkgKi8KKyNkZWZpbmUgIENBTl9GNVIyX0ZCMTAgICAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMDQwMCkgICAgICAgIC8qITxGaWx0ZXIgYml0IDEwICovCisjZGVmaW5lICBDQU5fRjVSMl9GQjExICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDA4MDApICAgICAgICAvKiE8RmlsdGVyIGJpdCAxMSAqLworI2RlZmluZSAgQ0FOX0Y1UjJfRkIxMiAgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAxMDAwKSAgICAgICAgLyohPEZpbHRlciBiaXQgMTIgKi8KKyNkZWZpbmUgIENBTl9GNVIyX0ZCMTMgICAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMjAwMCkgICAgICAgIC8qITxGaWx0ZXIgYml0IDEzICovCisjZGVmaW5lICBDQU5fRjVSMl9GQjE0ICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDQwMDApICAgICAgICAvKiE8RmlsdGVyIGJpdCAxNCAqLworI2RlZmluZSAgQ0FOX0Y1UjJfRkIxNSAgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDA4MDAwKSAgICAgICAgLyohPEZpbHRlciBiaXQgMTUgKi8KKyNkZWZpbmUgIENBTl9GNVIyX0ZCMTYgICAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAxMDAwMCkgICAgICAgIC8qITxGaWx0ZXIgYml0IDE2ICovCisjZGVmaW5lICBDQU5fRjVSMl9GQjE3ICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMjAwMDApICAgICAgICAvKiE8RmlsdGVyIGJpdCAxNyAqLworI2RlZmluZSAgQ0FOX0Y1UjJfRkIxOCAgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDQwMDAwKSAgICAgICAgLyohPEZpbHRlciBiaXQgMTggKi8KKyNkZWZpbmUgIENBTl9GNVIyX0ZCMTkgICAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDA4MDAwMCkgICAgICAgIC8qITxGaWx0ZXIgYml0IDE5ICovCisjZGVmaW5lICBDQU5fRjVSMl9GQjIwICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAxMDAwMDApICAgICAgICAvKiE8RmlsdGVyIGJpdCAyMCAqLworI2RlZmluZSAgQ0FOX0Y1UjJfRkIyMSAgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMjAwMDAwKSAgICAgICAgLyohPEZpbHRlciBiaXQgMjEgKi8KKyNkZWZpbmUgIENBTl9GNVIyX0ZCMjIgICAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDQwMDAwMCkgICAgICAgIC8qITxGaWx0ZXIgYml0IDIyICovCisjZGVmaW5lICBDQU5fRjVSMl9GQjIzICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDA4MDAwMDApICAgICAgICAvKiE8RmlsdGVyIGJpdCAyMyAqLworI2RlZmluZSAgQ0FOX0Y1UjJfRkIyNCAgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAxMDAwMDAwKSAgICAgICAgLyohPEZpbHRlciBiaXQgMjQgKi8KKyNkZWZpbmUgIENBTl9GNVIyX0ZCMjUgICAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMjAwMDAwMCkgICAgICAgIC8qITxGaWx0ZXIgYml0IDI1ICovCisjZGVmaW5lICBDQU5fRjVSMl9GQjI2ICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDQwMDAwMDApICAgICAgICAvKiE8RmlsdGVyIGJpdCAyNiAqLworI2RlZmluZSAgQ0FOX0Y1UjJfRkIyNyAgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDA4MDAwMDAwKSAgICAgICAgLyohPEZpbHRlciBiaXQgMjcgKi8KKyNkZWZpbmUgIENBTl9GNVIyX0ZCMjggICAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgxMDAwMDAwMCkgICAgICAgIC8qITxGaWx0ZXIgYml0IDI4ICovCisjZGVmaW5lICBDQU5fRjVSMl9GQjI5ICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MjAwMDAwMDApICAgICAgICAvKiE8RmlsdGVyIGJpdCAyOSAqLworI2RlZmluZSAgQ0FOX0Y1UjJfRkIzMCAgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDQwMDAwMDAwKSAgICAgICAgLyohPEZpbHRlciBiaXQgMzAgKi8KKyNkZWZpbmUgIENBTl9GNVIyX0ZCMzEgICAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHg4MDAwMDAwMCkgICAgICAgIC8qITxGaWx0ZXIgYml0IDMxICovCisKKy8qKioqKioqKioqKioqKioqKioqICBCaXQgZGVmaW5pdGlvbiBmb3IgQ0FOX0Y2UjIgcmVnaXN0ZXIgICoqKioqKioqKioqKioqKioqKiovCisjZGVmaW5lICBDQU5fRjZSMl9GQjAgICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDAwMDEpICAgICAgICAvKiE8RmlsdGVyIGJpdCAwICovCisjZGVmaW5lICBDQU5fRjZSMl9GQjEgICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDAwMDIpICAgICAgICAvKiE8RmlsdGVyIGJpdCAxICovCisjZGVmaW5lICBDQU5fRjZSMl9GQjIgICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDAwMDQpICAgICAgICAvKiE8RmlsdGVyIGJpdCAyICovCisjZGVmaW5lICBDQU5fRjZSMl9GQjMgICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDAwMDgpICAgICAgICAvKiE8RmlsdGVyIGJpdCAzICovCisjZGVmaW5lICBDQU5fRjZSMl9GQjQgICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDAwMTApICAgICAgICAvKiE8RmlsdGVyIGJpdCA0ICovCisjZGVmaW5lICBDQU5fRjZSMl9GQjUgICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDAwMjApICAgICAgICAvKiE8RmlsdGVyIGJpdCA1ICovCisjZGVmaW5lICBDQU5fRjZSMl9GQjYgICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDAwNDApICAgICAgICAvKiE8RmlsdGVyIGJpdCA2ICovCisjZGVmaW5lICBDQU5fRjZSMl9GQjcgICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDAwODApICAgICAgICAvKiE8RmlsdGVyIGJpdCA3ICovCisjZGVmaW5lICBDQU5fRjZSMl9GQjggICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDAxMDApICAgICAgICAvKiE8RmlsdGVyIGJpdCA4ICovCisjZGVmaW5lICBDQU5fRjZSMl9GQjkgICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDAyMDApICAgICAgICAvKiE8RmlsdGVyIGJpdCA5ICovCisjZGVmaW5lICBDQU5fRjZSMl9GQjEwICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDA0MDApICAgICAgICAvKiE8RmlsdGVyIGJpdCAxMCAqLworI2RlZmluZSAgQ0FOX0Y2UjJfRkIxMSAgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwODAwKSAgICAgICAgLyohPEZpbHRlciBiaXQgMTEgKi8KKyNkZWZpbmUgIENBTl9GNlIyX0ZCMTIgICAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMTAwMCkgICAgICAgIC8qITxGaWx0ZXIgYml0IDEyICovCisjZGVmaW5lICBDQU5fRjZSMl9GQjEzICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDIwMDApICAgICAgICAvKiE8RmlsdGVyIGJpdCAxMyAqLworI2RlZmluZSAgQ0FOX0Y2UjJfRkIxNCAgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDA0MDAwKSAgICAgICAgLyohPEZpbHRlciBiaXQgMTQgKi8KKyNkZWZpbmUgIENBTl9GNlIyX0ZCMTUgICAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwODAwMCkgICAgICAgIC8qITxGaWx0ZXIgYml0IDE1ICovCisjZGVmaW5lICBDQU5fRjZSMl9GQjE2ICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMTAwMDApICAgICAgICAvKiE8RmlsdGVyIGJpdCAxNiAqLworI2RlZmluZSAgQ0FOX0Y2UjJfRkIxNyAgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDIwMDAwKSAgICAgICAgLyohPEZpbHRlciBiaXQgMTcgKi8KKyNkZWZpbmUgIENBTl9GNlIyX0ZCMTggICAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDA0MDAwMCkgICAgICAgIC8qITxGaWx0ZXIgYml0IDE4ICovCisjZGVmaW5lICBDQU5fRjZSMl9GQjE5ICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwODAwMDApICAgICAgICAvKiE8RmlsdGVyIGJpdCAxOSAqLworI2RlZmluZSAgQ0FOX0Y2UjJfRkIyMCAgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMTAwMDAwKSAgICAgICAgLyohPEZpbHRlciBiaXQgMjAgKi8KKyNkZWZpbmUgIENBTl9GNlIyX0ZCMjEgICAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDIwMDAwMCkgICAgICAgIC8qITxGaWx0ZXIgYml0IDIxICovCisjZGVmaW5lICBDQU5fRjZSMl9GQjIyICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDA0MDAwMDApICAgICAgICAvKiE8RmlsdGVyIGJpdCAyMiAqLworI2RlZmluZSAgQ0FOX0Y2UjJfRkIyMyAgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwODAwMDAwKSAgICAgICAgLyohPEZpbHRlciBiaXQgMjMgKi8KKyNkZWZpbmUgIENBTl9GNlIyX0ZCMjQgICAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMTAwMDAwMCkgICAgICAgIC8qITxGaWx0ZXIgYml0IDI0ICovCisjZGVmaW5lICBDQU5fRjZSMl9GQjI1ICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDIwMDAwMDApICAgICAgICAvKiE8RmlsdGVyIGJpdCAyNSAqLworI2RlZmluZSAgQ0FOX0Y2UjJfRkIyNiAgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDA0MDAwMDAwKSAgICAgICAgLyohPEZpbHRlciBiaXQgMjYgKi8KKyNkZWZpbmUgIENBTl9GNlIyX0ZCMjcgICAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwODAwMDAwMCkgICAgICAgIC8qITxGaWx0ZXIgYml0IDI3ICovCisjZGVmaW5lICBDQU5fRjZSMl9GQjI4ICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MTAwMDAwMDApICAgICAgICAvKiE8RmlsdGVyIGJpdCAyOCAqLworI2RlZmluZSAgQ0FOX0Y2UjJfRkIyOSAgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDIwMDAwMDAwKSAgICAgICAgLyohPEZpbHRlciBiaXQgMjkgKi8KKyNkZWZpbmUgIENBTl9GNlIyX0ZCMzAgICAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHg0MDAwMDAwMCkgICAgICAgIC8qITxGaWx0ZXIgYml0IDMwICovCisjZGVmaW5lICBDQU5fRjZSMl9GQjMxICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4ODAwMDAwMDApICAgICAgICAvKiE8RmlsdGVyIGJpdCAzMSAqLworCisvKioqKioqKioqKioqKioqKioqKiAgQml0IGRlZmluaXRpb24gZm9yIENBTl9GN1IyIHJlZ2lzdGVyICAqKioqKioqKioqKioqKioqKioqLworI2RlZmluZSAgQ0FOX0Y3UjJfRkIwICAgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwMDAxKSAgICAgICAgLyohPEZpbHRlciBiaXQgMCAqLworI2RlZmluZSAgQ0FOX0Y3UjJfRkIxICAgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwMDAyKSAgICAgICAgLyohPEZpbHRlciBiaXQgMSAqLworI2RlZmluZSAgQ0FOX0Y3UjJfRkIyICAgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwMDA0KSAgICAgICAgLyohPEZpbHRlciBiaXQgMiAqLworI2RlZmluZSAgQ0FOX0Y3UjJfRkIzICAgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwMDA4KSAgICAgICAgLyohPEZpbHRlciBiaXQgMyAqLworI2RlZmluZSAgQ0FOX0Y3UjJfRkI0ICAgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwMDEwKSAgICAgICAgLyohPEZpbHRlciBiaXQgNCAqLworI2RlZmluZSAgQ0FOX0Y3UjJfRkI1ICAgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwMDIwKSAgICAgICAgLyohPEZpbHRlciBiaXQgNSAqLworI2RlZmluZSAgQ0FOX0Y3UjJfRkI2ICAgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwMDQwKSAgICAgICAgLyohPEZpbHRlciBiaXQgNiAqLworI2RlZmluZSAgQ0FOX0Y3UjJfRkI3ICAgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwMDgwKSAgICAgICAgLyohPEZpbHRlciBiaXQgNyAqLworI2RlZmluZSAgQ0FOX0Y3UjJfRkI4ICAgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwMTAwKSAgICAgICAgLyohPEZpbHRlciBiaXQgOCAqLworI2RlZmluZSAgQ0FOX0Y3UjJfRkI5ICAgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwMjAwKSAgICAgICAgLyohPEZpbHRlciBiaXQgOSAqLworI2RlZmluZSAgQ0FOX0Y3UjJfRkIxMCAgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwNDAwKSAgICAgICAgLyohPEZpbHRlciBiaXQgMTAgKi8KKyNkZWZpbmUgIENBTl9GN1IyX0ZCMTEgICAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMDgwMCkgICAgICAgIC8qITxGaWx0ZXIgYml0IDExICovCisjZGVmaW5lICBDQU5fRjdSMl9GQjEyICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDEwMDApICAgICAgICAvKiE8RmlsdGVyIGJpdCAxMiAqLworI2RlZmluZSAgQ0FOX0Y3UjJfRkIxMyAgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAyMDAwKSAgICAgICAgLyohPEZpbHRlciBiaXQgMTMgKi8KKyNkZWZpbmUgIENBTl9GN1IyX0ZCMTQgICAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwNDAwMCkgICAgICAgIC8qITxGaWx0ZXIgYml0IDE0ICovCisjZGVmaW5lICBDQU5fRjdSMl9GQjE1ICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDgwMDApICAgICAgICAvKiE8RmlsdGVyIGJpdCAxNSAqLworI2RlZmluZSAgQ0FOX0Y3UjJfRkIxNiAgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDEwMDAwKSAgICAgICAgLyohPEZpbHRlciBiaXQgMTYgKi8KKyNkZWZpbmUgIENBTl9GN1IyX0ZCMTcgICAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAyMDAwMCkgICAgICAgIC8qITxGaWx0ZXIgYml0IDE3ICovCisjZGVmaW5lICBDQU5fRjdSMl9GQjE4ICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwNDAwMDApICAgICAgICAvKiE8RmlsdGVyIGJpdCAxOCAqLworI2RlZmluZSAgQ0FOX0Y3UjJfRkIxOSAgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDgwMDAwKSAgICAgICAgLyohPEZpbHRlciBiaXQgMTkgKi8KKyNkZWZpbmUgIENBTl9GN1IyX0ZCMjAgICAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDEwMDAwMCkgICAgICAgIC8qITxGaWx0ZXIgYml0IDIwICovCisjZGVmaW5lICBDQU5fRjdSMl9GQjIxICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAyMDAwMDApICAgICAgICAvKiE8RmlsdGVyIGJpdCAyMSAqLworI2RlZmluZSAgQ0FOX0Y3UjJfRkIyMiAgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwNDAwMDAwKSAgICAgICAgLyohPEZpbHRlciBiaXQgMjIgKi8KKyNkZWZpbmUgIENBTl9GN1IyX0ZCMjMgICAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDgwMDAwMCkgICAgICAgIC8qITxGaWx0ZXIgYml0IDIzICovCisjZGVmaW5lICBDQU5fRjdSMl9GQjI0ICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDEwMDAwMDApICAgICAgICAvKiE8RmlsdGVyIGJpdCAyNCAqLworI2RlZmluZSAgQ0FOX0Y3UjJfRkIyNSAgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAyMDAwMDAwKSAgICAgICAgLyohPEZpbHRlciBiaXQgMjUgKi8KKyNkZWZpbmUgIENBTl9GN1IyX0ZCMjYgICAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwNDAwMDAwMCkgICAgICAgIC8qITxGaWx0ZXIgYml0IDI2ICovCisjZGVmaW5lICBDQU5fRjdSMl9GQjI3ICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDgwMDAwMDApICAgICAgICAvKiE8RmlsdGVyIGJpdCAyNyAqLworI2RlZmluZSAgQ0FOX0Y3UjJfRkIyOCAgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDEwMDAwMDAwKSAgICAgICAgLyohPEZpbHRlciBiaXQgMjggKi8KKyNkZWZpbmUgIENBTl9GN1IyX0ZCMjkgICAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgyMDAwMDAwMCkgICAgICAgIC8qITxGaWx0ZXIgYml0IDI5ICovCisjZGVmaW5lICBDQU5fRjdSMl9GQjMwICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4NDAwMDAwMDApICAgICAgICAvKiE8RmlsdGVyIGJpdCAzMCAqLworI2RlZmluZSAgQ0FOX0Y3UjJfRkIzMSAgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDgwMDAwMDAwKSAgICAgICAgLyohPEZpbHRlciBiaXQgMzEgKi8KKworLyoqKioqKioqKioqKioqKioqKiogIEJpdCBkZWZpbml0aW9uIGZvciBDQU5fRjhSMiByZWdpc3RlciAgKioqKioqKioqKioqKioqKioqKi8KKyNkZWZpbmUgIENBTl9GOFIyX0ZCMCAgICAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMDAwMSkgICAgICAgIC8qITxGaWx0ZXIgYml0IDAgKi8KKyNkZWZpbmUgIENBTl9GOFIyX0ZCMSAgICAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMDAwMikgICAgICAgIC8qITxGaWx0ZXIgYml0IDEgKi8KKyNkZWZpbmUgIENBTl9GOFIyX0ZCMiAgICAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMDAwNCkgICAgICAgIC8qITxGaWx0ZXIgYml0IDIgKi8KKyNkZWZpbmUgIENBTl9GOFIyX0ZCMyAgICAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMDAwOCkgICAgICAgIC8qITxGaWx0ZXIgYml0IDMgKi8KKyNkZWZpbmUgIENBTl9GOFIyX0ZCNCAgICAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMDAxMCkgICAgICAgIC8qITxGaWx0ZXIgYml0IDQgKi8KKyNkZWZpbmUgIENBTl9GOFIyX0ZCNSAgICAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMDAyMCkgICAgICAgIC8qITxGaWx0ZXIgYml0IDUgKi8KKyNkZWZpbmUgIENBTl9GOFIyX0ZCNiAgICAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMDA0MCkgICAgICAgIC8qITxGaWx0ZXIgYml0IDYgKi8KKyNkZWZpbmUgIENBTl9GOFIyX0ZCNyAgICAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMDA4MCkgICAgICAgIC8qITxGaWx0ZXIgYml0IDcgKi8KKyNkZWZpbmUgIENBTl9GOFIyX0ZCOCAgICAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMDEwMCkgICAgICAgIC8qITxGaWx0ZXIgYml0IDggKi8KKyNkZWZpbmUgIENBTl9GOFIyX0ZCOSAgICAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMDIwMCkgICAgICAgIC8qITxGaWx0ZXIgYml0IDkgKi8KKyNkZWZpbmUgIENBTl9GOFIyX0ZCMTAgICAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMDQwMCkgICAgICAgIC8qITxGaWx0ZXIgYml0IDEwICovCisjZGVmaW5lICBDQU5fRjhSMl9GQjExICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDA4MDApICAgICAgICAvKiE8RmlsdGVyIGJpdCAxMSAqLworI2RlZmluZSAgQ0FOX0Y4UjJfRkIxMiAgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAxMDAwKSAgICAgICAgLyohPEZpbHRlciBiaXQgMTIgKi8KKyNkZWZpbmUgIENBTl9GOFIyX0ZCMTMgICAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMjAwMCkgICAgICAgIC8qITxGaWx0ZXIgYml0IDEzICovCisjZGVmaW5lICBDQU5fRjhSMl9GQjE0ICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDQwMDApICAgICAgICAvKiE8RmlsdGVyIGJpdCAxNCAqLworI2RlZmluZSAgQ0FOX0Y4UjJfRkIxNSAgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDA4MDAwKSAgICAgICAgLyohPEZpbHRlciBiaXQgMTUgKi8KKyNkZWZpbmUgIENBTl9GOFIyX0ZCMTYgICAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAxMDAwMCkgICAgICAgIC8qITxGaWx0ZXIgYml0IDE2ICovCisjZGVmaW5lICBDQU5fRjhSMl9GQjE3ICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMjAwMDApICAgICAgICAvKiE8RmlsdGVyIGJpdCAxNyAqLworI2RlZmluZSAgQ0FOX0Y4UjJfRkIxOCAgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDQwMDAwKSAgICAgICAgLyohPEZpbHRlciBiaXQgMTggKi8KKyNkZWZpbmUgIENBTl9GOFIyX0ZCMTkgICAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDA4MDAwMCkgICAgICAgIC8qITxGaWx0ZXIgYml0IDE5ICovCisjZGVmaW5lICBDQU5fRjhSMl9GQjIwICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAxMDAwMDApICAgICAgICAvKiE8RmlsdGVyIGJpdCAyMCAqLworI2RlZmluZSAgQ0FOX0Y4UjJfRkIyMSAgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMjAwMDAwKSAgICAgICAgLyohPEZpbHRlciBiaXQgMjEgKi8KKyNkZWZpbmUgIENBTl9GOFIyX0ZCMjIgICAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDQwMDAwMCkgICAgICAgIC8qITxGaWx0ZXIgYml0IDIyICovCisjZGVmaW5lICBDQU5fRjhSMl9GQjIzICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDA4MDAwMDApICAgICAgICAvKiE8RmlsdGVyIGJpdCAyMyAqLworI2RlZmluZSAgQ0FOX0Y4UjJfRkIyNCAgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAxMDAwMDAwKSAgICAgICAgLyohPEZpbHRlciBiaXQgMjQgKi8KKyNkZWZpbmUgIENBTl9GOFIyX0ZCMjUgICAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMjAwMDAwMCkgICAgICAgIC8qITxGaWx0ZXIgYml0IDI1ICovCisjZGVmaW5lICBDQU5fRjhSMl9GQjI2ICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDQwMDAwMDApICAgICAgICAvKiE8RmlsdGVyIGJpdCAyNiAqLworI2RlZmluZSAgQ0FOX0Y4UjJfRkIyNyAgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDA4MDAwMDAwKSAgICAgICAgLyohPEZpbHRlciBiaXQgMjcgKi8KKyNkZWZpbmUgIENBTl9GOFIyX0ZCMjggICAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgxMDAwMDAwMCkgICAgICAgIC8qITxGaWx0ZXIgYml0IDI4ICovCisjZGVmaW5lICBDQU5fRjhSMl9GQjI5ICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MjAwMDAwMDApICAgICAgICAvKiE8RmlsdGVyIGJpdCAyOSAqLworI2RlZmluZSAgQ0FOX0Y4UjJfRkIzMCAgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDQwMDAwMDAwKSAgICAgICAgLyohPEZpbHRlciBiaXQgMzAgKi8KKyNkZWZpbmUgIENBTl9GOFIyX0ZCMzEgICAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHg4MDAwMDAwMCkgICAgICAgIC8qITxGaWx0ZXIgYml0IDMxICovCisKKy8qKioqKioqKioqKioqKioqKioqICBCaXQgZGVmaW5pdGlvbiBmb3IgQ0FOX0Y5UjIgcmVnaXN0ZXIgICoqKioqKioqKioqKioqKioqKiovCisjZGVmaW5lICBDQU5fRjlSMl9GQjAgICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDAwMDEpICAgICAgICAvKiE8RmlsdGVyIGJpdCAwICovCisjZGVmaW5lICBDQU5fRjlSMl9GQjEgICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDAwMDIpICAgICAgICAvKiE8RmlsdGVyIGJpdCAxICovCisjZGVmaW5lICBDQU5fRjlSMl9GQjIgICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDAwMDQpICAgICAgICAvKiE8RmlsdGVyIGJpdCAyICovCisjZGVmaW5lICBDQU5fRjlSMl9GQjMgICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDAwMDgpICAgICAgICAvKiE8RmlsdGVyIGJpdCAzICovCisjZGVmaW5lICBDQU5fRjlSMl9GQjQgICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDAwMTApICAgICAgICAvKiE8RmlsdGVyIGJpdCA0ICovCisjZGVmaW5lICBDQU5fRjlSMl9GQjUgICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDAwMjApICAgICAgICAvKiE8RmlsdGVyIGJpdCA1ICovCisjZGVmaW5lICBDQU5fRjlSMl9GQjYgICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDAwNDApICAgICAgICAvKiE8RmlsdGVyIGJpdCA2ICovCisjZGVmaW5lICBDQU5fRjlSMl9GQjcgICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDAwODApICAgICAgICAvKiE8RmlsdGVyIGJpdCA3ICovCisjZGVmaW5lICBDQU5fRjlSMl9GQjggICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDAxMDApICAgICAgICAvKiE8RmlsdGVyIGJpdCA4ICovCisjZGVmaW5lICBDQU5fRjlSMl9GQjkgICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDAyMDApICAgICAgICAvKiE8RmlsdGVyIGJpdCA5ICovCisjZGVmaW5lICBDQU5fRjlSMl9GQjEwICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDA0MDApICAgICAgICAvKiE8RmlsdGVyIGJpdCAxMCAqLworI2RlZmluZSAgQ0FOX0Y5UjJfRkIxMSAgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwODAwKSAgICAgICAgLyohPEZpbHRlciBiaXQgMTEgKi8KKyNkZWZpbmUgIENBTl9GOVIyX0ZCMTIgICAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMTAwMCkgICAgICAgIC8qITxGaWx0ZXIgYml0IDEyICovCisjZGVmaW5lICBDQU5fRjlSMl9GQjEzICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDIwMDApICAgICAgICAvKiE8RmlsdGVyIGJpdCAxMyAqLworI2RlZmluZSAgQ0FOX0Y5UjJfRkIxNCAgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDA0MDAwKSAgICAgICAgLyohPEZpbHRlciBiaXQgMTQgKi8KKyNkZWZpbmUgIENBTl9GOVIyX0ZCMTUgICAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwODAwMCkgICAgICAgIC8qITxGaWx0ZXIgYml0IDE1ICovCisjZGVmaW5lICBDQU5fRjlSMl9GQjE2ICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMTAwMDApICAgICAgICAvKiE8RmlsdGVyIGJpdCAxNiAqLworI2RlZmluZSAgQ0FOX0Y5UjJfRkIxNyAgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDIwMDAwKSAgICAgICAgLyohPEZpbHRlciBiaXQgMTcgKi8KKyNkZWZpbmUgIENBTl9GOVIyX0ZCMTggICAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDA0MDAwMCkgICAgICAgIC8qITxGaWx0ZXIgYml0IDE4ICovCisjZGVmaW5lICBDQU5fRjlSMl9GQjE5ICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwODAwMDApICAgICAgICAvKiE8RmlsdGVyIGJpdCAxOSAqLworI2RlZmluZSAgQ0FOX0Y5UjJfRkIyMCAgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMTAwMDAwKSAgICAgICAgLyohPEZpbHRlciBiaXQgMjAgKi8KKyNkZWZpbmUgIENBTl9GOVIyX0ZCMjEgICAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDIwMDAwMCkgICAgICAgIC8qITxGaWx0ZXIgYml0IDIxICovCisjZGVmaW5lICBDQU5fRjlSMl9GQjIyICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDA0MDAwMDApICAgICAgICAvKiE8RmlsdGVyIGJpdCAyMiAqLworI2RlZmluZSAgQ0FOX0Y5UjJfRkIyMyAgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwODAwMDAwKSAgICAgICAgLyohPEZpbHRlciBiaXQgMjMgKi8KKyNkZWZpbmUgIENBTl9GOVIyX0ZCMjQgICAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMTAwMDAwMCkgICAgICAgIC8qITxGaWx0ZXIgYml0IDI0ICovCisjZGVmaW5lICBDQU5fRjlSMl9GQjI1ICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDIwMDAwMDApICAgICAgICAvKiE8RmlsdGVyIGJpdCAyNSAqLworI2RlZmluZSAgQ0FOX0Y5UjJfRkIyNiAgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDA0MDAwMDAwKSAgICAgICAgLyohPEZpbHRlciBiaXQgMjYgKi8KKyNkZWZpbmUgIENBTl9GOVIyX0ZCMjcgICAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwODAwMDAwMCkgICAgICAgIC8qITxGaWx0ZXIgYml0IDI3ICovCisjZGVmaW5lICBDQU5fRjlSMl9GQjI4ICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MTAwMDAwMDApICAgICAgICAvKiE8RmlsdGVyIGJpdCAyOCAqLworI2RlZmluZSAgQ0FOX0Y5UjJfRkIyOSAgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDIwMDAwMDAwKSAgICAgICAgLyohPEZpbHRlciBiaXQgMjkgKi8KKyNkZWZpbmUgIENBTl9GOVIyX0ZCMzAgICAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHg0MDAwMDAwMCkgICAgICAgIC8qITxGaWx0ZXIgYml0IDMwICovCisjZGVmaW5lICBDQU5fRjlSMl9GQjMxICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4ODAwMDAwMDApICAgICAgICAvKiE8RmlsdGVyIGJpdCAzMSAqLworCisvKioqKioqKioqKioqKioqKioqKiAgQml0IGRlZmluaXRpb24gZm9yIENBTl9GMTBSMiByZWdpc3RlciAgKioqKioqKioqKioqKioqKioqLworI2RlZmluZSAgQ0FOX0YxMFIyX0ZCMCAgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwMDAxKSAgICAgICAgLyohPEZpbHRlciBiaXQgMCAqLworI2RlZmluZSAgQ0FOX0YxMFIyX0ZCMSAgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwMDAyKSAgICAgICAgLyohPEZpbHRlciBiaXQgMSAqLworI2RlZmluZSAgQ0FOX0YxMFIyX0ZCMiAgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwMDA0KSAgICAgICAgLyohPEZpbHRlciBiaXQgMiAqLworI2RlZmluZSAgQ0FOX0YxMFIyX0ZCMyAgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwMDA4KSAgICAgICAgLyohPEZpbHRlciBiaXQgMyAqLworI2RlZmluZSAgQ0FOX0YxMFIyX0ZCNCAgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwMDEwKSAgICAgICAgLyohPEZpbHRlciBiaXQgNCAqLworI2RlZmluZSAgQ0FOX0YxMFIyX0ZCNSAgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwMDIwKSAgICAgICAgLyohPEZpbHRlciBiaXQgNSAqLworI2RlZmluZSAgQ0FOX0YxMFIyX0ZCNiAgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwMDQwKSAgICAgICAgLyohPEZpbHRlciBiaXQgNiAqLworI2RlZmluZSAgQ0FOX0YxMFIyX0ZCNyAgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwMDgwKSAgICAgICAgLyohPEZpbHRlciBiaXQgNyAqLworI2RlZmluZSAgQ0FOX0YxMFIyX0ZCOCAgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwMTAwKSAgICAgICAgLyohPEZpbHRlciBiaXQgOCAqLworI2RlZmluZSAgQ0FOX0YxMFIyX0ZCOSAgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwMjAwKSAgICAgICAgLyohPEZpbHRlciBiaXQgOSAqLworI2RlZmluZSAgQ0FOX0YxMFIyX0ZCMTAgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwNDAwKSAgICAgICAgLyohPEZpbHRlciBiaXQgMTAgKi8KKyNkZWZpbmUgIENBTl9GMTBSMl9GQjExICAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMDgwMCkgICAgICAgIC8qITxGaWx0ZXIgYml0IDExICovCisjZGVmaW5lICBDQU5fRjEwUjJfRkIxMiAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDEwMDApICAgICAgICAvKiE8RmlsdGVyIGJpdCAxMiAqLworI2RlZmluZSAgQ0FOX0YxMFIyX0ZCMTMgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAyMDAwKSAgICAgICAgLyohPEZpbHRlciBiaXQgMTMgKi8KKyNkZWZpbmUgIENBTl9GMTBSMl9GQjE0ICAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwNDAwMCkgICAgICAgIC8qITxGaWx0ZXIgYml0IDE0ICovCisjZGVmaW5lICBDQU5fRjEwUjJfRkIxNSAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDgwMDApICAgICAgICAvKiE8RmlsdGVyIGJpdCAxNSAqLworI2RlZmluZSAgQ0FOX0YxMFIyX0ZCMTYgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDEwMDAwKSAgICAgICAgLyohPEZpbHRlciBiaXQgMTYgKi8KKyNkZWZpbmUgIENBTl9GMTBSMl9GQjE3ICAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAyMDAwMCkgICAgICAgIC8qITxGaWx0ZXIgYml0IDE3ICovCisjZGVmaW5lICBDQU5fRjEwUjJfRkIxOCAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwNDAwMDApICAgICAgICAvKiE8RmlsdGVyIGJpdCAxOCAqLworI2RlZmluZSAgQ0FOX0YxMFIyX0ZCMTkgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDgwMDAwKSAgICAgICAgLyohPEZpbHRlciBiaXQgMTkgKi8KKyNkZWZpbmUgIENBTl9GMTBSMl9GQjIwICAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDEwMDAwMCkgICAgICAgIC8qITxGaWx0ZXIgYml0IDIwICovCisjZGVmaW5lICBDQU5fRjEwUjJfRkIyMSAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAyMDAwMDApICAgICAgICAvKiE8RmlsdGVyIGJpdCAyMSAqLworI2RlZmluZSAgQ0FOX0YxMFIyX0ZCMjIgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwNDAwMDAwKSAgICAgICAgLyohPEZpbHRlciBiaXQgMjIgKi8KKyNkZWZpbmUgIENBTl9GMTBSMl9GQjIzICAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDgwMDAwMCkgICAgICAgIC8qITxGaWx0ZXIgYml0IDIzICovCisjZGVmaW5lICBDQU5fRjEwUjJfRkIyNCAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDEwMDAwMDApICAgICAgICAvKiE8RmlsdGVyIGJpdCAyNCAqLworI2RlZmluZSAgQ0FOX0YxMFIyX0ZCMjUgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAyMDAwMDAwKSAgICAgICAgLyohPEZpbHRlciBiaXQgMjUgKi8KKyNkZWZpbmUgIENBTl9GMTBSMl9GQjI2ICAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwNDAwMDAwMCkgICAgICAgIC8qITxGaWx0ZXIgYml0IDI2ICovCisjZGVmaW5lICBDQU5fRjEwUjJfRkIyNyAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDgwMDAwMDApICAgICAgICAvKiE8RmlsdGVyIGJpdCAyNyAqLworI2RlZmluZSAgQ0FOX0YxMFIyX0ZCMjggICAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDEwMDAwMDAwKSAgICAgICAgLyohPEZpbHRlciBiaXQgMjggKi8KKyNkZWZpbmUgIENBTl9GMTBSMl9GQjI5ICAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgyMDAwMDAwMCkgICAgICAgIC8qITxGaWx0ZXIgYml0IDI5ICovCisjZGVmaW5lICBDQU5fRjEwUjJfRkIzMCAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4NDAwMDAwMDApICAgICAgICAvKiE8RmlsdGVyIGJpdCAzMCAqLworI2RlZmluZSAgQ0FOX0YxMFIyX0ZCMzEgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDgwMDAwMDAwKSAgICAgICAgLyohPEZpbHRlciBiaXQgMzEgKi8KKworLyoqKioqKioqKioqKioqKioqKiogIEJpdCBkZWZpbml0aW9uIGZvciBDQU5fRjExUjIgcmVnaXN0ZXIgICoqKioqKioqKioqKioqKioqKi8KKyNkZWZpbmUgIENBTl9GMTFSMl9GQjAgICAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMDAwMSkgICAgICAgIC8qITxGaWx0ZXIgYml0IDAgKi8KKyNkZWZpbmUgIENBTl9GMTFSMl9GQjEgICAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMDAwMikgICAgICAgIC8qITxGaWx0ZXIgYml0IDEgKi8KKyNkZWZpbmUgIENBTl9GMTFSMl9GQjIgICAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMDAwNCkgICAgICAgIC8qITxGaWx0ZXIgYml0IDIgKi8KKyNkZWZpbmUgIENBTl9GMTFSMl9GQjMgICAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMDAwOCkgICAgICAgIC8qITxGaWx0ZXIgYml0IDMgKi8KKyNkZWZpbmUgIENBTl9GMTFSMl9GQjQgICAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMDAxMCkgICAgICAgIC8qITxGaWx0ZXIgYml0IDQgKi8KKyNkZWZpbmUgIENBTl9GMTFSMl9GQjUgICAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMDAyMCkgICAgICAgIC8qITxGaWx0ZXIgYml0IDUgKi8KKyNkZWZpbmUgIENBTl9GMTFSMl9GQjYgICAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMDA0MCkgICAgICAgIC8qITxGaWx0ZXIgYml0IDYgKi8KKyNkZWZpbmUgIENBTl9GMTFSMl9GQjcgICAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMDA4MCkgICAgICAgIC8qITxGaWx0ZXIgYml0IDcgKi8KKyNkZWZpbmUgIENBTl9GMTFSMl9GQjggICAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMDEwMCkgICAgICAgIC8qITxGaWx0ZXIgYml0IDggKi8KKyNkZWZpbmUgIENBTl9GMTFSMl9GQjkgICAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMDIwMCkgICAgICAgIC8qITxGaWx0ZXIgYml0IDkgKi8KKyNkZWZpbmUgIENBTl9GMTFSMl9GQjEwICAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMDQwMCkgICAgICAgIC8qITxGaWx0ZXIgYml0IDEwICovCisjZGVmaW5lICBDQU5fRjExUjJfRkIxMSAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDA4MDApICAgICAgICAvKiE8RmlsdGVyIGJpdCAxMSAqLworI2RlZmluZSAgQ0FOX0YxMVIyX0ZCMTIgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAxMDAwKSAgICAgICAgLyohPEZpbHRlciBiaXQgMTIgKi8KKyNkZWZpbmUgIENBTl9GMTFSMl9GQjEzICAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMjAwMCkgICAgICAgIC8qITxGaWx0ZXIgYml0IDEzICovCisjZGVmaW5lICBDQU5fRjExUjJfRkIxNCAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDQwMDApICAgICAgICAvKiE8RmlsdGVyIGJpdCAxNCAqLworI2RlZmluZSAgQ0FOX0YxMVIyX0ZCMTUgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDA4MDAwKSAgICAgICAgLyohPEZpbHRlciBiaXQgMTUgKi8KKyNkZWZpbmUgIENBTl9GMTFSMl9GQjE2ICAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAxMDAwMCkgICAgICAgIC8qITxGaWx0ZXIgYml0IDE2ICovCisjZGVmaW5lICBDQU5fRjExUjJfRkIxNyAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMjAwMDApICAgICAgICAvKiE8RmlsdGVyIGJpdCAxNyAqLworI2RlZmluZSAgQ0FOX0YxMVIyX0ZCMTggICAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDQwMDAwKSAgICAgICAgLyohPEZpbHRlciBiaXQgMTggKi8KKyNkZWZpbmUgIENBTl9GMTFSMl9GQjE5ICAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDA4MDAwMCkgICAgICAgIC8qITxGaWx0ZXIgYml0IDE5ICovCisjZGVmaW5lICBDQU5fRjExUjJfRkIyMCAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAxMDAwMDApICAgICAgICAvKiE8RmlsdGVyIGJpdCAyMCAqLworI2RlZmluZSAgQ0FOX0YxMVIyX0ZCMjEgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMjAwMDAwKSAgICAgICAgLyohPEZpbHRlciBiaXQgMjEgKi8KKyNkZWZpbmUgIENBTl9GMTFSMl9GQjIyICAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDQwMDAwMCkgICAgICAgIC8qITxGaWx0ZXIgYml0IDIyICovCisjZGVmaW5lICBDQU5fRjExUjJfRkIyMyAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDA4MDAwMDApICAgICAgICAvKiE8RmlsdGVyIGJpdCAyMyAqLworI2RlZmluZSAgQ0FOX0YxMVIyX0ZCMjQgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAxMDAwMDAwKSAgICAgICAgLyohPEZpbHRlciBiaXQgMjQgKi8KKyNkZWZpbmUgIENBTl9GMTFSMl9GQjI1ICAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMjAwMDAwMCkgICAgICAgIC8qITxGaWx0ZXIgYml0IDI1ICovCisjZGVmaW5lICBDQU5fRjExUjJfRkIyNiAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDQwMDAwMDApICAgICAgICAvKiE8RmlsdGVyIGJpdCAyNiAqLworI2RlZmluZSAgQ0FOX0YxMVIyX0ZCMjcgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDA4MDAwMDAwKSAgICAgICAgLyohPEZpbHRlciBiaXQgMjcgKi8KKyNkZWZpbmUgIENBTl9GMTFSMl9GQjI4ICAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgxMDAwMDAwMCkgICAgICAgIC8qITxGaWx0ZXIgYml0IDI4ICovCisjZGVmaW5lICBDQU5fRjExUjJfRkIyOSAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MjAwMDAwMDApICAgICAgICAvKiE8RmlsdGVyIGJpdCAyOSAqLworI2RlZmluZSAgQ0FOX0YxMVIyX0ZCMzAgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDQwMDAwMDAwKSAgICAgICAgLyohPEZpbHRlciBiaXQgMzAgKi8KKyNkZWZpbmUgIENBTl9GMTFSMl9GQjMxICAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHg4MDAwMDAwMCkgICAgICAgIC8qITxGaWx0ZXIgYml0IDMxICovCisKKy8qKioqKioqKioqKioqKioqKioqICBCaXQgZGVmaW5pdGlvbiBmb3IgQ0FOX0YxMlIyIHJlZ2lzdGVyICAqKioqKioqKioqKioqKioqKiovCisjZGVmaW5lICBDQU5fRjEyUjJfRkIwICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDAwMDEpICAgICAgICAvKiE8RmlsdGVyIGJpdCAwICovCisjZGVmaW5lICBDQU5fRjEyUjJfRkIxICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDAwMDIpICAgICAgICAvKiE8RmlsdGVyIGJpdCAxICovCisjZGVmaW5lICBDQU5fRjEyUjJfRkIyICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDAwMDQpICAgICAgICAvKiE8RmlsdGVyIGJpdCAyICovCisjZGVmaW5lICBDQU5fRjEyUjJfRkIzICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDAwMDgpICAgICAgICAvKiE8RmlsdGVyIGJpdCAzICovCisjZGVmaW5lICBDQU5fRjEyUjJfRkI0ICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDAwMTApICAgICAgICAvKiE8RmlsdGVyIGJpdCA0ICovCisjZGVmaW5lICBDQU5fRjEyUjJfRkI1ICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDAwMjApICAgICAgICAvKiE8RmlsdGVyIGJpdCA1ICovCisjZGVmaW5lICBDQU5fRjEyUjJfRkI2ICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDAwNDApICAgICAgICAvKiE8RmlsdGVyIGJpdCA2ICovCisjZGVmaW5lICBDQU5fRjEyUjJfRkI3ICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDAwODApICAgICAgICAvKiE8RmlsdGVyIGJpdCA3ICovCisjZGVmaW5lICBDQU5fRjEyUjJfRkI4ICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDAxMDApICAgICAgICAvKiE8RmlsdGVyIGJpdCA4ICovCisjZGVmaW5lICBDQU5fRjEyUjJfRkI5ICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDAyMDApICAgICAgICAvKiE8RmlsdGVyIGJpdCA5ICovCisjZGVmaW5lICBDQU5fRjEyUjJfRkIxMCAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDA0MDApICAgICAgICAvKiE8RmlsdGVyIGJpdCAxMCAqLworI2RlZmluZSAgQ0FOX0YxMlIyX0ZCMTEgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwODAwKSAgICAgICAgLyohPEZpbHRlciBiaXQgMTEgKi8KKyNkZWZpbmUgIENBTl9GMTJSMl9GQjEyICAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMTAwMCkgICAgICAgIC8qITxGaWx0ZXIgYml0IDEyICovCisjZGVmaW5lICBDQU5fRjEyUjJfRkIxMyAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDIwMDApICAgICAgICAvKiE8RmlsdGVyIGJpdCAxMyAqLworI2RlZmluZSAgQ0FOX0YxMlIyX0ZCMTQgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDA0MDAwKSAgICAgICAgLyohPEZpbHRlciBiaXQgMTQgKi8KKyNkZWZpbmUgIENBTl9GMTJSMl9GQjE1ICAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwODAwMCkgICAgICAgIC8qITxGaWx0ZXIgYml0IDE1ICovCisjZGVmaW5lICBDQU5fRjEyUjJfRkIxNiAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMTAwMDApICAgICAgICAvKiE8RmlsdGVyIGJpdCAxNiAqLworI2RlZmluZSAgQ0FOX0YxMlIyX0ZCMTcgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDIwMDAwKSAgICAgICAgLyohPEZpbHRlciBiaXQgMTcgKi8KKyNkZWZpbmUgIENBTl9GMTJSMl9GQjE4ICAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDA0MDAwMCkgICAgICAgIC8qITxGaWx0ZXIgYml0IDE4ICovCisjZGVmaW5lICBDQU5fRjEyUjJfRkIxOSAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwODAwMDApICAgICAgICAvKiE8RmlsdGVyIGJpdCAxOSAqLworI2RlZmluZSAgQ0FOX0YxMlIyX0ZCMjAgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMTAwMDAwKSAgICAgICAgLyohPEZpbHRlciBiaXQgMjAgKi8KKyNkZWZpbmUgIENBTl9GMTJSMl9GQjIxICAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDIwMDAwMCkgICAgICAgIC8qITxGaWx0ZXIgYml0IDIxICovCisjZGVmaW5lICBDQU5fRjEyUjJfRkIyMiAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDA0MDAwMDApICAgICAgICAvKiE8RmlsdGVyIGJpdCAyMiAqLworI2RlZmluZSAgQ0FOX0YxMlIyX0ZCMjMgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwODAwMDAwKSAgICAgICAgLyohPEZpbHRlciBiaXQgMjMgKi8KKyNkZWZpbmUgIENBTl9GMTJSMl9GQjI0ICAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMTAwMDAwMCkgICAgICAgIC8qITxGaWx0ZXIgYml0IDI0ICovCisjZGVmaW5lICBDQU5fRjEyUjJfRkIyNSAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDIwMDAwMDApICAgICAgICAvKiE8RmlsdGVyIGJpdCAyNSAqLworI2RlZmluZSAgQ0FOX0YxMlIyX0ZCMjYgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDA0MDAwMDAwKSAgICAgICAgLyohPEZpbHRlciBiaXQgMjYgKi8KKyNkZWZpbmUgIENBTl9GMTJSMl9GQjI3ICAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwODAwMDAwMCkgICAgICAgIC8qITxGaWx0ZXIgYml0IDI3ICovCisjZGVmaW5lICBDQU5fRjEyUjJfRkIyOCAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MTAwMDAwMDApICAgICAgICAvKiE8RmlsdGVyIGJpdCAyOCAqLworI2RlZmluZSAgQ0FOX0YxMlIyX0ZCMjkgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDIwMDAwMDAwKSAgICAgICAgLyohPEZpbHRlciBiaXQgMjkgKi8KKyNkZWZpbmUgIENBTl9GMTJSMl9GQjMwICAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHg0MDAwMDAwMCkgICAgICAgIC8qITxGaWx0ZXIgYml0IDMwICovCisjZGVmaW5lICBDQU5fRjEyUjJfRkIzMSAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4ODAwMDAwMDApICAgICAgICAvKiE8RmlsdGVyIGJpdCAzMSAqLworCisvKioqKioqKioqKioqKioqKioqKiAgQml0IGRlZmluaXRpb24gZm9yIENBTl9GMTNSMiByZWdpc3RlciAgKioqKioqKioqKioqKioqKioqLworI2RlZmluZSAgQ0FOX0YxM1IyX0ZCMCAgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwMDAxKSAgICAgICAgLyohPEZpbHRlciBiaXQgMCAqLworI2RlZmluZSAgQ0FOX0YxM1IyX0ZCMSAgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwMDAyKSAgICAgICAgLyohPEZpbHRlciBiaXQgMSAqLworI2RlZmluZSAgQ0FOX0YxM1IyX0ZCMiAgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwMDA0KSAgICAgICAgLyohPEZpbHRlciBiaXQgMiAqLworI2RlZmluZSAgQ0FOX0YxM1IyX0ZCMyAgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwMDA4KSAgICAgICAgLyohPEZpbHRlciBiaXQgMyAqLworI2RlZmluZSAgQ0FOX0YxM1IyX0ZCNCAgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwMDEwKSAgICAgICAgLyohPEZpbHRlciBiaXQgNCAqLworI2RlZmluZSAgQ0FOX0YxM1IyX0ZCNSAgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwMDIwKSAgICAgICAgLyohPEZpbHRlciBiaXQgNSAqLworI2RlZmluZSAgQ0FOX0YxM1IyX0ZCNiAgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwMDQwKSAgICAgICAgLyohPEZpbHRlciBiaXQgNiAqLworI2RlZmluZSAgQ0FOX0YxM1IyX0ZCNyAgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwMDgwKSAgICAgICAgLyohPEZpbHRlciBiaXQgNyAqLworI2RlZmluZSAgQ0FOX0YxM1IyX0ZCOCAgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwMTAwKSAgICAgICAgLyohPEZpbHRlciBiaXQgOCAqLworI2RlZmluZSAgQ0FOX0YxM1IyX0ZCOSAgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwMjAwKSAgICAgICAgLyohPEZpbHRlciBiaXQgOSAqLworI2RlZmluZSAgQ0FOX0YxM1IyX0ZCMTAgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwNDAwKSAgICAgICAgLyohPEZpbHRlciBiaXQgMTAgKi8KKyNkZWZpbmUgIENBTl9GMTNSMl9GQjExICAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMDgwMCkgICAgICAgIC8qITxGaWx0ZXIgYml0IDExICovCisjZGVmaW5lICBDQU5fRjEzUjJfRkIxMiAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDEwMDApICAgICAgICAvKiE8RmlsdGVyIGJpdCAxMiAqLworI2RlZmluZSAgQ0FOX0YxM1IyX0ZCMTMgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAyMDAwKSAgICAgICAgLyohPEZpbHRlciBiaXQgMTMgKi8KKyNkZWZpbmUgIENBTl9GMTNSMl9GQjE0ICAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwNDAwMCkgICAgICAgIC8qITxGaWx0ZXIgYml0IDE0ICovCisjZGVmaW5lICBDQU5fRjEzUjJfRkIxNSAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDgwMDApICAgICAgICAvKiE8RmlsdGVyIGJpdCAxNSAqLworI2RlZmluZSAgQ0FOX0YxM1IyX0ZCMTYgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDEwMDAwKSAgICAgICAgLyohPEZpbHRlciBiaXQgMTYgKi8KKyNkZWZpbmUgIENBTl9GMTNSMl9GQjE3ICAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAyMDAwMCkgICAgICAgIC8qITxGaWx0ZXIgYml0IDE3ICovCisjZGVmaW5lICBDQU5fRjEzUjJfRkIxOCAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwNDAwMDApICAgICAgICAvKiE8RmlsdGVyIGJpdCAxOCAqLworI2RlZmluZSAgQ0FOX0YxM1IyX0ZCMTkgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDgwMDAwKSAgICAgICAgLyohPEZpbHRlciBiaXQgMTkgKi8KKyNkZWZpbmUgIENBTl9GMTNSMl9GQjIwICAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDEwMDAwMCkgICAgICAgIC8qITxGaWx0ZXIgYml0IDIwICovCisjZGVmaW5lICBDQU5fRjEzUjJfRkIyMSAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAyMDAwMDApICAgICAgICAvKiE8RmlsdGVyIGJpdCAyMSAqLworI2RlZmluZSAgQ0FOX0YxM1IyX0ZCMjIgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwNDAwMDAwKSAgICAgICAgLyohPEZpbHRlciBiaXQgMjIgKi8KKyNkZWZpbmUgIENBTl9GMTNSMl9GQjIzICAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDgwMDAwMCkgICAgICAgIC8qITxGaWx0ZXIgYml0IDIzICovCisjZGVmaW5lICBDQU5fRjEzUjJfRkIyNCAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDEwMDAwMDApICAgICAgICAvKiE8RmlsdGVyIGJpdCAyNCAqLworI2RlZmluZSAgQ0FOX0YxM1IyX0ZCMjUgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAyMDAwMDAwKSAgICAgICAgLyohPEZpbHRlciBiaXQgMjUgKi8KKyNkZWZpbmUgIENBTl9GMTNSMl9GQjI2ICAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwNDAwMDAwMCkgICAgICAgIC8qITxGaWx0ZXIgYml0IDI2ICovCisjZGVmaW5lICBDQU5fRjEzUjJfRkIyNyAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDgwMDAwMDApICAgICAgICAvKiE8RmlsdGVyIGJpdCAyNyAqLworI2RlZmluZSAgQ0FOX0YxM1IyX0ZCMjggICAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDEwMDAwMDAwKSAgICAgICAgLyohPEZpbHRlciBiaXQgMjggKi8KKyNkZWZpbmUgIENBTl9GMTNSMl9GQjI5ICAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgyMDAwMDAwMCkgICAgICAgIC8qITxGaWx0ZXIgYml0IDI5ICovCisjZGVmaW5lICBDQU5fRjEzUjJfRkIzMCAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4NDAwMDAwMDApICAgICAgICAvKiE8RmlsdGVyIGJpdCAzMCAqLworI2RlZmluZSAgQ0FOX0YxM1IyX0ZCMzEgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDgwMDAwMDAwKSAgICAgICAgLyohPEZpbHRlciBiaXQgMzEgKi8KKworLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KKy8qICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICovCisvKiAgICAgICAgICAgICAgICAgICAgICAgICAgQ1JDIGNhbGN1bGF0aW9uIHVuaXQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqLworLyogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKi8KKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCisvKioqKioqKioqKioqKioqKioqKiAgQml0IGRlZmluaXRpb24gZm9yIENSQ19EUiByZWdpc3RlciAgKioqKioqKioqKioqKioqKioqKioqLworI2RlZmluZSAgQ1JDX0RSX0RSICAgICAgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweEZGRkZGRkZGKSAvKiE8IERhdGEgcmVnaXN0ZXIgYml0cyAqLworCisKKy8qKioqKioqKioqKioqKioqKioqICBCaXQgZGVmaW5pdGlvbiBmb3IgQ1JDX0lEUiByZWdpc3RlciAgKioqKioqKioqKioqKioqKioqKiovCisjZGVmaW5lICBDUkNfSURSX0lEUiAgICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQ4X3QpMHhGRikgICAgICAgIC8qITwgR2VuZXJhbC1wdXJwb3NlIDgtYml0IGRhdGEgcmVnaXN0ZXIgYml0cyAqLworCisKKy8qKioqKioqKioqKioqKioqKioqKiAgQml0IGRlZmluaXRpb24gZm9yIENSQ19DUiByZWdpc3RlciAgKioqKioqKioqKioqKioqKioqKiovCisjZGVmaW5lICBDUkNfQ1JfUkVTRVQgICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQ4X3QpMHgwMSkgICAgICAgIC8qITwgUkVTRVQgYml0ICovCisKKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCisvKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqLworLyogICAgICAgICAgICAgICAgICAgICAgICAgICAgQ3J5cHRvIFByb2Nlc3NvciAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKi8KKy8qICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICovCisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLworLyoqKioqKioqKioqKioqKioqKiogQml0cyBkZWZpbml0aW9uIGZvciBDUllQX0NSIHJlZ2lzdGVyICAqKioqKioqKioqKioqKioqKioqKi8KKyNkZWZpbmUgQ1JZUF9DUl9BTEdPRElSICAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMDAwNCkKKworI2RlZmluZSBDUllQX0NSX0FMR09NT0RFICAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwMDM4KQorI2RlZmluZSBDUllQX0NSX0FMR09NT0RFXzAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwMDA4KQorI2RlZmluZSBDUllQX0NSX0FMR09NT0RFXzEgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwMDEwKQorI2RlZmluZSBDUllQX0NSX0FMR09NT0RFXzIgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwMDIwKQorI2RlZmluZSBDUllQX0NSX0FMR09NT0RFX1RERVNfRUNCICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwMDAwKQorI2RlZmluZSBDUllQX0NSX0FMR09NT0RFX1RERVNfQ0JDICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwMDA4KQorI2RlZmluZSBDUllQX0NSX0FMR09NT0RFX0RFU19FQ0IgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwMDEwKQorI2RlZmluZSBDUllQX0NSX0FMR09NT0RFX0RFU19DQkMgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwMDE4KQorI2RlZmluZSBDUllQX0NSX0FMR09NT0RFX0FFU19FQ0IgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwMDIwKQorI2RlZmluZSBDUllQX0NSX0FMR09NT0RFX0FFU19DQkMgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwMDI4KQorI2RlZmluZSBDUllQX0NSX0FMR09NT0RFX0FFU19DVFIgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwMDMwKQorI2RlZmluZSBDUllQX0NSX0FMR09NT0RFX0FFU19LRVkgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwMDM4KQorCisjZGVmaW5lIENSWVBfQ1JfREFUQVRZUEUgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDAwQzApCisjZGVmaW5lIENSWVBfQ1JfREFUQVRZUEVfMCAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDAwNDApCisjZGVmaW5lIENSWVBfQ1JfREFUQVRZUEVfMSAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDAwODApCisjZGVmaW5lIENSWVBfQ1JfS0VZU0laRSAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDAzMDApCisjZGVmaW5lIENSWVBfQ1JfS0VZU0laRV8wICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDAxMDApCisjZGVmaW5lIENSWVBfQ1JfS0VZU0laRV8xICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDAyMDApCisjZGVmaW5lIENSWVBfQ1JfRkZMVVNIICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDQwMDApCisjZGVmaW5lIENSWVBfQ1JfQ1JZUEVOICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDgwMDApCisvKioqKioqKioqKioqKioqKioqIEJpdHMgZGVmaW5pdGlvbiBmb3IgQ1JZUF9TUiByZWdpc3RlciAgKioqKioqKioqKioqKioqKioqKioqLworI2RlZmluZSBDUllQX1NSX0lGRU0gICAgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwMDAxKQorI2RlZmluZSBDUllQX1NSX0lGTkYgICAgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwMDAyKQorI2RlZmluZSBDUllQX1NSX09GTkUgICAgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwMDA0KQorI2RlZmluZSBDUllQX1NSX09GRlUgICAgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwMDA4KQorI2RlZmluZSBDUllQX1NSX0JVU1kgICAgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwMDEwKQorLyoqKioqKioqKioqKioqKioqKiBCaXRzIGRlZmluaXRpb24gZm9yIENSWVBfRE1BQ1IgcmVnaXN0ZXIgICoqKioqKioqKioqKioqKioqKi8KKyNkZWZpbmUgQ1JZUF9ETUFDUl9ESUVOICAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMDAwMSkKKyNkZWZpbmUgQ1JZUF9ETUFDUl9ET0VOICAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMDAwMikKKy8qKioqKioqKioqKioqKioqKiAgQml0cyBkZWZpbml0aW9uIGZvciBDUllQX0lNU0NSIHJlZ2lzdGVyICAqKioqKioqKioqKioqKioqKiovCisjZGVmaW5lIENSWVBfSU1TQ1JfSU5JTSAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDAwMDEpCisjZGVmaW5lIENSWVBfSU1TQ1JfT1VUSU0gICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDAwMDIpCisvKioqKioqKioqKioqKioqKioqIEJpdHMgZGVmaW5pdGlvbiBmb3IgQ1JZUF9SSVNSIHJlZ2lzdGVyICAqKioqKioqKioqKioqKioqKioqLworI2RlZmluZSBDUllQX1JJU1JfT1VUUklTICAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwMDAxKQorI2RlZmluZSBDUllQX1JJU1JfSU5SSVMgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwMDAyKQorLyoqKioqKioqKioqKioqKioqKiBCaXRzIGRlZmluaXRpb24gZm9yIENSWVBfTUlTUiByZWdpc3RlciAgKioqKioqKioqKioqKioqKioqKi8KKyNkZWZpbmUgQ1JZUF9NSVNSX0lOTUlTICAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMDAwMSkKKyNkZWZpbmUgQ1JZUF9NSVNSX09VVE1JUyAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMDAwMikKKworLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KKy8qICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICovCisvKiAgICAgICAgICAgICAgICAgICAgICBEaWdpdGFsIHRvIEFuYWxvZyBDb252ZXJ0ZXIgICAgICAgICAgICAgICAgICAgICAgICAgICAqLworLyogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKi8KKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCisvKioqKioqKioqKioqKioqKioqKiogIEJpdCBkZWZpbml0aW9uIGZvciBEQUNfQ1IgcmVnaXN0ZXIgICoqKioqKioqKioqKioqKioqKioqLworI2RlZmluZSAgREFDX0NSX0VOMSAgICAgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwMDAxKSAgICAgICAgLyohPERBQyBjaGFubmVsMSBlbmFibGUgKi8KKyNkZWZpbmUgIERBQ19DUl9CT0ZGMSAgICAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMDAwMikgICAgICAgIC8qITxEQUMgY2hhbm5lbDEgb3V0cHV0IGJ1ZmZlciBkaXNhYmxlICovCisjZGVmaW5lICBEQUNfQ1JfVEVOMSAgICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDAwMDQpICAgICAgICAvKiE8REFDIGNoYW5uZWwxIFRyaWdnZXIgZW5hYmxlICovCisKKyNkZWZpbmUgIERBQ19DUl9UU0VMMSAgICAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMDAzOCkgICAgICAgIC8qITxUU0VMMVsyOjBdIChEQUMgY2hhbm5lbDEgVHJpZ2dlciBzZWxlY3Rpb24pICovCisjZGVmaW5lICBEQUNfQ1JfVFNFTDFfMCAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDAwMDgpICAgICAgICAvKiE8Qml0IDAgKi8KKyNkZWZpbmUgIERBQ19DUl9UU0VMMV8xICAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMDAxMCkgICAgICAgIC8qITxCaXQgMSAqLworI2RlZmluZSAgREFDX0NSX1RTRUwxXzIgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwMDIwKSAgICAgICAgLyohPEJpdCAyICovCisKKyNkZWZpbmUgIERBQ19DUl9XQVZFMSAgICAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMDBDMCkgICAgICAgIC8qITxXQVZFMVsxOjBdIChEQUMgY2hhbm5lbDEgbm9pc2UvdHJpYW5nbGUgd2F2ZSBnZW5lcmF0aW9uIGVuYWJsZSkgKi8KKyNkZWZpbmUgIERBQ19DUl9XQVZFMV8wICAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMDA0MCkgICAgICAgIC8qITxCaXQgMCAqLworI2RlZmluZSAgREFDX0NSX1dBVkUxXzEgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwMDgwKSAgICAgICAgLyohPEJpdCAxICovCisKKyNkZWZpbmUgIERBQ19DUl9NQU1QMSAgICAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMEYwMCkgICAgICAgIC8qITxNQU1QMVszOjBdIChEQUMgY2hhbm5lbDEgTWFzay9BbXBsaXR1ZGUgc2VsZWN0b3IpICovCisjZGVmaW5lICBEQUNfQ1JfTUFNUDFfMCAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDAxMDApICAgICAgICAvKiE8Qml0IDAgKi8KKyNkZWZpbmUgIERBQ19DUl9NQU1QMV8xICAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMDIwMCkgICAgICAgIC8qITxCaXQgMSAqLworI2RlZmluZSAgREFDX0NSX01BTVAxXzIgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwNDAwKSAgICAgICAgLyohPEJpdCAyICovCisjZGVmaW5lICBEQUNfQ1JfTUFNUDFfMyAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDA4MDApICAgICAgICAvKiE8Qml0IDMgKi8KKworI2RlZmluZSAgREFDX0NSX0RNQUVOMSAgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAxMDAwKSAgICAgICAgLyohPERBQyBjaGFubmVsMSBETUEgZW5hYmxlICovCisjZGVmaW5lICBEQUNfQ1JfRU4yICAgICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMTAwMDApICAgICAgICAvKiE8REFDIGNoYW5uZWwyIGVuYWJsZSAqLworI2RlZmluZSAgREFDX0NSX0JPRkYyICAgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDIwMDAwKSAgICAgICAgLyohPERBQyBjaGFubmVsMiBvdXRwdXQgYnVmZmVyIGRpc2FibGUgKi8KKyNkZWZpbmUgIERBQ19DUl9URU4yICAgICAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDA0MDAwMCkgICAgICAgIC8qITxEQUMgY2hhbm5lbDIgVHJpZ2dlciBlbmFibGUgKi8KKworI2RlZmluZSAgREFDX0NSX1RTRUwyICAgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMzgwMDAwKSAgICAgICAgLyohPFRTRUwyWzI6MF0gKERBQyBjaGFubmVsMiBUcmlnZ2VyIHNlbGVjdGlvbikgKi8KKyNkZWZpbmUgIERBQ19DUl9UU0VMMl8wICAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDA4MDAwMCkgICAgICAgIC8qITxCaXQgMCAqLworI2RlZmluZSAgREFDX0NSX1RTRUwyXzEgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMTAwMDAwKSAgICAgICAgLyohPEJpdCAxICovCisjZGVmaW5lICBEQUNfQ1JfVFNFTDJfMiAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAyMDAwMDApICAgICAgICAvKiE8Qml0IDIgKi8KKworI2RlZmluZSAgREFDX0NSX1dBVkUyICAgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwQzAwMDAwKSAgICAgICAgLyohPFdBVkUyWzE6MF0gKERBQyBjaGFubmVsMiBub2lzZS90cmlhbmdsZSB3YXZlIGdlbmVyYXRpb24gZW5hYmxlKSAqLworI2RlZmluZSAgREFDX0NSX1dBVkUyXzAgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwNDAwMDAwKSAgICAgICAgLyohPEJpdCAwICovCisjZGVmaW5lICBEQUNfQ1JfV0FWRTJfMSAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDA4MDAwMDApICAgICAgICAvKiE8Qml0IDEgKi8KKworI2RlZmluZSAgREFDX0NSX01BTVAyICAgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDBGMDAwMDAwKSAgICAgICAgLyohPE1BTVAyWzM6MF0gKERBQyBjaGFubmVsMiBNYXNrL0FtcGxpdHVkZSBzZWxlY3RvcikgKi8KKyNkZWZpbmUgIERBQ19DUl9NQU1QMl8wICAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMTAwMDAwMCkgICAgICAgIC8qITxCaXQgMCAqLworI2RlZmluZSAgREFDX0NSX01BTVAyXzEgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAyMDAwMDAwKSAgICAgICAgLyohPEJpdCAxICovCisjZGVmaW5lICBEQUNfQ1JfTUFNUDJfMiAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDQwMDAwMDApICAgICAgICAvKiE8Qml0IDIgKi8KKyNkZWZpbmUgIERBQ19DUl9NQU1QMl8zICAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwODAwMDAwMCkgICAgICAgIC8qITxCaXQgMyAqLworCisjZGVmaW5lICBEQUNfQ1JfRE1BRU4yICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MTAwMDAwMDApICAgICAgICAvKiE8REFDIGNoYW5uZWwyIERNQSBlbmFibGVkICovCisKKy8qKioqKioqKioqKioqKioqKiAgQml0IGRlZmluaXRpb24gZm9yIERBQ19TV1RSSUdSIHJlZ2lzdGVyICAqKioqKioqKioqKioqKioqKiovCisjZGVmaW5lICBEQUNfU1dUUklHUl9TV1RSSUcxICAgICAgICAgICAgICAgICAoKHVpbnQ4X3QpMHgwMSkgICAgICAgICAgICAgICAvKiE8REFDIGNoYW5uZWwxIHNvZnR3YXJlIHRyaWdnZXIgKi8KKyNkZWZpbmUgIERBQ19TV1RSSUdSX1NXVFJJRzIgICAgICAgICAgICAgICAgICgodWludDhfdCkweDAyKSAgICAgICAgICAgICAgIC8qITxEQUMgY2hhbm5lbDIgc29mdHdhcmUgdHJpZ2dlciAqLworCisvKioqKioqKioqKioqKioqKiogIEJpdCBkZWZpbml0aW9uIGZvciBEQUNfREhSMTJSMSByZWdpc3RlciAgKioqKioqKioqKioqKioqKioqLworI2RlZmluZSAgREFDX0RIUjEyUjFfREFDQzFESFIgICAgICAgICAgICAgICAgKCh1aW50MTZfdCkweDBGRkYpICAgICAgICAgICAgLyohPERBQyBjaGFubmVsMSAxMi1iaXQgUmlnaHQgYWxpZ25lZCBkYXRhICovCisKKy8qKioqKioqKioqKioqKioqKiAgQml0IGRlZmluaXRpb24gZm9yIERBQ19ESFIxMkwxIHJlZ2lzdGVyICAqKioqKioqKioqKioqKioqKiovCisjZGVmaW5lICBEQUNfREhSMTJMMV9EQUNDMURIUiAgICAgICAgICAgICAgICAoKHVpbnQxNl90KTB4RkZGMCkgICAgICAgICAgICAvKiE8REFDIGNoYW5uZWwxIDEyLWJpdCBMZWZ0IGFsaWduZWQgZGF0YSAqLworCisvKioqKioqKioqKioqKioqKioqICBCaXQgZGVmaW5pdGlvbiBmb3IgREFDX0RIUjhSMSByZWdpc3RlciAgKioqKioqKioqKioqKioqKioqLworI2RlZmluZSAgREFDX0RIUjhSMV9EQUNDMURIUiAgICAgICAgICAgICAgICAgKCh1aW50OF90KTB4RkYpICAgICAgICAgICAgICAgLyohPERBQyBjaGFubmVsMSA4LWJpdCBSaWdodCBhbGlnbmVkIGRhdGEgKi8KKworLyoqKioqKioqKioqKioqKioqICBCaXQgZGVmaW5pdGlvbiBmb3IgREFDX0RIUjEyUjIgcmVnaXN0ZXIgICoqKioqKioqKioqKioqKioqKi8KKyNkZWZpbmUgIERBQ19ESFIxMlIyX0RBQ0MyREhSICAgICAgICAgICAgICAgICgodWludDE2X3QpMHgwRkZGKSAgICAgICAgICAgIC8qITxEQUMgY2hhbm5lbDIgMTItYml0IFJpZ2h0IGFsaWduZWQgZGF0YSAqLworCisvKioqKioqKioqKioqKioqKiogIEJpdCBkZWZpbml0aW9uIGZvciBEQUNfREhSMTJMMiByZWdpc3RlciAgKioqKioqKioqKioqKioqKioqLworI2RlZmluZSAgREFDX0RIUjEyTDJfREFDQzJESFIgICAgICAgICAgICAgICAgKCh1aW50MTZfdCkweEZGRjApICAgICAgICAgICAgLyohPERBQyBjaGFubmVsMiAxMi1iaXQgTGVmdCBhbGlnbmVkIGRhdGEgKi8KKworLyoqKioqKioqKioqKioqKioqKiAgQml0IGRlZmluaXRpb24gZm9yIERBQ19ESFI4UjIgcmVnaXN0ZXIgICoqKioqKioqKioqKioqKioqKi8KKyNkZWZpbmUgIERBQ19ESFI4UjJfREFDQzJESFIgICAgICAgICAgICAgICAgICgodWludDhfdCkweEZGKSAgICAgICAgICAgICAgIC8qITxEQUMgY2hhbm5lbDIgOC1iaXQgUmlnaHQgYWxpZ25lZCBkYXRhICovCisKKy8qKioqKioqKioqKioqKioqKiAgQml0IGRlZmluaXRpb24gZm9yIERBQ19ESFIxMlJEIHJlZ2lzdGVyICAqKioqKioqKioqKioqKioqKiovCisjZGVmaW5lICBEQUNfREhSMTJSRF9EQUNDMURIUiAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDBGRkYpICAgICAgICAvKiE8REFDIGNoYW5uZWwxIDEyLWJpdCBSaWdodCBhbGlnbmVkIGRhdGEgKi8KKyNkZWZpbmUgIERBQ19ESFIxMlJEX0RBQ0MyREhSICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwRkZGMDAwMCkgICAgICAgIC8qITxEQUMgY2hhbm5lbDIgMTItYml0IFJpZ2h0IGFsaWduZWQgZGF0YSAqLworCisvKioqKioqKioqKioqKioqKiogIEJpdCBkZWZpbml0aW9uIGZvciBEQUNfREhSMTJMRCByZWdpc3RlciAgKioqKioqKioqKioqKioqKioqLworI2RlZmluZSAgREFDX0RIUjEyTERfREFDQzFESFIgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDBGRkYwKSAgICAgICAgLyohPERBQyBjaGFubmVsMSAxMi1iaXQgTGVmdCBhbGlnbmVkIGRhdGEgKi8KKyNkZWZpbmUgIERBQ19ESFIxMkxEX0RBQ0MyREhSICAgICAgICAgICAgICAgICgodWludDMyX3QpMHhGRkYwMDAwMCkgICAgICAgIC8qITxEQUMgY2hhbm5lbDIgMTItYml0IExlZnQgYWxpZ25lZCBkYXRhICovCisKKy8qKioqKioqKioqKioqKioqKiogIEJpdCBkZWZpbml0aW9uIGZvciBEQUNfREhSOFJEIHJlZ2lzdGVyICAqKioqKioqKioqKioqKioqKiovCisjZGVmaW5lICBEQUNfREhSOFJEX0RBQ0MxREhSICAgICAgICAgICAgICAgICAoKHVpbnQxNl90KTB4MDBGRikgICAgICAgICAgICAvKiE8REFDIGNoYW5uZWwxIDgtYml0IFJpZ2h0IGFsaWduZWQgZGF0YSAqLworI2RlZmluZSAgREFDX0RIUjhSRF9EQUNDMkRIUiAgICAgICAgICAgICAgICAgKCh1aW50MTZfdCkweEZGMDApICAgICAgICAgICAgLyohPERBQyBjaGFubmVsMiA4LWJpdCBSaWdodCBhbGlnbmVkIGRhdGEgKi8KKworLyoqKioqKioqKioqKioqKioqKiogIEJpdCBkZWZpbml0aW9uIGZvciBEQUNfRE9SMSByZWdpc3RlciAgKioqKioqKioqKioqKioqKioqKi8KKyNkZWZpbmUgIERBQ19ET1IxX0RBQ0MxRE9SICAgICAgICAgICAgICAgICAgICgodWludDE2X3QpMHgwRkZGKSAgICAgICAgICAgIC8qITxEQUMgY2hhbm5lbDEgZGF0YSBvdXRwdXQgKi8KKworLyoqKioqKioqKioqKioqKioqKiogIEJpdCBkZWZpbml0aW9uIGZvciBEQUNfRE9SMiByZWdpc3RlciAgKioqKioqKioqKioqKioqKioqKi8KKyNkZWZpbmUgIERBQ19ET1IyX0RBQ0MyRE9SICAgICAgICAgICAgICAgICAgICgodWludDE2X3QpMHgwRkZGKSAgICAgICAgICAgIC8qITxEQUMgY2hhbm5lbDIgZGF0YSBvdXRwdXQgKi8KKworLyoqKioqKioqKioqKioqKioqKioqICBCaXQgZGVmaW5pdGlvbiBmb3IgREFDX1NSIHJlZ2lzdGVyICAqKioqKioqKioqKioqKioqKioqKi8KKyNkZWZpbmUgIERBQ19TUl9ETUFVRFIxICAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMjAwMCkgICAgICAgIC8qITxEQUMgY2hhbm5lbDEgRE1BIHVuZGVycnVuIGZsYWcgKi8KKyNkZWZpbmUgIERBQ19TUl9ETUFVRFIyICAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgyMDAwMDAwMCkgICAgICAgIC8qITxEQUMgY2hhbm5lbDIgRE1BIHVuZGVycnVuIGZsYWcgKi8KKworLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KKy8qICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICovCisvKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIERlYnVnIE1DVSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqLworLyogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKi8KKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCisKKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCisvKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqLworLyogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBEQ01JICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKi8KKy8qICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICovCisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLworLyoqKioqKioqKioqKioqKioqKioqICBCaXRzIGRlZmluaXRpb24gZm9yIERDTUlfQ1IgcmVnaXN0ZXIgICoqKioqKioqKioqKioqKioqKi8KKyNkZWZpbmUgRENNSV9DUl9DQVBUVVJFICAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMDAwMSkKKyNkZWZpbmUgRENNSV9DUl9DTSAgICAgICAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMDAwMikKKyNkZWZpbmUgRENNSV9DUl9DUk9QICAgICAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMDAwNCkKKyNkZWZpbmUgRENNSV9DUl9KUEVHICAgICAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMDAwOCkKKyNkZWZpbmUgRENNSV9DUl9FU1MgICAgICAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMDAxMCkKKyNkZWZpbmUgRENNSV9DUl9QQ0tQT0wgICAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMDAyMCkKKyNkZWZpbmUgRENNSV9DUl9IU1BPTCAgICAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMDA0MCkKKyNkZWZpbmUgRENNSV9DUl9WU1BPTCAgICAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMDA4MCkKKyNkZWZpbmUgRENNSV9DUl9GQ1JDXzAgICAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMDEwMCkKKyNkZWZpbmUgRENNSV9DUl9GQ1JDXzEgICAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMDIwMCkKKyNkZWZpbmUgRENNSV9DUl9FRE1fMCAgICAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMDQwMCkKKyNkZWZpbmUgRENNSV9DUl9FRE1fMSAgICAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMDgwMCkKKyNkZWZpbmUgRENNSV9DUl9DUkUgICAgICAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMTAwMCkKKyNkZWZpbmUgRENNSV9DUl9FTkFCTEUgICAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwNDAwMCkKKworLyoqKioqKioqKioqKioqKioqKioqICBCaXRzIGRlZmluaXRpb24gZm9yIERDTUlfU1IgcmVnaXN0ZXIgICoqKioqKioqKioqKioqKioqKi8KKyNkZWZpbmUgRENNSV9TUl9IU1lOQyAgICAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMDAwMSkKKyNkZWZpbmUgRENNSV9TUl9WU1lOQyAgICAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMDAwMikKKyNkZWZpbmUgRENNSV9TUl9GTkUgICAgICAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMDAwNCkKKworLyoqKioqKioqKioqKioqKioqKioqICBCaXRzIGRlZmluaXRpb24gZm9yIERDTUlfUklTUiByZWdpc3RlciAgKioqKioqKioqKioqKioqKi8KKyNkZWZpbmUgRENNSV9SSVNSX0ZSQU1FX1JJUyAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMDAwMSkKKyNkZWZpbmUgRENNSV9SSVNSX09WRl9SSVMgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMDAwMikKKyNkZWZpbmUgRENNSV9SSVNSX0VSUl9SSVMgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMDAwNCkKKyNkZWZpbmUgRENNSV9SSVNSX1ZTWU5DX1JJUyAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMDAwOCkKKyNkZWZpbmUgRENNSV9SSVNSX0xJTkVfUklTICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMDAxMCkKKworLyoqKioqKioqKioqKioqKioqKioqICBCaXRzIGRlZmluaXRpb24gZm9yIERDTUlfSUVSIHJlZ2lzdGVyICAqKioqKioqKioqKioqKioqKi8KKyNkZWZpbmUgRENNSV9JRVJfRlJBTUVfSUUgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMDAwMSkKKyNkZWZpbmUgRENNSV9JRVJfT1ZGX0lFICAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMDAwMikKKyNkZWZpbmUgRENNSV9JRVJfRVJSX0lFICAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMDAwNCkKKyNkZWZpbmUgRENNSV9JRVJfVlNZTkNfSUUgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMDAwOCkKKyNkZWZpbmUgRENNSV9JRVJfTElORV9JRSAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMDAxMCkKKworLyoqKioqKioqKioqKioqKioqKioqICBCaXRzIGRlZmluaXRpb24gZm9yIERDTUlfTUlTUiByZWdpc3RlciAgKioqKioqKioqKioqKioqKi8KKyNkZWZpbmUgRENNSV9NSVNSX0ZSQU1FX01JUyAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMDAwMSkKKyNkZWZpbmUgRENNSV9NSVNSX09WRl9NSVMgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMDAwMikKKyNkZWZpbmUgRENNSV9NSVNSX0VSUl9NSVMgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMDAwNCkKKyNkZWZpbmUgRENNSV9NSVNSX1ZTWU5DX01JUyAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMDAwOCkKKyNkZWZpbmUgRENNSV9NSVNSX0xJTkVfTUlTICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMDAxMCkKKworLyoqKioqKioqKioqKioqKioqKioqICBCaXRzIGRlZmluaXRpb24gZm9yIERDTUlfSUNSIHJlZ2lzdGVyICAqKioqKioqKioqKioqKioqKi8KKyNkZWZpbmUgRENNSV9JQ1JfRlJBTUVfSVNDICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMDAwMSkKKyNkZWZpbmUgRENNSV9JQ1JfT1ZGX0lTQyAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMDAwMikKKyNkZWZpbmUgRENNSV9JQ1JfRVJSX0lTQyAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMDAwNCkKKyNkZWZpbmUgRENNSV9JQ1JfVlNZTkNfSVNDICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMDAwOCkKKyNkZWZpbmUgRENNSV9JQ1JfTElORV9JU0MgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMDAxMCkKKworLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KKy8qICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICovCisvKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgRE1BIENvbnRyb2xsZXIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqLworLyogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKi8KKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCisvKioqKioqKioqKioqKioqKioqKiogIEJpdHMgZGVmaW5pdGlvbiBmb3IgRE1BX1N4Q1IgcmVnaXN0ZXIgICoqKioqKioqKioqKioqKioqLyAKKyNkZWZpbmUgRE1BX1N4Q1JfQ0hTRUwgICAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwRTAwMDAwMCkKKyNkZWZpbmUgRE1BX1N4Q1JfQ0hTRUxfMCAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMjAwMDAwMCkKKyNkZWZpbmUgRE1BX1N4Q1JfQ0hTRUxfMSAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwNDAwMDAwMCkKKyNkZWZpbmUgRE1BX1N4Q1JfQ0hTRUxfMiAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwODAwMDAwMCkgCisjZGVmaW5lIERNQV9TeENSX01CVVJTVCAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDE4MDAwMDApCisjZGVmaW5lIERNQV9TeENSX01CVVJTVF8wICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDA4MDAwMDApCisjZGVmaW5lIERNQV9TeENSX01CVVJTVF8xICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDEwMDAwMDApCisjZGVmaW5lIERNQV9TeENSX1BCVVJTVCAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDA2MDAwMDApCisjZGVmaW5lIERNQV9TeENSX1BCVVJTVF8wICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAyMDAwMDApCisjZGVmaW5lIERNQV9TeENSX1BCVVJTVF8xICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDA0MDAwMDApCisjZGVmaW5lIERNQV9TeENSX0FDSyAgICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAxMDAwMDApCisjZGVmaW5lIERNQV9TeENSX0NUICAgICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwODAwMDApICAKKyNkZWZpbmUgRE1BX1N4Q1JfREJNICAgICAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDA0MDAwMCkKKyNkZWZpbmUgRE1BX1N4Q1JfUEwgICAgICAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAzMDAwMCkKKyNkZWZpbmUgRE1BX1N4Q1JfUExfMCAgICAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAxMDAwMCkKKyNkZWZpbmUgRE1BX1N4Q1JfUExfMSAgICAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAyMDAwMCkKKyNkZWZpbmUgRE1BX1N4Q1JfUElOQ09TICAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwODAwMCkKKyNkZWZpbmUgRE1BX1N4Q1JfTVNJWkUgICAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwNjAwMCkKKyNkZWZpbmUgRE1BX1N4Q1JfTVNJWkVfMCAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMjAwMCkKKyNkZWZpbmUgRE1BX1N4Q1JfTVNJWkVfMSAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwNDAwMCkKKyNkZWZpbmUgRE1BX1N4Q1JfUFNJWkUgICAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMTgwMCkKKyNkZWZpbmUgRE1BX1N4Q1JfUFNJWkVfMCAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMDgwMCkKKyNkZWZpbmUgRE1BX1N4Q1JfUFNJWkVfMSAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMTAwMCkKKyNkZWZpbmUgRE1BX1N4Q1JfTUlOQyAgICAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMDQwMCkKKyNkZWZpbmUgRE1BX1N4Q1JfUElOQyAgICAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMDIwMCkKKyNkZWZpbmUgRE1BX1N4Q1JfQ0lSQyAgICAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMDEwMCkKKyNkZWZpbmUgRE1BX1N4Q1JfRElSICAgICAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMDBDMCkKKyNkZWZpbmUgRE1BX1N4Q1JfRElSXzAgICAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMDA0MCkKKyNkZWZpbmUgRE1BX1N4Q1JfRElSXzEgICAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMDA4MCkKKyNkZWZpbmUgRE1BX1N4Q1JfUEZDVFJMICAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMDAyMCkKKyNkZWZpbmUgRE1BX1N4Q1JfVENJRSAgICAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMDAxMCkKKyNkZWZpbmUgRE1BX1N4Q1JfSFRJRSAgICAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMDAwOCkKKyNkZWZpbmUgRE1BX1N4Q1JfVEVJRSAgICAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMDAwNCkKKyNkZWZpbmUgRE1BX1N4Q1JfRE1FSUUgICAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMDAwMikKKyNkZWZpbmUgRE1BX1N4Q1JfRU4gICAgICAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMDAwMSkKKworLyoqKioqKioqKioqKioqKioqKioqICBCaXRzIGRlZmluaXRpb24gZm9yIERNQV9TeENORFRSIHJlZ2lzdGVyICAqKioqKioqKioqKioqKi8KKyNkZWZpbmUgRE1BX1N4TkRUICAgICAgICAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwRkZGRikKKyNkZWZpbmUgRE1BX1N4TkRUXzAgICAgICAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMDAwMSkKKyNkZWZpbmUgRE1BX1N4TkRUXzEgICAgICAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMDAwMikKKyNkZWZpbmUgRE1BX1N4TkRUXzIgICAgICAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMDAwNCkKKyNkZWZpbmUgRE1BX1N4TkRUXzMgICAgICAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMDAwOCkKKyNkZWZpbmUgRE1BX1N4TkRUXzQgICAgICAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMDAxMCkKKyNkZWZpbmUgRE1BX1N4TkRUXzUgICAgICAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMDAyMCkKKyNkZWZpbmUgRE1BX1N4TkRUXzYgICAgICAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMDA0MCkKKyNkZWZpbmUgRE1BX1N4TkRUXzcgICAgICAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMDA4MCkKKyNkZWZpbmUgRE1BX1N4TkRUXzggICAgICAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMDEwMCkKKyNkZWZpbmUgRE1BX1N4TkRUXzkgICAgICAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMDIwMCkKKyNkZWZpbmUgRE1BX1N4TkRUXzEwICAgICAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMDQwMCkKKyNkZWZpbmUgRE1BX1N4TkRUXzExICAgICAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMDgwMCkKKyNkZWZpbmUgRE1BX1N4TkRUXzEyICAgICAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMTAwMCkKKyNkZWZpbmUgRE1BX1N4TkRUXzEzICAgICAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMjAwMCkKKyNkZWZpbmUgRE1BX1N4TkRUXzE0ICAgICAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwNDAwMCkKKyNkZWZpbmUgRE1BX1N4TkRUXzE1ICAgICAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwODAwMCkKKworLyoqKioqKioqKioqKioqKioqKioqICBCaXRzIGRlZmluaXRpb24gZm9yIERNQV9TeEZDUiByZWdpc3RlciAgKioqKioqKioqKioqKioqKi8gCisjZGVmaW5lIERNQV9TeEZDUl9GRUlFICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDAwODApCisjZGVmaW5lIERNQV9TeEZDUl9GUyAgICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDAwMzgpCisjZGVmaW5lIERNQV9TeEZDUl9GU18wICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDAwMDgpCisjZGVmaW5lIERNQV9TeEZDUl9GU18xICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDAwMTApCisjZGVmaW5lIERNQV9TeEZDUl9GU18yICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDAwMjApCisjZGVmaW5lIERNQV9TeEZDUl9ETURJUyAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDAwMDQpCisjZGVmaW5lIERNQV9TeEZDUl9GVEggICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDAwMDMpCisjZGVmaW5lIERNQV9TeEZDUl9GVEhfMCAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDAwMDEpCisjZGVmaW5lIERNQV9TeEZDUl9GVEhfMSAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDAwMDIpCisKKy8qKioqKioqKioqKioqKioqKioqKiAgQml0cyBkZWZpbml0aW9uIGZvciBETUFfTElTUiByZWdpc3RlciAgKioqKioqKioqKioqKioqKiovIAorI2RlZmluZSBETUFfTElTUl9UQ0lGMyAgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDA4MDAwMDAwKQorI2RlZmluZSBETUFfTElTUl9IVElGMyAgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDA0MDAwMDAwKQorI2RlZmluZSBETUFfTElTUl9URUlGMyAgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAyMDAwMDAwKQorI2RlZmluZSBETUFfTElTUl9ETUVJRjMgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAxMDAwMDAwKQorI2RlZmluZSBETUFfTElTUl9GRUlGMyAgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwNDAwMDAwKQorI2RlZmluZSBETUFfTElTUl9UQ0lGMiAgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMjAwMDAwKQorI2RlZmluZSBETUFfTElTUl9IVElGMiAgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMTAwMDAwKQorI2RlZmluZSBETUFfTElTUl9URUlGMiAgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDgwMDAwKQorI2RlZmluZSBETUFfTElTUl9ETUVJRjIgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDQwMDAwKQorI2RlZmluZSBETUFfTElTUl9GRUlGMiAgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDEwMDAwKQorI2RlZmluZSBETUFfTElTUl9UQ0lGMSAgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwODAwKQorI2RlZmluZSBETUFfTElTUl9IVElGMSAgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwNDAwKQorI2RlZmluZSBETUFfTElTUl9URUlGMSAgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwMjAwKQorI2RlZmluZSBETUFfTElTUl9ETUVJRjEgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwMTAwKQorI2RlZmluZSBETUFfTElTUl9GRUlGMSAgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwMDQwKQorI2RlZmluZSBETUFfTElTUl9UQ0lGMCAgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwMDIwKQorI2RlZmluZSBETUFfTElTUl9IVElGMCAgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwMDEwKQorI2RlZmluZSBETUFfTElTUl9URUlGMCAgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwMDA4KQorI2RlZmluZSBETUFfTElTUl9ETUVJRjAgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwMDA0KQorI2RlZmluZSBETUFfTElTUl9GRUlGMCAgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwMDAxKQorCisvKioqKioqKioqKioqKioqKioqKiogIEJpdHMgZGVmaW5pdGlvbiBmb3IgRE1BX0hJU1IgcmVnaXN0ZXIgICoqKioqKioqKioqKioqKioqLyAKKyNkZWZpbmUgRE1BX0hJU1JfVENJRjcgICAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwODAwMDAwMCkKKyNkZWZpbmUgRE1BX0hJU1JfSFRJRjcgICAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwNDAwMDAwMCkKKyNkZWZpbmUgRE1BX0hJU1JfVEVJRjcgICAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMjAwMDAwMCkKKyNkZWZpbmUgRE1BX0hJU1JfRE1FSUY3ICAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMTAwMDAwMCkKKyNkZWZpbmUgRE1BX0hJU1JfRkVJRjcgICAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDQwMDAwMCkKKyNkZWZpbmUgRE1BX0hJU1JfVENJRjYgICAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDIwMDAwMCkKKyNkZWZpbmUgRE1BX0hJU1JfSFRJRjYgICAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDEwMDAwMCkKKyNkZWZpbmUgRE1BX0hJU1JfVEVJRjYgICAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDA4MDAwMCkKKyNkZWZpbmUgRE1BX0hJU1JfRE1FSUY2ICAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDA0MDAwMCkKKyNkZWZpbmUgRE1BX0hJU1JfRkVJRjYgICAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAxMDAwMCkKKyNkZWZpbmUgRE1BX0hJU1JfVENJRjUgICAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMDgwMCkKKyNkZWZpbmUgRE1BX0hJU1JfSFRJRjUgICAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMDQwMCkKKyNkZWZpbmUgRE1BX0hJU1JfVEVJRjUgICAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMDIwMCkKKyNkZWZpbmUgRE1BX0hJU1JfRE1FSUY1ICAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMDEwMCkKKyNkZWZpbmUgRE1BX0hJU1JfRkVJRjUgICAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMDA0MCkKKyNkZWZpbmUgRE1BX0hJU1JfVENJRjQgICAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMDAyMCkKKyNkZWZpbmUgRE1BX0hJU1JfSFRJRjQgICAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMDAxMCkKKyNkZWZpbmUgRE1BX0hJU1JfVEVJRjQgICAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMDAwOCkKKyNkZWZpbmUgRE1BX0hJU1JfRE1FSUY0ICAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMDAwNCkKKyNkZWZpbmUgRE1BX0hJU1JfRkVJRjQgICAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMDAwMSkKKworLyoqKioqKioqKioqKioqKioqKioqICBCaXRzIGRlZmluaXRpb24gZm9yIERNQV9MSUZDUiByZWdpc3RlciAgKioqKioqKioqKioqKioqKi8gCisjZGVmaW5lIERNQV9MSUZDUl9DVENJRjMgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDgwMDAwMDApCisjZGVmaW5lIERNQV9MSUZDUl9DSFRJRjMgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDQwMDAwMDApCisjZGVmaW5lIERNQV9MSUZDUl9DVEVJRjMgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDIwMDAwMDApCisjZGVmaW5lIERNQV9MSUZDUl9DRE1FSUYzICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDEwMDAwMDApCisjZGVmaW5lIERNQV9MSUZDUl9DRkVJRjMgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDA0MDAwMDApCisjZGVmaW5lIERNQV9MSUZDUl9DVENJRjIgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAyMDAwMDApCisjZGVmaW5lIERNQV9MSUZDUl9DSFRJRjIgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAxMDAwMDApCisjZGVmaW5lIERNQV9MSUZDUl9DVEVJRjIgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwODAwMDApCisjZGVmaW5lIERNQV9MSUZDUl9DRE1FSUYyICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwNDAwMDApCisjZGVmaW5lIERNQV9MSUZDUl9DRkVJRjIgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMTAwMDApCisjZGVmaW5lIERNQV9MSUZDUl9DVENJRjEgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDA4MDApCisjZGVmaW5lIERNQV9MSUZDUl9DSFRJRjEgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDA0MDApCisjZGVmaW5lIERNQV9MSUZDUl9DVEVJRjEgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDAyMDApCisjZGVmaW5lIERNQV9MSUZDUl9DRE1FSUYxICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDAxMDApCisjZGVmaW5lIERNQV9MSUZDUl9DRkVJRjEgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDAwNDApCisjZGVmaW5lIERNQV9MSUZDUl9DVENJRjAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDAwMjApCisjZGVmaW5lIERNQV9MSUZDUl9DSFRJRjAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDAwMTApCisjZGVmaW5lIERNQV9MSUZDUl9DVEVJRjAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDAwMDgpCisjZGVmaW5lIERNQV9MSUZDUl9DRE1FSUYwICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDAwMDQpCisjZGVmaW5lIERNQV9MSUZDUl9DRkVJRjAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDAwMDEpCisKKy8qKioqKioqKioqKioqKioqKioqKiAgQml0cyBkZWZpbml0aW9uIGZvciBETUFfSElGQ1IgIHJlZ2lzdGVyICAqKioqKioqKioqKioqKioqLyAKKyNkZWZpbmUgRE1BX0hJRkNSX0NUQ0lGNyAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwODAwMDAwMCkKKyNkZWZpbmUgRE1BX0hJRkNSX0NIVElGNyAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwNDAwMDAwMCkKKyNkZWZpbmUgRE1BX0hJRkNSX0NURUlGNyAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMjAwMDAwMCkKKyNkZWZpbmUgRE1BX0hJRkNSX0NETUVJRjcgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMTAwMDAwMCkKKyNkZWZpbmUgRE1BX0hJRkNSX0NGRUlGNyAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDQwMDAwMCkKKyNkZWZpbmUgRE1BX0hJRkNSX0NUQ0lGNiAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDIwMDAwMCkKKyNkZWZpbmUgRE1BX0hJRkNSX0NIVElGNiAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDEwMDAwMCkKKyNkZWZpbmUgRE1BX0hJRkNSX0NURUlGNiAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDA4MDAwMCkKKyNkZWZpbmUgRE1BX0hJRkNSX0NETUVJRjYgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDA0MDAwMCkKKyNkZWZpbmUgRE1BX0hJRkNSX0NGRUlGNiAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAxMDAwMCkKKyNkZWZpbmUgRE1BX0hJRkNSX0NUQ0lGNSAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMDgwMCkKKyNkZWZpbmUgRE1BX0hJRkNSX0NIVElGNSAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMDQwMCkKKyNkZWZpbmUgRE1BX0hJRkNSX0NURUlGNSAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMDIwMCkKKyNkZWZpbmUgRE1BX0hJRkNSX0NETUVJRjUgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMDEwMCkKKyNkZWZpbmUgRE1BX0hJRkNSX0NGRUlGNSAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMDA0MCkKKyNkZWZpbmUgRE1BX0hJRkNSX0NUQ0lGNCAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMDAyMCkKKyNkZWZpbmUgRE1BX0hJRkNSX0NIVElGNCAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMDAxMCkKKyNkZWZpbmUgRE1BX0hJRkNSX0NURUlGNCAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMDAwOCkKKyNkZWZpbmUgRE1BX0hJRkNSX0NETUVJRjQgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMDAwNCkKKyNkZWZpbmUgRE1BX0hJRkNSX0NGRUlGNCAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMDAwMSkKKworLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KKy8qICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICovCisvKiAgICAgICAgICAgICAgICAgICAgRXh0ZXJuYWwgSW50ZXJydXB0L0V2ZW50IENvbnRyb2xsZXIgICAgICAgICAgICAgICAgICAgICAqLworLyogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKi8KKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCisvKioqKioqKioqKioqKioqKioqKiAgQml0IGRlZmluaXRpb24gZm9yIEVYVElfSU1SIHJlZ2lzdGVyICAqKioqKioqKioqKioqKioqKioqLworI2RlZmluZSAgRVhUSV9JTVJfTVIwICAgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwMDAxKSAgICAgICAgLyohPCBJbnRlcnJ1cHQgTWFzayBvbiBsaW5lIDAgKi8KKyNkZWZpbmUgIEVYVElfSU1SX01SMSAgICAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMDAwMikgICAgICAgIC8qITwgSW50ZXJydXB0IE1hc2sgb24gbGluZSAxICovCisjZGVmaW5lICBFWFRJX0lNUl9NUjIgICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDAwMDQpICAgICAgICAvKiE8IEludGVycnVwdCBNYXNrIG9uIGxpbmUgMiAqLworI2RlZmluZSAgRVhUSV9JTVJfTVIzICAgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwMDA4KSAgICAgICAgLyohPCBJbnRlcnJ1cHQgTWFzayBvbiBsaW5lIDMgKi8KKyNkZWZpbmUgIEVYVElfSU1SX01SNCAgICAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMDAxMCkgICAgICAgIC8qITwgSW50ZXJydXB0IE1hc2sgb24gbGluZSA0ICovCisjZGVmaW5lICBFWFRJX0lNUl9NUjUgICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDAwMjApICAgICAgICAvKiE8IEludGVycnVwdCBNYXNrIG9uIGxpbmUgNSAqLworI2RlZmluZSAgRVhUSV9JTVJfTVI2ICAgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwMDQwKSAgICAgICAgLyohPCBJbnRlcnJ1cHQgTWFzayBvbiBsaW5lIDYgKi8KKyNkZWZpbmUgIEVYVElfSU1SX01SNyAgICAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMDA4MCkgICAgICAgIC8qITwgSW50ZXJydXB0IE1hc2sgb24gbGluZSA3ICovCisjZGVmaW5lICBFWFRJX0lNUl9NUjggICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDAxMDApICAgICAgICAvKiE8IEludGVycnVwdCBNYXNrIG9uIGxpbmUgOCAqLworI2RlZmluZSAgRVhUSV9JTVJfTVI5ICAgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwMjAwKSAgICAgICAgLyohPCBJbnRlcnJ1cHQgTWFzayBvbiBsaW5lIDkgKi8KKyNkZWZpbmUgIEVYVElfSU1SX01SMTAgICAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMDQwMCkgICAgICAgIC8qITwgSW50ZXJydXB0IE1hc2sgb24gbGluZSAxMCAqLworI2RlZmluZSAgRVhUSV9JTVJfTVIxMSAgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwODAwKSAgICAgICAgLyohPCBJbnRlcnJ1cHQgTWFzayBvbiBsaW5lIDExICovCisjZGVmaW5lICBFWFRJX0lNUl9NUjEyICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDEwMDApICAgICAgICAvKiE8IEludGVycnVwdCBNYXNrIG9uIGxpbmUgMTIgKi8KKyNkZWZpbmUgIEVYVElfSU1SX01SMTMgICAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMjAwMCkgICAgICAgIC8qITwgSW50ZXJydXB0IE1hc2sgb24gbGluZSAxMyAqLworI2RlZmluZSAgRVhUSV9JTVJfTVIxNCAgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDA0MDAwKSAgICAgICAgLyohPCBJbnRlcnJ1cHQgTWFzayBvbiBsaW5lIDE0ICovCisjZGVmaW5lICBFWFRJX0lNUl9NUjE1ICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDgwMDApICAgICAgICAvKiE8IEludGVycnVwdCBNYXNrIG9uIGxpbmUgMTUgKi8KKyNkZWZpbmUgIEVYVElfSU1SX01SMTYgICAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAxMDAwMCkgICAgICAgIC8qITwgSW50ZXJydXB0IE1hc2sgb24gbGluZSAxNiAqLworI2RlZmluZSAgRVhUSV9JTVJfTVIxNyAgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDIwMDAwKSAgICAgICAgLyohPCBJbnRlcnJ1cHQgTWFzayBvbiBsaW5lIDE3ICovCisjZGVmaW5lICBFWFRJX0lNUl9NUjE4ICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwNDAwMDApICAgICAgICAvKiE8IEludGVycnVwdCBNYXNrIG9uIGxpbmUgMTggKi8KKyNkZWZpbmUgIEVYVElfSU1SX01SMTkgICAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDA4MDAwMCkgICAgICAgIC8qITwgSW50ZXJydXB0IE1hc2sgb24gbGluZSAxOSAqLworCisvKioqKioqKioqKioqKioqKioqKiAgQml0IGRlZmluaXRpb24gZm9yIEVYVElfRU1SIHJlZ2lzdGVyICAqKioqKioqKioqKioqKioqKioqLworI2RlZmluZSAgRVhUSV9FTVJfTVIwICAgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwMDAxKSAgICAgICAgLyohPCBFdmVudCBNYXNrIG9uIGxpbmUgMCAqLworI2RlZmluZSAgRVhUSV9FTVJfTVIxICAgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwMDAyKSAgICAgICAgLyohPCBFdmVudCBNYXNrIG9uIGxpbmUgMSAqLworI2RlZmluZSAgRVhUSV9FTVJfTVIyICAgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwMDA0KSAgICAgICAgLyohPCBFdmVudCBNYXNrIG9uIGxpbmUgMiAqLworI2RlZmluZSAgRVhUSV9FTVJfTVIzICAgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwMDA4KSAgICAgICAgLyohPCBFdmVudCBNYXNrIG9uIGxpbmUgMyAqLworI2RlZmluZSAgRVhUSV9FTVJfTVI0ICAgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwMDEwKSAgICAgICAgLyohPCBFdmVudCBNYXNrIG9uIGxpbmUgNCAqLworI2RlZmluZSAgRVhUSV9FTVJfTVI1ICAgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwMDIwKSAgICAgICAgLyohPCBFdmVudCBNYXNrIG9uIGxpbmUgNSAqLworI2RlZmluZSAgRVhUSV9FTVJfTVI2ICAgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwMDQwKSAgICAgICAgLyohPCBFdmVudCBNYXNrIG9uIGxpbmUgNiAqLworI2RlZmluZSAgRVhUSV9FTVJfTVI3ICAgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwMDgwKSAgICAgICAgLyohPCBFdmVudCBNYXNrIG9uIGxpbmUgNyAqLworI2RlZmluZSAgRVhUSV9FTVJfTVI4ICAgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwMTAwKSAgICAgICAgLyohPCBFdmVudCBNYXNrIG9uIGxpbmUgOCAqLworI2RlZmluZSAgRVhUSV9FTVJfTVI5ICAgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwMjAwKSAgICAgICAgLyohPCBFdmVudCBNYXNrIG9uIGxpbmUgOSAqLworI2RlZmluZSAgRVhUSV9FTVJfTVIxMCAgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwNDAwKSAgICAgICAgLyohPCBFdmVudCBNYXNrIG9uIGxpbmUgMTAgKi8KKyNkZWZpbmUgIEVYVElfRU1SX01SMTEgICAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMDgwMCkgICAgICAgIC8qITwgRXZlbnQgTWFzayBvbiBsaW5lIDExICovCisjZGVmaW5lICBFWFRJX0VNUl9NUjEyICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDEwMDApICAgICAgICAvKiE8IEV2ZW50IE1hc2sgb24gbGluZSAxMiAqLworI2RlZmluZSAgRVhUSV9FTVJfTVIxMyAgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAyMDAwKSAgICAgICAgLyohPCBFdmVudCBNYXNrIG9uIGxpbmUgMTMgKi8KKyNkZWZpbmUgIEVYVElfRU1SX01SMTQgICAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwNDAwMCkgICAgICAgIC8qITwgRXZlbnQgTWFzayBvbiBsaW5lIDE0ICovCisjZGVmaW5lICBFWFRJX0VNUl9NUjE1ICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDgwMDApICAgICAgICAvKiE8IEV2ZW50IE1hc2sgb24gbGluZSAxNSAqLworI2RlZmluZSAgRVhUSV9FTVJfTVIxNiAgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDEwMDAwKSAgICAgICAgLyohPCBFdmVudCBNYXNrIG9uIGxpbmUgMTYgKi8KKyNkZWZpbmUgIEVYVElfRU1SX01SMTcgICAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAyMDAwMCkgICAgICAgIC8qITwgRXZlbnQgTWFzayBvbiBsaW5lIDE3ICovCisjZGVmaW5lICBFWFRJX0VNUl9NUjE4ICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwNDAwMDApICAgICAgICAvKiE8IEV2ZW50IE1hc2sgb24gbGluZSAxOCAqLworI2RlZmluZSAgRVhUSV9FTVJfTVIxOSAgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDgwMDAwKSAgICAgICAgLyohPCBFdmVudCBNYXNrIG9uIGxpbmUgMTkgKi8KKworLyoqKioqKioqKioqKioqKioqKiAgQml0IGRlZmluaXRpb24gZm9yIEVYVElfUlRTUiByZWdpc3RlciAgKioqKioqKioqKioqKioqKioqKi8KKyNkZWZpbmUgIEVYVElfUlRTUl9UUjAgICAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMDAwMSkgICAgICAgIC8qITwgUmlzaW5nIHRyaWdnZXIgZXZlbnQgY29uZmlndXJhdGlvbiBiaXQgb2YgbGluZSAwICovCisjZGVmaW5lICBFWFRJX1JUU1JfVFIxICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDAwMDIpICAgICAgICAvKiE8IFJpc2luZyB0cmlnZ2VyIGV2ZW50IGNvbmZpZ3VyYXRpb24gYml0IG9mIGxpbmUgMSAqLworI2RlZmluZSAgRVhUSV9SVFNSX1RSMiAgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwMDA0KSAgICAgICAgLyohPCBSaXNpbmcgdHJpZ2dlciBldmVudCBjb25maWd1cmF0aW9uIGJpdCBvZiBsaW5lIDIgKi8KKyNkZWZpbmUgIEVYVElfUlRTUl9UUjMgICAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMDAwOCkgICAgICAgIC8qITwgUmlzaW5nIHRyaWdnZXIgZXZlbnQgY29uZmlndXJhdGlvbiBiaXQgb2YgbGluZSAzICovCisjZGVmaW5lICBFWFRJX1JUU1JfVFI0ICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDAwMTApICAgICAgICAvKiE8IFJpc2luZyB0cmlnZ2VyIGV2ZW50IGNvbmZpZ3VyYXRpb24gYml0IG9mIGxpbmUgNCAqLworI2RlZmluZSAgRVhUSV9SVFNSX1RSNSAgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwMDIwKSAgICAgICAgLyohPCBSaXNpbmcgdHJpZ2dlciBldmVudCBjb25maWd1cmF0aW9uIGJpdCBvZiBsaW5lIDUgKi8KKyNkZWZpbmUgIEVYVElfUlRTUl9UUjYgICAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMDA0MCkgICAgICAgIC8qITwgUmlzaW5nIHRyaWdnZXIgZXZlbnQgY29uZmlndXJhdGlvbiBiaXQgb2YgbGluZSA2ICovCisjZGVmaW5lICBFWFRJX1JUU1JfVFI3ICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDAwODApICAgICAgICAvKiE8IFJpc2luZyB0cmlnZ2VyIGV2ZW50IGNvbmZpZ3VyYXRpb24gYml0IG9mIGxpbmUgNyAqLworI2RlZmluZSAgRVhUSV9SVFNSX1RSOCAgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwMTAwKSAgICAgICAgLyohPCBSaXNpbmcgdHJpZ2dlciBldmVudCBjb25maWd1cmF0aW9uIGJpdCBvZiBsaW5lIDggKi8KKyNkZWZpbmUgIEVYVElfUlRTUl9UUjkgICAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMDIwMCkgICAgICAgIC8qITwgUmlzaW5nIHRyaWdnZXIgZXZlbnQgY29uZmlndXJhdGlvbiBiaXQgb2YgbGluZSA5ICovCisjZGVmaW5lICBFWFRJX1JUU1JfVFIxMCAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDA0MDApICAgICAgICAvKiE8IFJpc2luZyB0cmlnZ2VyIGV2ZW50IGNvbmZpZ3VyYXRpb24gYml0IG9mIGxpbmUgMTAgKi8KKyNkZWZpbmUgIEVYVElfUlRTUl9UUjExICAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMDgwMCkgICAgICAgIC8qITwgUmlzaW5nIHRyaWdnZXIgZXZlbnQgY29uZmlndXJhdGlvbiBiaXQgb2YgbGluZSAxMSAqLworI2RlZmluZSAgRVhUSV9SVFNSX1RSMTIgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAxMDAwKSAgICAgICAgLyohPCBSaXNpbmcgdHJpZ2dlciBldmVudCBjb25maWd1cmF0aW9uIGJpdCBvZiBsaW5lIDEyICovCisjZGVmaW5lICBFWFRJX1JUU1JfVFIxMyAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDIwMDApICAgICAgICAvKiE8IFJpc2luZyB0cmlnZ2VyIGV2ZW50IGNvbmZpZ3VyYXRpb24gYml0IG9mIGxpbmUgMTMgKi8KKyNkZWZpbmUgIEVYVElfUlRTUl9UUjE0ICAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwNDAwMCkgICAgICAgIC8qITwgUmlzaW5nIHRyaWdnZXIgZXZlbnQgY29uZmlndXJhdGlvbiBiaXQgb2YgbGluZSAxNCAqLworI2RlZmluZSAgRVhUSV9SVFNSX1RSMTUgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDA4MDAwKSAgICAgICAgLyohPCBSaXNpbmcgdHJpZ2dlciBldmVudCBjb25maWd1cmF0aW9uIGJpdCBvZiBsaW5lIDE1ICovCisjZGVmaW5lICBFWFRJX1JUU1JfVFIxNiAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMTAwMDApICAgICAgICAvKiE8IFJpc2luZyB0cmlnZ2VyIGV2ZW50IGNvbmZpZ3VyYXRpb24gYml0IG9mIGxpbmUgMTYgKi8KKyNkZWZpbmUgIEVYVElfUlRTUl9UUjE3ICAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAyMDAwMCkgICAgICAgIC8qITwgUmlzaW5nIHRyaWdnZXIgZXZlbnQgY29uZmlndXJhdGlvbiBiaXQgb2YgbGluZSAxNyAqLworI2RlZmluZSAgRVhUSV9SVFNSX1RSMTggICAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDQwMDAwKSAgICAgICAgLyohPCBSaXNpbmcgdHJpZ2dlciBldmVudCBjb25maWd1cmF0aW9uIGJpdCBvZiBsaW5lIDE4ICovCisjZGVmaW5lICBFWFRJX1JUU1JfVFIxOSAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwODAwMDApICAgICAgICAvKiE8IFJpc2luZyB0cmlnZ2VyIGV2ZW50IGNvbmZpZ3VyYXRpb24gYml0IG9mIGxpbmUgMTkgKi8KKworLyoqKioqKioqKioqKioqKioqKiAgQml0IGRlZmluaXRpb24gZm9yIEVYVElfRlRTUiByZWdpc3RlciAgKioqKioqKioqKioqKioqKioqKi8KKyNkZWZpbmUgIEVYVElfRlRTUl9UUjAgICAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMDAwMSkgICAgICAgIC8qITwgRmFsbGluZyB0cmlnZ2VyIGV2ZW50IGNvbmZpZ3VyYXRpb24gYml0IG9mIGxpbmUgMCAqLworI2RlZmluZSAgRVhUSV9GVFNSX1RSMSAgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwMDAyKSAgICAgICAgLyohPCBGYWxsaW5nIHRyaWdnZXIgZXZlbnQgY29uZmlndXJhdGlvbiBiaXQgb2YgbGluZSAxICovCisjZGVmaW5lICBFWFRJX0ZUU1JfVFIyICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDAwMDQpICAgICAgICAvKiE8IEZhbGxpbmcgdHJpZ2dlciBldmVudCBjb25maWd1cmF0aW9uIGJpdCBvZiBsaW5lIDIgKi8KKyNkZWZpbmUgIEVYVElfRlRTUl9UUjMgICAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMDAwOCkgICAgICAgIC8qITwgRmFsbGluZyB0cmlnZ2VyIGV2ZW50IGNvbmZpZ3VyYXRpb24gYml0IG9mIGxpbmUgMyAqLworI2RlZmluZSAgRVhUSV9GVFNSX1RSNCAgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwMDEwKSAgICAgICAgLyohPCBGYWxsaW5nIHRyaWdnZXIgZXZlbnQgY29uZmlndXJhdGlvbiBiaXQgb2YgbGluZSA0ICovCisjZGVmaW5lICBFWFRJX0ZUU1JfVFI1ICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDAwMjApICAgICAgICAvKiE8IEZhbGxpbmcgdHJpZ2dlciBldmVudCBjb25maWd1cmF0aW9uIGJpdCBvZiBsaW5lIDUgKi8KKyNkZWZpbmUgIEVYVElfRlRTUl9UUjYgICAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMDA0MCkgICAgICAgIC8qITwgRmFsbGluZyB0cmlnZ2VyIGV2ZW50IGNvbmZpZ3VyYXRpb24gYml0IG9mIGxpbmUgNiAqLworI2RlZmluZSAgRVhUSV9GVFNSX1RSNyAgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwMDgwKSAgICAgICAgLyohPCBGYWxsaW5nIHRyaWdnZXIgZXZlbnQgY29uZmlndXJhdGlvbiBiaXQgb2YgbGluZSA3ICovCisjZGVmaW5lICBFWFRJX0ZUU1JfVFI4ICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDAxMDApICAgICAgICAvKiE8IEZhbGxpbmcgdHJpZ2dlciBldmVudCBjb25maWd1cmF0aW9uIGJpdCBvZiBsaW5lIDggKi8KKyNkZWZpbmUgIEVYVElfRlRTUl9UUjkgICAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMDIwMCkgICAgICAgIC8qITwgRmFsbGluZyB0cmlnZ2VyIGV2ZW50IGNvbmZpZ3VyYXRpb24gYml0IG9mIGxpbmUgOSAqLworI2RlZmluZSAgRVhUSV9GVFNSX1RSMTAgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwNDAwKSAgICAgICAgLyohPCBGYWxsaW5nIHRyaWdnZXIgZXZlbnQgY29uZmlndXJhdGlvbiBiaXQgb2YgbGluZSAxMCAqLworI2RlZmluZSAgRVhUSV9GVFNSX1RSMTEgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwODAwKSAgICAgICAgLyohPCBGYWxsaW5nIHRyaWdnZXIgZXZlbnQgY29uZmlndXJhdGlvbiBiaXQgb2YgbGluZSAxMSAqLworI2RlZmluZSAgRVhUSV9GVFNSX1RSMTIgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAxMDAwKSAgICAgICAgLyohPCBGYWxsaW5nIHRyaWdnZXIgZXZlbnQgY29uZmlndXJhdGlvbiBiaXQgb2YgbGluZSAxMiAqLworI2RlZmluZSAgRVhUSV9GVFNSX1RSMTMgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAyMDAwKSAgICAgICAgLyohPCBGYWxsaW5nIHRyaWdnZXIgZXZlbnQgY29uZmlndXJhdGlvbiBiaXQgb2YgbGluZSAxMyAqLworI2RlZmluZSAgRVhUSV9GVFNSX1RSMTQgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDA0MDAwKSAgICAgICAgLyohPCBGYWxsaW5nIHRyaWdnZXIgZXZlbnQgY29uZmlndXJhdGlvbiBiaXQgb2YgbGluZSAxNCAqLworI2RlZmluZSAgRVhUSV9GVFNSX1RSMTUgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDA4MDAwKSAgICAgICAgLyohPCBGYWxsaW5nIHRyaWdnZXIgZXZlbnQgY29uZmlndXJhdGlvbiBiaXQgb2YgbGluZSAxNSAqLworI2RlZmluZSAgRVhUSV9GVFNSX1RSMTYgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDEwMDAwKSAgICAgICAgLyohPCBGYWxsaW5nIHRyaWdnZXIgZXZlbnQgY29uZmlndXJhdGlvbiBiaXQgb2YgbGluZSAxNiAqLworI2RlZmluZSAgRVhUSV9GVFNSX1RSMTcgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDIwMDAwKSAgICAgICAgLyohPCBGYWxsaW5nIHRyaWdnZXIgZXZlbnQgY29uZmlndXJhdGlvbiBiaXQgb2YgbGluZSAxNyAqLworI2RlZmluZSAgRVhUSV9GVFNSX1RSMTggICAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDQwMDAwKSAgICAgICAgLyohPCBGYWxsaW5nIHRyaWdnZXIgZXZlbnQgY29uZmlndXJhdGlvbiBiaXQgb2YgbGluZSAxOCAqLworI2RlZmluZSAgRVhUSV9GVFNSX1RSMTkgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDgwMDAwKSAgICAgICAgLyohPCBGYWxsaW5nIHRyaWdnZXIgZXZlbnQgY29uZmlndXJhdGlvbiBiaXQgb2YgbGluZSAxOSAqLworCisvKioqKioqKioqKioqKioqKioqICBCaXQgZGVmaW5pdGlvbiBmb3IgRVhUSV9TV0lFUiByZWdpc3RlciAgKioqKioqKioqKioqKioqKioqLworI2RlZmluZSAgRVhUSV9TV0lFUl9TV0lFUjAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwMDAxKSAgICAgICAgLyohPCBTb2Z0d2FyZSBJbnRlcnJ1cHQgb24gbGluZSAwICovCisjZGVmaW5lICBFWFRJX1NXSUVSX1NXSUVSMSAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDAwMDIpICAgICAgICAvKiE8IFNvZnR3YXJlIEludGVycnVwdCBvbiBsaW5lIDEgKi8KKyNkZWZpbmUgIEVYVElfU1dJRVJfU1dJRVIyICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMDAwNCkgICAgICAgIC8qITwgU29mdHdhcmUgSW50ZXJydXB0IG9uIGxpbmUgMiAqLworI2RlZmluZSAgRVhUSV9TV0lFUl9TV0lFUjMgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwMDA4KSAgICAgICAgLyohPCBTb2Z0d2FyZSBJbnRlcnJ1cHQgb24gbGluZSAzICovCisjZGVmaW5lICBFWFRJX1NXSUVSX1NXSUVSNCAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDAwMTApICAgICAgICAvKiE8IFNvZnR3YXJlIEludGVycnVwdCBvbiBsaW5lIDQgKi8KKyNkZWZpbmUgIEVYVElfU1dJRVJfU1dJRVI1ICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMDAyMCkgICAgICAgIC8qITwgU29mdHdhcmUgSW50ZXJydXB0IG9uIGxpbmUgNSAqLworI2RlZmluZSAgRVhUSV9TV0lFUl9TV0lFUjYgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwMDQwKSAgICAgICAgLyohPCBTb2Z0d2FyZSBJbnRlcnJ1cHQgb24gbGluZSA2ICovCisjZGVmaW5lICBFWFRJX1NXSUVSX1NXSUVSNyAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDAwODApICAgICAgICAvKiE8IFNvZnR3YXJlIEludGVycnVwdCBvbiBsaW5lIDcgKi8KKyNkZWZpbmUgIEVYVElfU1dJRVJfU1dJRVI4ICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMDEwMCkgICAgICAgIC8qITwgU29mdHdhcmUgSW50ZXJydXB0IG9uIGxpbmUgOCAqLworI2RlZmluZSAgRVhUSV9TV0lFUl9TV0lFUjkgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwMjAwKSAgICAgICAgLyohPCBTb2Z0d2FyZSBJbnRlcnJ1cHQgb24gbGluZSA5ICovCisjZGVmaW5lICBFWFRJX1NXSUVSX1NXSUVSMTAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDA0MDApICAgICAgICAvKiE8IFNvZnR3YXJlIEludGVycnVwdCBvbiBsaW5lIDEwICovCisjZGVmaW5lICBFWFRJX1NXSUVSX1NXSUVSMTEgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDA4MDApICAgICAgICAvKiE8IFNvZnR3YXJlIEludGVycnVwdCBvbiBsaW5lIDExICovCisjZGVmaW5lICBFWFRJX1NXSUVSX1NXSUVSMTIgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDEwMDApICAgICAgICAvKiE8IFNvZnR3YXJlIEludGVycnVwdCBvbiBsaW5lIDEyICovCisjZGVmaW5lICBFWFRJX1NXSUVSX1NXSUVSMTMgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDIwMDApICAgICAgICAvKiE8IFNvZnR3YXJlIEludGVycnVwdCBvbiBsaW5lIDEzICovCisjZGVmaW5lICBFWFRJX1NXSUVSX1NXSUVSMTQgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDQwMDApICAgICAgICAvKiE8IFNvZnR3YXJlIEludGVycnVwdCBvbiBsaW5lIDE0ICovCisjZGVmaW5lICBFWFRJX1NXSUVSX1NXSUVSMTUgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDgwMDApICAgICAgICAvKiE8IFNvZnR3YXJlIEludGVycnVwdCBvbiBsaW5lIDE1ICovCisjZGVmaW5lICBFWFRJX1NXSUVSX1NXSUVSMTYgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMTAwMDApICAgICAgICAvKiE8IFNvZnR3YXJlIEludGVycnVwdCBvbiBsaW5lIDE2ICovCisjZGVmaW5lICBFWFRJX1NXSUVSX1NXSUVSMTcgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMjAwMDApICAgICAgICAvKiE8IFNvZnR3YXJlIEludGVycnVwdCBvbiBsaW5lIDE3ICovCisjZGVmaW5lICBFWFRJX1NXSUVSX1NXSUVSMTggICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwNDAwMDApICAgICAgICAvKiE8IFNvZnR3YXJlIEludGVycnVwdCBvbiBsaW5lIDE4ICovCisjZGVmaW5lICBFWFRJX1NXSUVSX1NXSUVSMTkgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwODAwMDApICAgICAgICAvKiE8IFNvZnR3YXJlIEludGVycnVwdCBvbiBsaW5lIDE5ICovCisKKy8qKioqKioqKioqKioqKioqKioqICBCaXQgZGVmaW5pdGlvbiBmb3IgRVhUSV9QUiByZWdpc3RlciAgKioqKioqKioqKioqKioqKioqKiovCisjZGVmaW5lICBFWFRJX1BSX1BSMCAgICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDAwMDEpICAgICAgICAvKiE8IFBlbmRpbmcgYml0IGZvciBsaW5lIDAgKi8KKyNkZWZpbmUgIEVYVElfUFJfUFIxICAgICAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMDAwMikgICAgICAgIC8qITwgUGVuZGluZyBiaXQgZm9yIGxpbmUgMSAqLworI2RlZmluZSAgRVhUSV9QUl9QUjIgICAgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwMDA0KSAgICAgICAgLyohPCBQZW5kaW5nIGJpdCBmb3IgbGluZSAyICovCisjZGVmaW5lICBFWFRJX1BSX1BSMyAgICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDAwMDgpICAgICAgICAvKiE8IFBlbmRpbmcgYml0IGZvciBsaW5lIDMgKi8KKyNkZWZpbmUgIEVYVElfUFJfUFI0ICAgICAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMDAxMCkgICAgICAgIC8qITwgUGVuZGluZyBiaXQgZm9yIGxpbmUgNCAqLworI2RlZmluZSAgRVhUSV9QUl9QUjUgICAgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwMDIwKSAgICAgICAgLyohPCBQZW5kaW5nIGJpdCBmb3IgbGluZSA1ICovCisjZGVmaW5lICBFWFRJX1BSX1BSNiAgICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDAwNDApICAgICAgICAvKiE8IFBlbmRpbmcgYml0IGZvciBsaW5lIDYgKi8KKyNkZWZpbmUgIEVYVElfUFJfUFI3ICAgICAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMDA4MCkgICAgICAgIC8qITwgUGVuZGluZyBiaXQgZm9yIGxpbmUgNyAqLworI2RlZmluZSAgRVhUSV9QUl9QUjggICAgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwMTAwKSAgICAgICAgLyohPCBQZW5kaW5nIGJpdCBmb3IgbGluZSA4ICovCisjZGVmaW5lICBFWFRJX1BSX1BSOSAgICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDAyMDApICAgICAgICAvKiE8IFBlbmRpbmcgYml0IGZvciBsaW5lIDkgKi8KKyNkZWZpbmUgIEVYVElfUFJfUFIxMCAgICAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMDQwMCkgICAgICAgIC8qITwgUGVuZGluZyBiaXQgZm9yIGxpbmUgMTAgKi8KKyNkZWZpbmUgIEVYVElfUFJfUFIxMSAgICAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMDgwMCkgICAgICAgIC8qITwgUGVuZGluZyBiaXQgZm9yIGxpbmUgMTEgKi8KKyNkZWZpbmUgIEVYVElfUFJfUFIxMiAgICAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMTAwMCkgICAgICAgIC8qITwgUGVuZGluZyBiaXQgZm9yIGxpbmUgMTIgKi8KKyNkZWZpbmUgIEVYVElfUFJfUFIxMyAgICAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMjAwMCkgICAgICAgIC8qITwgUGVuZGluZyBiaXQgZm9yIGxpbmUgMTMgKi8KKyNkZWZpbmUgIEVYVElfUFJfUFIxNCAgICAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwNDAwMCkgICAgICAgIC8qITwgUGVuZGluZyBiaXQgZm9yIGxpbmUgMTQgKi8KKyNkZWZpbmUgIEVYVElfUFJfUFIxNSAgICAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwODAwMCkgICAgICAgIC8qITwgUGVuZGluZyBiaXQgZm9yIGxpbmUgMTUgKi8KKyNkZWZpbmUgIEVYVElfUFJfUFIxNiAgICAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAxMDAwMCkgICAgICAgIC8qITwgUGVuZGluZyBiaXQgZm9yIGxpbmUgMTYgKi8KKyNkZWZpbmUgIEVYVElfUFJfUFIxNyAgICAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAyMDAwMCkgICAgICAgIC8qITwgUGVuZGluZyBiaXQgZm9yIGxpbmUgMTcgKi8KKyNkZWZpbmUgIEVYVElfUFJfUFIxOCAgICAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDA0MDAwMCkgICAgICAgIC8qITwgUGVuZGluZyBiaXQgZm9yIGxpbmUgMTggKi8KKyNkZWZpbmUgIEVYVElfUFJfUFIxOSAgICAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDA4MDAwMCkgICAgICAgIC8qITwgUGVuZGluZyBiaXQgZm9yIGxpbmUgMTkgKi8KKworLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KKy8qICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICovCisvKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEZMQVNIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqLworLyogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKi8KKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCisvKioqKioqKioqKioqKioqKioqKiAgQml0cyBkZWZpbml0aW9uIGZvciBGTEFTSF9BQ1IgcmVnaXN0ZXIgICoqKioqKioqKioqKioqKioqLworI2RlZmluZSBGTEFTSF9BQ1JfTEFURU5DWSAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwMDA3KQorI2RlZmluZSBGTEFTSF9BQ1JfTEFURU5DWV8wV1MgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwMDAwKQorI2RlZmluZSBGTEFTSF9BQ1JfTEFURU5DWV8xV1MgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwMDAxKQorI2RlZmluZSBGTEFTSF9BQ1JfTEFURU5DWV8yV1MgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwMDAyKQorI2RlZmluZSBGTEFTSF9BQ1JfTEFURU5DWV8zV1MgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwMDAzKQorI2RlZmluZSBGTEFTSF9BQ1JfTEFURU5DWV80V1MgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwMDA0KQorI2RlZmluZSBGTEFTSF9BQ1JfTEFURU5DWV81V1MgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwMDA1KQorI2RlZmluZSBGTEFTSF9BQ1JfTEFURU5DWV82V1MgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwMDA2KQorI2RlZmluZSBGTEFTSF9BQ1JfTEFURU5DWV83V1MgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwMDA3KQorCisjZGVmaW5lIEZMQVNIX0FDUl9QUkZURU4gICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDAxMDApCisjZGVmaW5lIEZMQVNIX0FDUl9JQ0VOICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDAyMDApCisjZGVmaW5lIEZMQVNIX0FDUl9EQ0VOICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDA0MDApCisjZGVmaW5lIEZMQVNIX0FDUl9JQ1JTVCAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDA4MDApCisjZGVmaW5lIEZMQVNIX0FDUl9EQ1JTVCAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDEwMDApCisjZGVmaW5lIEZMQVNIX0FDUl9CWVRFMF9BRERSRVNTICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4NDAwMjNDMDApCisjZGVmaW5lIEZMQVNIX0FDUl9CWVRFMl9BRERSRVNTICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4NDAwMjNDMDMpCisKKy8qKioqKioqKioqKioqKioqKioqICBCaXRzIGRlZmluaXRpb24gZm9yIEZMQVNIX1NSIHJlZ2lzdGVyICAqKioqKioqKioqKioqKioqKiovCisjZGVmaW5lIEZMQVNIX1NSX0VPUCAgICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDAwMDEpCisjZGVmaW5lIEZMQVNIX1NSX1NPUCAgICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDAwMDIpCisjZGVmaW5lIEZMQVNIX1NSX1dSUEVSUiAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDAwMTApCisjZGVmaW5lIEZMQVNIX1NSX1BHQUVSUiAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDAwMjApCisjZGVmaW5lIEZMQVNIX1NSX1BHUEVSUiAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDAwNDApCisjZGVmaW5lIEZMQVNIX1NSX1BHU0VSUiAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDAwODApCisjZGVmaW5lIEZMQVNIX1NSX0JTWSAgICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMTAwMDApCisKKy8qKioqKioqKioqKioqKioqKioqICBCaXRzIGRlZmluaXRpb24gZm9yIEZMQVNIX0NSIHJlZ2lzdGVyICAqKioqKioqKioqKioqKioqKiovCisjZGVmaW5lIEZMQVNIX0NSX1BHICAgICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDAwMDEpCisjZGVmaW5lIEZMQVNIX0NSX1NFUiAgICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDAwMDIpCisjZGVmaW5lIEZMQVNIX0NSX01FUiAgICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDAwMDQpCisjZGVmaW5lIEZMQVNIX0NSX1NOQl8wICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDAwMDgpCisjZGVmaW5lIEZMQVNIX0NSX1NOQl8xICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDAwMTApCisjZGVmaW5lIEZMQVNIX0NSX1NOQl8yICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDAwMjApCisjZGVmaW5lIEZMQVNIX0NSX1NOQl8zICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDAwNDApCisjZGVmaW5lIEZMQVNIX0NSX1BTSVpFXzAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDAxMDApCisjZGVmaW5lIEZMQVNIX0NSX1BTSVpFXzEgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDAyMDApCisjZGVmaW5lIEZMQVNIX0NSX1NUUlQgICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMTAwMDApCisjZGVmaW5lIEZMQVNIX0NSX0VPUElFICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDEwMDAwMDApCisjZGVmaW5lIEZMQVNIX0NSX0xPQ0sgICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4ODAwMDAwMDApCisKKy8qKioqKioqKioqKioqKioqKioqICBCaXRzIGRlZmluaXRpb24gZm9yIEZMQVNIX09QVENSIHJlZ2lzdGVyICAqKioqKioqKioqKioqKiovCisjZGVmaW5lIEZMQVNIX09QVENSX09QVExPQ0sgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDAwMDEpCisjZGVmaW5lIEZMQVNIX09QVENSX09QVFNUUlQgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDAwMDIpCisjZGVmaW5lIEZMQVNIX09QVENSX0JPUl9MRVZfMCAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDAwMDQpCisjZGVmaW5lIEZMQVNIX09QVENSX0JPUl9MRVZfMSAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDAwMDgpCisjZGVmaW5lIEZMQVNIX09QVENSX0JPUl9MRVYgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDAwMEMpCisjZGVmaW5lIEZMQVNIX09QVENSX1dER19TVyAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDAwMjApCisjZGVmaW5lIEZMQVNIX09QVENSX25SU1RfU1RPUCAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDAwNDApCisjZGVmaW5lIEZMQVNIX09QVENSX25SU1RfU1REQlkgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDAwODApCisjZGVmaW5lIEZMQVNIX09QVENSX1JEUF8wICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDAxMDApCisjZGVmaW5lIEZMQVNIX09QVENSX1JEUF8xICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDAyMDApCisjZGVmaW5lIEZMQVNIX09QVENSX1JEUF8yICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDA0MDApCisjZGVmaW5lIEZMQVNIX09QVENSX1JEUF8zICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDA4MDApCisjZGVmaW5lIEZMQVNIX09QVENSX1JEUF80ICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDEwMDApCisjZGVmaW5lIEZMQVNIX09QVENSX1JEUF81ICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDIwMDApCisjZGVmaW5lIEZMQVNIX09QVENSX1JEUF82ICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDQwMDApCisjZGVmaW5lIEZMQVNIX09QVENSX1JEUF83ICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDgwMDApCisjZGVmaW5lIEZMQVNIX09QVENSX25XUlBfMCAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMTAwMDApCisjZGVmaW5lIEZMQVNIX09QVENSX25XUlBfMSAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMjAwMDApCisjZGVmaW5lIEZMQVNIX09QVENSX25XUlBfMiAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwNDAwMDApCisjZGVmaW5lIEZMQVNIX09QVENSX25XUlBfMyAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwODAwMDApCisjZGVmaW5lIEZMQVNIX09QVENSX25XUlBfNCAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAxMDAwMDApCisjZGVmaW5lIEZMQVNIX09QVENSX25XUlBfNSAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAyMDAwMDApCisjZGVmaW5lIEZMQVNIX09QVENSX25XUlBfNiAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDA0MDAwMDApCisjZGVmaW5lIEZMQVNIX09QVENSX25XUlBfNyAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDA4MDAwMDApCisjZGVmaW5lIEZMQVNIX09QVENSX25XUlBfOCAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDEwMDAwMDApCisjZGVmaW5lIEZMQVNIX09QVENSX25XUlBfOSAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDIwMDAwMDApCisjZGVmaW5lIEZMQVNIX09QVENSX25XUlBfMTAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDQwMDAwMDApCisjZGVmaW5lIEZMQVNIX09QVENSX25XUlBfMTEgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDgwMDAwMDApCisKKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCisvKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqLworLyogICAgICAgICAgICAgICAgICAgICAgIEZsZXhpYmxlIFN0YXRpYyBNZW1vcnkgQ29udHJvbGxlciAgICAgICAgICAgICAgICAgICAgKi8KKy8qICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICovCisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLworLyoqKioqKioqKioqKioqKioqKiAgQml0IGRlZmluaXRpb24gZm9yIEZTTUNfQkNSMSByZWdpc3RlciAgKioqKioqKioqKioqKioqKioqKi8KKyNkZWZpbmUgIEZTTUNfQkNSMV9NQktFTiAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMDAwMSkgICAgICAgIC8qITxNZW1vcnkgYmFuayBlbmFibGUgYml0ICovCisjZGVmaW5lICBGU01DX0JDUjFfTVVYRU4gICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDAwMDIpICAgICAgICAvKiE8QWRkcmVzcy9kYXRhIG11bHRpcGxleGluZyBlbmFibGUgYml0ICovCisKKyNkZWZpbmUgIEZTTUNfQkNSMV9NVFlQICAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMDAwQykgICAgICAgIC8qITxNVFlQWzE6MF0gYml0cyAoTWVtb3J5IHR5cGUpICovCisjZGVmaW5lICBGU01DX0JDUjFfTVRZUF8wICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDAwMDQpICAgICAgICAvKiE8Qml0IDAgKi8KKyNkZWZpbmUgIEZTTUNfQkNSMV9NVFlQXzEgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMDAwOCkgICAgICAgIC8qITxCaXQgMSAqLworCisjZGVmaW5lICBGU01DX0JDUjFfTVdJRCAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDAwMzApICAgICAgICAvKiE8TVdJRFsxOjBdIGJpdHMgKE1lbW9yeSBkYXRhIGJ1cyB3aWR0aCkgKi8KKyNkZWZpbmUgIEZTTUNfQkNSMV9NV0lEXzAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMDAxMCkgICAgICAgIC8qITxCaXQgMCAqLworI2RlZmluZSAgRlNNQ19CQ1IxX01XSURfMSAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwMDIwKSAgICAgICAgLyohPEJpdCAxICovCisKKyNkZWZpbmUgIEZTTUNfQkNSMV9GQUNDRU4gICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMDA0MCkgICAgICAgIC8qITxGbGFzaCBhY2Nlc3MgZW5hYmxlICovCisjZGVmaW5lICBGU01DX0JDUjFfQlVSU1RFTiAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDAxMDApICAgICAgICAvKiE8QnVyc3QgZW5hYmxlIGJpdCAqLworI2RlZmluZSAgRlNNQ19CQ1IxX1dBSVRQT0wgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwMjAwKSAgICAgICAgLyohPFdhaXQgc2lnbmFsIHBvbGFyaXR5IGJpdCAqLworI2RlZmluZSAgRlNNQ19CQ1IxX1dSQVBNT0QgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwNDAwKSAgICAgICAgLyohPFdyYXBwZWQgYnVyc3QgbW9kZSBzdXBwb3J0ICovCisjZGVmaW5lICBGU01DX0JDUjFfV0FJVENGRyAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDA4MDApICAgICAgICAvKiE8V2FpdCB0aW1pbmcgY29uZmlndXJhdGlvbiAqLworI2RlZmluZSAgRlNNQ19CQ1IxX1dSRU4gICAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAxMDAwKSAgICAgICAgLyohPFdyaXRlIGVuYWJsZSBiaXQgKi8KKyNkZWZpbmUgIEZTTUNfQkNSMV9XQUlURU4gICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMjAwMCkgICAgICAgIC8qITxXYWl0IGVuYWJsZSBiaXQgKi8KKyNkZWZpbmUgIEZTTUNfQkNSMV9FWFRNT0QgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwNDAwMCkgICAgICAgIC8qITxFeHRlbmRlZCBtb2RlIGVuYWJsZSAqLworI2RlZmluZSAgRlNNQ19CQ1IxX0FTWU5DV0FJVCAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDA4MDAwKSAgICAgICAgLyohPEFzeW5jaHJvbm91cyB3YWl0ICovCisjZGVmaW5lICBGU01DX0JDUjFfQ0JVUlNUUlcgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwODAwMDApICAgICAgICAvKiE8V3JpdGUgYnVyc3QgZW5hYmxlICovCisKKy8qKioqKioqKioqKioqKioqKiogIEJpdCBkZWZpbml0aW9uIGZvciBGU01DX0JDUjIgcmVnaXN0ZXIgICoqKioqKioqKioqKioqKioqKiovCisjZGVmaW5lICBGU01DX0JDUjJfTUJLRU4gICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDAwMDEpICAgICAgICAvKiE8TWVtb3J5IGJhbmsgZW5hYmxlIGJpdCAqLworI2RlZmluZSAgRlNNQ19CQ1IyX01VWEVOICAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwMDAyKSAgICAgICAgLyohPEFkZHJlc3MvZGF0YSBtdWx0aXBsZXhpbmcgZW5hYmxlIGJpdCAqLworCisjZGVmaW5lICBGU01DX0JDUjJfTVRZUCAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDAwMEMpICAgICAgICAvKiE8TVRZUFsxOjBdIGJpdHMgKE1lbW9yeSB0eXBlKSAqLworI2RlZmluZSAgRlNNQ19CQ1IyX01UWVBfMCAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwMDA0KSAgICAgICAgLyohPEJpdCAwICovCisjZGVmaW5lICBGU01DX0JDUjJfTVRZUF8xICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDAwMDgpICAgICAgICAvKiE8Qml0IDEgKi8KKworI2RlZmluZSAgRlNNQ19CQ1IyX01XSUQgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwMDMwKSAgICAgICAgLyohPE1XSURbMTowXSBiaXRzIChNZW1vcnkgZGF0YSBidXMgd2lkdGgpICovCisjZGVmaW5lICBGU01DX0JDUjJfTVdJRF8wICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDAwMTApICAgICAgICAvKiE8Qml0IDAgKi8KKyNkZWZpbmUgIEZTTUNfQkNSMl9NV0lEXzEgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMDAyMCkgICAgICAgIC8qITxCaXQgMSAqLworCisjZGVmaW5lICBGU01DX0JDUjJfRkFDQ0VOICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDAwNDApICAgICAgICAvKiE8Rmxhc2ggYWNjZXNzIGVuYWJsZSAqLworI2RlZmluZSAgRlNNQ19CQ1IyX0JVUlNURU4gICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwMTAwKSAgICAgICAgLyohPEJ1cnN0IGVuYWJsZSBiaXQgKi8KKyNkZWZpbmUgIEZTTUNfQkNSMl9XQUlUUE9MICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMDIwMCkgICAgICAgIC8qITxXYWl0IHNpZ25hbCBwb2xhcml0eSBiaXQgKi8KKyNkZWZpbmUgIEZTTUNfQkNSMl9XUkFQTU9EICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMDQwMCkgICAgICAgIC8qITxXcmFwcGVkIGJ1cnN0IG1vZGUgc3VwcG9ydCAqLworI2RlZmluZSAgRlNNQ19CQ1IyX1dBSVRDRkcgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwODAwKSAgICAgICAgLyohPFdhaXQgdGltaW5nIGNvbmZpZ3VyYXRpb24gKi8KKyNkZWZpbmUgIEZTTUNfQkNSMl9XUkVOICAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMTAwMCkgICAgICAgIC8qITxXcml0ZSBlbmFibGUgYml0ICovCisjZGVmaW5lICBGU01DX0JDUjJfV0FJVEVOICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDIwMDApICAgICAgICAvKiE8V2FpdCBlbmFibGUgYml0ICovCisjZGVmaW5lICBGU01DX0JDUjJfRVhUTU9EICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDQwMDApICAgICAgICAvKiE8RXh0ZW5kZWQgbW9kZSBlbmFibGUgKi8KKyNkZWZpbmUgIEZTTUNfQkNSMl9BU1lOQ1dBSVQgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwODAwMCkgICAgICAgIC8qITxBc3luY2hyb25vdXMgd2FpdCAqLworI2RlZmluZSAgRlNNQ19CQ1IyX0NCVVJTVFJXICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDgwMDAwKSAgICAgICAgLyohPFdyaXRlIGJ1cnN0IGVuYWJsZSAqLworCisvKioqKioqKioqKioqKioqKioqICBCaXQgZGVmaW5pdGlvbiBmb3IgRlNNQ19CQ1IzIHJlZ2lzdGVyICAqKioqKioqKioqKioqKioqKioqLworI2RlZmluZSAgRlNNQ19CQ1IzX01CS0VOICAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwMDAxKSAgICAgICAgLyohPE1lbW9yeSBiYW5rIGVuYWJsZSBiaXQgKi8KKyNkZWZpbmUgIEZTTUNfQkNSM19NVVhFTiAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMDAwMikgICAgICAgIC8qITxBZGRyZXNzL2RhdGEgbXVsdGlwbGV4aW5nIGVuYWJsZSBiaXQgKi8KKworI2RlZmluZSAgRlNNQ19CQ1IzX01UWVAgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwMDBDKSAgICAgICAgLyohPE1UWVBbMTowXSBiaXRzIChNZW1vcnkgdHlwZSkgKi8KKyNkZWZpbmUgIEZTTUNfQkNSM19NVFlQXzAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMDAwNCkgICAgICAgIC8qITxCaXQgMCAqLworI2RlZmluZSAgRlNNQ19CQ1IzX01UWVBfMSAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwMDA4KSAgICAgICAgLyohPEJpdCAxICovCisKKyNkZWZpbmUgIEZTTUNfQkNSM19NV0lEICAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMDAzMCkgICAgICAgIC8qITxNV0lEWzE6MF0gYml0cyAoTWVtb3J5IGRhdGEgYnVzIHdpZHRoKSAqLworI2RlZmluZSAgRlNNQ19CQ1IzX01XSURfMCAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwMDEwKSAgICAgICAgLyohPEJpdCAwICovCisjZGVmaW5lICBGU01DX0JDUjNfTVdJRF8xICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDAwMjApICAgICAgICAvKiE8Qml0IDEgKi8KKworI2RlZmluZSAgRlNNQ19CQ1IzX0ZBQ0NFTiAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwMDQwKSAgICAgICAgLyohPEZsYXNoIGFjY2VzcyBlbmFibGUgKi8KKyNkZWZpbmUgIEZTTUNfQkNSM19CVVJTVEVOICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMDEwMCkgICAgICAgIC8qITxCdXJzdCBlbmFibGUgYml0ICovCisjZGVmaW5lICBGU01DX0JDUjNfV0FJVFBPTCAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDAyMDApICAgICAgICAvKiE8V2FpdCBzaWduYWwgcG9sYXJpdHkgYml0LiAqLworI2RlZmluZSAgRlNNQ19CQ1IzX1dSQVBNT0QgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwNDAwKSAgICAgICAgLyohPFdyYXBwZWQgYnVyc3QgbW9kZSBzdXBwb3J0ICovCisjZGVmaW5lICBGU01DX0JDUjNfV0FJVENGRyAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDA4MDApICAgICAgICAvKiE8V2FpdCB0aW1pbmcgY29uZmlndXJhdGlvbiAqLworI2RlZmluZSAgRlNNQ19CQ1IzX1dSRU4gICAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAxMDAwKSAgICAgICAgLyohPFdyaXRlIGVuYWJsZSBiaXQgKi8KKyNkZWZpbmUgIEZTTUNfQkNSM19XQUlURU4gICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMjAwMCkgICAgICAgIC8qITxXYWl0IGVuYWJsZSBiaXQgKi8KKyNkZWZpbmUgIEZTTUNfQkNSM19FWFRNT0QgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwNDAwMCkgICAgICAgIC8qITxFeHRlbmRlZCBtb2RlIGVuYWJsZSAqLworI2RlZmluZSAgRlNNQ19CQ1IzX0FTWU5DV0FJVCAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDA4MDAwKSAgICAgICAgLyohPEFzeW5jaHJvbm91cyB3YWl0ICovCisjZGVmaW5lICBGU01DX0JDUjNfQ0JVUlNUUlcgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwODAwMDApICAgICAgICAvKiE8V3JpdGUgYnVyc3QgZW5hYmxlICovCisKKy8qKioqKioqKioqKioqKioqKiogIEJpdCBkZWZpbml0aW9uIGZvciBGU01DX0JDUjQgcmVnaXN0ZXIgICoqKioqKioqKioqKioqKioqKiovCisjZGVmaW5lICBGU01DX0JDUjRfTUJLRU4gICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDAwMDEpICAgICAgICAvKiE8TWVtb3J5IGJhbmsgZW5hYmxlIGJpdCAqLworI2RlZmluZSAgRlNNQ19CQ1I0X01VWEVOICAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwMDAyKSAgICAgICAgLyohPEFkZHJlc3MvZGF0YSBtdWx0aXBsZXhpbmcgZW5hYmxlIGJpdCAqLworCisjZGVmaW5lICBGU01DX0JDUjRfTVRZUCAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDAwMEMpICAgICAgICAvKiE8TVRZUFsxOjBdIGJpdHMgKE1lbW9yeSB0eXBlKSAqLworI2RlZmluZSAgRlNNQ19CQ1I0X01UWVBfMCAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwMDA0KSAgICAgICAgLyohPEJpdCAwICovCisjZGVmaW5lICBGU01DX0JDUjRfTVRZUF8xICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDAwMDgpICAgICAgICAvKiE8Qml0IDEgKi8KKworI2RlZmluZSAgRlNNQ19CQ1I0X01XSUQgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwMDMwKSAgICAgICAgLyohPE1XSURbMTowXSBiaXRzIChNZW1vcnkgZGF0YSBidXMgd2lkdGgpICovCisjZGVmaW5lICBGU01DX0JDUjRfTVdJRF8wICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDAwMTApICAgICAgICAvKiE8Qml0IDAgKi8KKyNkZWZpbmUgIEZTTUNfQkNSNF9NV0lEXzEgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMDAyMCkgICAgICAgIC8qITxCaXQgMSAqLworCisjZGVmaW5lICBGU01DX0JDUjRfRkFDQ0VOICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDAwNDApICAgICAgICAvKiE8Rmxhc2ggYWNjZXNzIGVuYWJsZSAqLworI2RlZmluZSAgRlNNQ19CQ1I0X0JVUlNURU4gICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwMTAwKSAgICAgICAgLyohPEJ1cnN0IGVuYWJsZSBiaXQgKi8KKyNkZWZpbmUgIEZTTUNfQkNSNF9XQUlUUE9MICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMDIwMCkgICAgICAgIC8qITxXYWl0IHNpZ25hbCBwb2xhcml0eSBiaXQgKi8KKyNkZWZpbmUgIEZTTUNfQkNSNF9XUkFQTU9EICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMDQwMCkgICAgICAgIC8qITxXcmFwcGVkIGJ1cnN0IG1vZGUgc3VwcG9ydCAqLworI2RlZmluZSAgRlNNQ19CQ1I0X1dBSVRDRkcgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwODAwKSAgICAgICAgLyohPFdhaXQgdGltaW5nIGNvbmZpZ3VyYXRpb24gKi8KKyNkZWZpbmUgIEZTTUNfQkNSNF9XUkVOICAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMTAwMCkgICAgICAgIC8qITxXcml0ZSBlbmFibGUgYml0ICovCisjZGVmaW5lICBGU01DX0JDUjRfV0FJVEVOICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDIwMDApICAgICAgICAvKiE8V2FpdCBlbmFibGUgYml0ICovCisjZGVmaW5lICBGU01DX0JDUjRfRVhUTU9EICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDQwMDApICAgICAgICAvKiE8RXh0ZW5kZWQgbW9kZSBlbmFibGUgKi8KKyNkZWZpbmUgIEZTTUNfQkNSNF9BU1lOQ1dBSVQgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwODAwMCkgICAgICAgIC8qITxBc3luY2hyb25vdXMgd2FpdCAqLworI2RlZmluZSAgRlNNQ19CQ1I0X0NCVVJTVFJXICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDgwMDAwKSAgICAgICAgLyohPFdyaXRlIGJ1cnN0IGVuYWJsZSAqLworCisvKioqKioqKioqKioqKioqKioqICBCaXQgZGVmaW5pdGlvbiBmb3IgRlNNQ19CVFIxIHJlZ2lzdGVyICAqKioqKioqKioqKioqKioqKiovCisjZGVmaW5lICBGU01DX0JUUjFfQUREU0VUICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDAwMEYpICAgICAgICAvKiE8QUREU0VUWzM6MF0gYml0cyAoQWRkcmVzcyBzZXR1cCBwaGFzZSBkdXJhdGlvbikgKi8KKyNkZWZpbmUgIEZTTUNfQlRSMV9BRERTRVRfMCAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMDAwMSkgICAgICAgIC8qITxCaXQgMCAqLworI2RlZmluZSAgRlNNQ19CVFIxX0FERFNFVF8xICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwMDAyKSAgICAgICAgLyohPEJpdCAxICovCisjZGVmaW5lICBGU01DX0JUUjFfQUREU0VUXzIgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDAwMDQpICAgICAgICAvKiE8Qml0IDIgKi8KKyNkZWZpbmUgIEZTTUNfQlRSMV9BRERTRVRfMyAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMDAwOCkgICAgICAgIC8qITxCaXQgMyAqLworCisjZGVmaW5lICBGU01DX0JUUjFfQURESExEICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDAwRjApICAgICAgICAvKiE8QURESExEWzM6MF0gYml0cyAoQWRkcmVzcy1ob2xkIHBoYXNlIGR1cmF0aW9uKSAqLworI2RlZmluZSAgRlNNQ19CVFIxX0FEREhMRF8wICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwMDEwKSAgICAgICAgLyohPEJpdCAwICovCisjZGVmaW5lICBGU01DX0JUUjFfQURESExEXzEgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDAwMjApICAgICAgICAvKiE8Qml0IDEgKi8KKyNkZWZpbmUgIEZTTUNfQlRSMV9BRERITERfMiAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMDA0MCkgICAgICAgIC8qITxCaXQgMiAqLworI2RlZmluZSAgRlNNQ19CVFIxX0FEREhMRF8zICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwMDgwKSAgICAgICAgLyohPEJpdCAzICovCisKKyNkZWZpbmUgIEZTTUNfQlRSMV9EQVRBU1QgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwRkYwMCkgICAgICAgIC8qITxEQVRBU1QgWzM6MF0gYml0cyAoRGF0YS1waGFzZSBkdXJhdGlvbikgKi8KKyNkZWZpbmUgIEZTTUNfQlRSMV9EQVRBU1RfMCAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMDEwMCkgICAgICAgIC8qITxCaXQgMCAqLworI2RlZmluZSAgRlNNQ19CVFIxX0RBVEFTVF8xICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwMjAwKSAgICAgICAgLyohPEJpdCAxICovCisjZGVmaW5lICBGU01DX0JUUjFfREFUQVNUXzIgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDA0MDApICAgICAgICAvKiE8Qml0IDIgKi8KKyNkZWZpbmUgIEZTTUNfQlRSMV9EQVRBU1RfMyAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMDgwMCkgICAgICAgIC8qITxCaXQgMyAqLworCisjZGVmaW5lICBGU01DX0JUUjFfQlVTVFVSTiAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwRjAwMDApICAgICAgICAvKiE8QlVTVFVSTlszOjBdIGJpdHMgKEJ1cyB0dXJuYXJvdW5kIHBoYXNlIGR1cmF0aW9uKSAqLworI2RlZmluZSAgRlNNQ19CVFIxX0JVU1RVUk5fMCAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDEwMDAwKSAgICAgICAgLyohPEJpdCAwICovCisjZGVmaW5lICBGU01DX0JUUjFfQlVTVFVSTl8xICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMjAwMDApICAgICAgICAvKiE8Qml0IDEgKi8KKyNkZWZpbmUgIEZTTUNfQlRSMV9CVVNUVVJOXzIgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDA0MDAwMCkgICAgICAgIC8qITxCaXQgMiAqLworI2RlZmluZSAgRlNNQ19CVFIxX0JVU1RVUk5fMyAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDgwMDAwKSAgICAgICAgLyohPEJpdCAzICovCisKKyNkZWZpbmUgIEZTTUNfQlRSMV9DTEtESVYgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMEYwMDAwMCkgICAgICAgIC8qITxDTEtESVZbMzowXSBiaXRzIChDbG9jayBkaXZpZGUgcmF0aW8pICovCisjZGVmaW5lICBGU01DX0JUUjFfQ0xLRElWXzAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAxMDAwMDApICAgICAgICAvKiE8Qml0IDAgKi8KKyNkZWZpbmUgIEZTTUNfQlRSMV9DTEtESVZfMSAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDIwMDAwMCkgICAgICAgIC8qITxCaXQgMSAqLworI2RlZmluZSAgRlNNQ19CVFIxX0NMS0RJVl8yICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwNDAwMDAwKSAgICAgICAgLyohPEJpdCAyICovCisjZGVmaW5lICBGU01DX0JUUjFfQ0xLRElWXzMgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDA4MDAwMDApICAgICAgICAvKiE8Qml0IDMgKi8KKworI2RlZmluZSAgRlNNQ19CVFIxX0RBVExBVCAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDBGMDAwMDAwKSAgICAgICAgLyohPERBVExBWzM6MF0gYml0cyAoRGF0YSBsYXRlbmN5KSAqLworI2RlZmluZSAgRlNNQ19CVFIxX0RBVExBVF8wICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAxMDAwMDAwKSAgICAgICAgLyohPEJpdCAwICovCisjZGVmaW5lICBGU01DX0JUUjFfREFUTEFUXzEgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDIwMDAwMDApICAgICAgICAvKiE8Qml0IDEgKi8KKyNkZWZpbmUgIEZTTUNfQlRSMV9EQVRMQVRfMiAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwNDAwMDAwMCkgICAgICAgIC8qITxCaXQgMiAqLworI2RlZmluZSAgRlNNQ19CVFIxX0RBVExBVF8zICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDA4MDAwMDAwKSAgICAgICAgLyohPEJpdCAzICovCisKKyNkZWZpbmUgIEZTTUNfQlRSMV9BQ0NNT0QgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgzMDAwMDAwMCkgICAgICAgIC8qITxBQ0NNT0RbMTowXSBiaXRzIChBY2Nlc3MgbW9kZSkgKi8KKyNkZWZpbmUgIEZTTUNfQlRSMV9BQ0NNT0RfMCAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgxMDAwMDAwMCkgICAgICAgIC8qITxCaXQgMCAqLworI2RlZmluZSAgRlNNQ19CVFIxX0FDQ01PRF8xICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDIwMDAwMDAwKSAgICAgICAgLyohPEJpdCAxICovCisKKy8qKioqKioqKioqKioqKioqKiogIEJpdCBkZWZpbml0aW9uIGZvciBGU01DX0JUUjIgcmVnaXN0ZXIgICoqKioqKioqKioqKioqKioqKiovCisjZGVmaW5lICBGU01DX0JUUjJfQUREU0VUICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDAwMEYpICAgICAgICAvKiE8QUREU0VUWzM6MF0gYml0cyAoQWRkcmVzcyBzZXR1cCBwaGFzZSBkdXJhdGlvbikgKi8KKyNkZWZpbmUgIEZTTUNfQlRSMl9BRERTRVRfMCAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMDAwMSkgICAgICAgIC8qITxCaXQgMCAqLworI2RlZmluZSAgRlNNQ19CVFIyX0FERFNFVF8xICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwMDAyKSAgICAgICAgLyohPEJpdCAxICovCisjZGVmaW5lICBGU01DX0JUUjJfQUREU0VUXzIgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDAwMDQpICAgICAgICAvKiE8Qml0IDIgKi8KKyNkZWZpbmUgIEZTTUNfQlRSMl9BRERTRVRfMyAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMDAwOCkgICAgICAgIC8qITxCaXQgMyAqLworCisjZGVmaW5lICBGU01DX0JUUjJfQURESExEICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDAwRjApICAgICAgICAvKiE8QURESExEWzM6MF0gYml0cyAoQWRkcmVzcy1ob2xkIHBoYXNlIGR1cmF0aW9uKSAqLworI2RlZmluZSAgRlNNQ19CVFIyX0FEREhMRF8wICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwMDEwKSAgICAgICAgLyohPEJpdCAwICovCisjZGVmaW5lICBGU01DX0JUUjJfQURESExEXzEgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDAwMjApICAgICAgICAvKiE8Qml0IDEgKi8KKyNkZWZpbmUgIEZTTUNfQlRSMl9BRERITERfMiAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMDA0MCkgICAgICAgIC8qITxCaXQgMiAqLworI2RlZmluZSAgRlNNQ19CVFIyX0FEREhMRF8zICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwMDgwKSAgICAgICAgLyohPEJpdCAzICovCisKKyNkZWZpbmUgIEZTTUNfQlRSMl9EQVRBU1QgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwRkYwMCkgICAgICAgIC8qITxEQVRBU1QgWzM6MF0gYml0cyAoRGF0YS1waGFzZSBkdXJhdGlvbikgKi8KKyNkZWZpbmUgIEZTTUNfQlRSMl9EQVRBU1RfMCAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMDEwMCkgICAgICAgIC8qITxCaXQgMCAqLworI2RlZmluZSAgRlNNQ19CVFIyX0RBVEFTVF8xICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwMjAwKSAgICAgICAgLyohPEJpdCAxICovCisjZGVmaW5lICBGU01DX0JUUjJfREFUQVNUXzIgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDA0MDApICAgICAgICAvKiE8Qml0IDIgKi8KKyNkZWZpbmUgIEZTTUNfQlRSMl9EQVRBU1RfMyAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMDgwMCkgICAgICAgIC8qITxCaXQgMyAqLworCisjZGVmaW5lICBGU01DX0JUUjJfQlVTVFVSTiAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwRjAwMDApICAgICAgICAvKiE8QlVTVFVSTlszOjBdIGJpdHMgKEJ1cyB0dXJuYXJvdW5kIHBoYXNlIGR1cmF0aW9uKSAqLworI2RlZmluZSAgRlNNQ19CVFIyX0JVU1RVUk5fMCAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDEwMDAwKSAgICAgICAgLyohPEJpdCAwICovCisjZGVmaW5lICBGU01DX0JUUjJfQlVTVFVSTl8xICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMjAwMDApICAgICAgICAvKiE8Qml0IDEgKi8KKyNkZWZpbmUgIEZTTUNfQlRSMl9CVVNUVVJOXzIgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDA0MDAwMCkgICAgICAgIC8qITxCaXQgMiAqLworI2RlZmluZSAgRlNNQ19CVFIyX0JVU1RVUk5fMyAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDgwMDAwKSAgICAgICAgLyohPEJpdCAzICovCisKKyNkZWZpbmUgIEZTTUNfQlRSMl9DTEtESVYgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMEYwMDAwMCkgICAgICAgIC8qITxDTEtESVZbMzowXSBiaXRzIChDbG9jayBkaXZpZGUgcmF0aW8pICovCisjZGVmaW5lICBGU01DX0JUUjJfQ0xLRElWXzAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAxMDAwMDApICAgICAgICAvKiE8Qml0IDAgKi8KKyNkZWZpbmUgIEZTTUNfQlRSMl9DTEtESVZfMSAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDIwMDAwMCkgICAgICAgIC8qITxCaXQgMSAqLworI2RlZmluZSAgRlNNQ19CVFIyX0NMS0RJVl8yICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwNDAwMDAwKSAgICAgICAgLyohPEJpdCAyICovCisjZGVmaW5lICBGU01DX0JUUjJfQ0xLRElWXzMgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDA4MDAwMDApICAgICAgICAvKiE8Qml0IDMgKi8KKworI2RlZmluZSAgRlNNQ19CVFIyX0RBVExBVCAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDBGMDAwMDAwKSAgICAgICAgLyohPERBVExBWzM6MF0gYml0cyAoRGF0YSBsYXRlbmN5KSAqLworI2RlZmluZSAgRlNNQ19CVFIyX0RBVExBVF8wICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAxMDAwMDAwKSAgICAgICAgLyohPEJpdCAwICovCisjZGVmaW5lICBGU01DX0JUUjJfREFUTEFUXzEgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDIwMDAwMDApICAgICAgICAvKiE8Qml0IDEgKi8KKyNkZWZpbmUgIEZTTUNfQlRSMl9EQVRMQVRfMiAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwNDAwMDAwMCkgICAgICAgIC8qITxCaXQgMiAqLworI2RlZmluZSAgRlNNQ19CVFIyX0RBVExBVF8zICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDA4MDAwMDAwKSAgICAgICAgLyohPEJpdCAzICovCisKKyNkZWZpbmUgIEZTTUNfQlRSMl9BQ0NNT0QgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgzMDAwMDAwMCkgICAgICAgIC8qITxBQ0NNT0RbMTowXSBiaXRzIChBY2Nlc3MgbW9kZSkgKi8KKyNkZWZpbmUgIEZTTUNfQlRSMl9BQ0NNT0RfMCAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgxMDAwMDAwMCkgICAgICAgIC8qITxCaXQgMCAqLworI2RlZmluZSAgRlNNQ19CVFIyX0FDQ01PRF8xICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDIwMDAwMDAwKSAgICAgICAgLyohPEJpdCAxICovCisKKy8qKioqKioqKioqKioqKioqKioqICBCaXQgZGVmaW5pdGlvbiBmb3IgRlNNQ19CVFIzIHJlZ2lzdGVyICAqKioqKioqKioqKioqKioqKioqLworI2RlZmluZSAgRlNNQ19CVFIzX0FERFNFVCAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwMDBGKSAgICAgICAgLyohPEFERFNFVFszOjBdIGJpdHMgKEFkZHJlc3Mgc2V0dXAgcGhhc2UgZHVyYXRpb24pICovCisjZGVmaW5lICBGU01DX0JUUjNfQUREU0VUXzAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDAwMDEpICAgICAgICAvKiE8Qml0IDAgKi8KKyNkZWZpbmUgIEZTTUNfQlRSM19BRERTRVRfMSAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMDAwMikgICAgICAgIC8qITxCaXQgMSAqLworI2RlZmluZSAgRlNNQ19CVFIzX0FERFNFVF8yICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwMDA0KSAgICAgICAgLyohPEJpdCAyICovCisjZGVmaW5lICBGU01DX0JUUjNfQUREU0VUXzMgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDAwMDgpICAgICAgICAvKiE8Qml0IDMgKi8KKworI2RlZmluZSAgRlNNQ19CVFIzX0FEREhMRCAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwMEYwKSAgICAgICAgLyohPEFEREhMRFszOjBdIGJpdHMgKEFkZHJlc3MtaG9sZCBwaGFzZSBkdXJhdGlvbikgKi8KKyNkZWZpbmUgIEZTTUNfQlRSM19BRERITERfMCAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMDAxMCkgICAgICAgIC8qITxCaXQgMCAqLworI2RlZmluZSAgRlNNQ19CVFIzX0FEREhMRF8xICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwMDIwKSAgICAgICAgLyohPEJpdCAxICovCisjZGVmaW5lICBGU01DX0JUUjNfQURESExEXzIgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDAwNDApICAgICAgICAvKiE8Qml0IDIgKi8KKyNkZWZpbmUgIEZTTUNfQlRSM19BRERITERfMyAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMDA4MCkgICAgICAgIC8qITxCaXQgMyAqLworCisjZGVmaW5lICBGU01DX0JUUjNfREFUQVNUICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMEZGMDApICAgICAgICAvKiE8REFUQVNUIFszOjBdIGJpdHMgKERhdGEtcGhhc2UgZHVyYXRpb24pICovCisjZGVmaW5lICBGU01DX0JUUjNfREFUQVNUXzAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDAxMDApICAgICAgICAvKiE8Qml0IDAgKi8KKyNkZWZpbmUgIEZTTUNfQlRSM19EQVRBU1RfMSAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMDIwMCkgICAgICAgIC8qITxCaXQgMSAqLworI2RlZmluZSAgRlNNQ19CVFIzX0RBVEFTVF8yICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwNDAwKSAgICAgICAgLyohPEJpdCAyICovCisjZGVmaW5lICBGU01DX0JUUjNfREFUQVNUXzMgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDA4MDApICAgICAgICAvKiE8Qml0IDMgKi8KKworI2RlZmluZSAgRlNNQ19CVFIzX0JVU1RVUk4gICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMEYwMDAwKSAgICAgICAgLyohPEJVU1RVUk5bMzowXSBiaXRzIChCdXMgdHVybmFyb3VuZCBwaGFzZSBkdXJhdGlvbikgKi8KKyNkZWZpbmUgIEZTTUNfQlRSM19CVVNUVVJOXzAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAxMDAwMCkgICAgICAgIC8qITxCaXQgMCAqLworI2RlZmluZSAgRlNNQ19CVFIzX0JVU1RVUk5fMSAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDIwMDAwKSAgICAgICAgLyohPEJpdCAxICovCisjZGVmaW5lICBGU01DX0JUUjNfQlVTVFVSTl8yICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwNDAwMDApICAgICAgICAvKiE8Qml0IDIgKi8KKyNkZWZpbmUgIEZTTUNfQlRSM19CVVNUVVJOXzMgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDA4MDAwMCkgICAgICAgIC8qITxCaXQgMyAqLworCisjZGVmaW5lICBGU01DX0JUUjNfQ0xLRElWICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDBGMDAwMDApICAgICAgICAvKiE8Q0xLRElWWzM6MF0gYml0cyAoQ2xvY2sgZGl2aWRlIHJhdGlvKSAqLworI2RlZmluZSAgRlNNQ19CVFIzX0NMS0RJVl8wICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMTAwMDAwKSAgICAgICAgLyohPEJpdCAwICovCisjZGVmaW5lICBGU01DX0JUUjNfQ0xLRElWXzEgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAyMDAwMDApICAgICAgICAvKiE8Qml0IDEgKi8KKyNkZWZpbmUgIEZTTUNfQlRSM19DTEtESVZfMiAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDQwMDAwMCkgICAgICAgIC8qITxCaXQgMiAqLworI2RlZmluZSAgRlNNQ19CVFIzX0NMS0RJVl8zICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwODAwMDAwKSAgICAgICAgLyohPEJpdCAzICovCisKKyNkZWZpbmUgIEZTTUNfQlRSM19EQVRMQVQgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwRjAwMDAwMCkgICAgICAgIC8qITxEQVRMQVszOjBdIGJpdHMgKERhdGEgbGF0ZW5jeSkgKi8KKyNkZWZpbmUgIEZTTUNfQlRSM19EQVRMQVRfMCAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMTAwMDAwMCkgICAgICAgIC8qITxCaXQgMCAqLworI2RlZmluZSAgRlNNQ19CVFIzX0RBVExBVF8xICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAyMDAwMDAwKSAgICAgICAgLyohPEJpdCAxICovCisjZGVmaW5lICBGU01DX0JUUjNfREFUTEFUXzIgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDQwMDAwMDApICAgICAgICAvKiE8Qml0IDIgKi8KKyNkZWZpbmUgIEZTTUNfQlRSM19EQVRMQVRfMyAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwODAwMDAwMCkgICAgICAgIC8qITxCaXQgMyAqLworCisjZGVmaW5lICBGU01DX0JUUjNfQUNDTU9EICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MzAwMDAwMDApICAgICAgICAvKiE8QUNDTU9EWzE6MF0gYml0cyAoQWNjZXNzIG1vZGUpICovCisjZGVmaW5lICBGU01DX0JUUjNfQUNDTU9EXzAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MTAwMDAwMDApICAgICAgICAvKiE8Qml0IDAgKi8KKyNkZWZpbmUgIEZTTUNfQlRSM19BQ0NNT0RfMSAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgyMDAwMDAwMCkgICAgICAgIC8qITxCaXQgMSAqLworCisvKioqKioqKioqKioqKioqKioqICBCaXQgZGVmaW5pdGlvbiBmb3IgRlNNQ19CVFI0IHJlZ2lzdGVyICAqKioqKioqKioqKioqKioqKioqLworI2RlZmluZSAgRlNNQ19CVFI0X0FERFNFVCAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwMDBGKSAgICAgICAgLyohPEFERFNFVFszOjBdIGJpdHMgKEFkZHJlc3Mgc2V0dXAgcGhhc2UgZHVyYXRpb24pICovCisjZGVmaW5lICBGU01DX0JUUjRfQUREU0VUXzAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDAwMDEpICAgICAgICAvKiE8Qml0IDAgKi8KKyNkZWZpbmUgIEZTTUNfQlRSNF9BRERTRVRfMSAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMDAwMikgICAgICAgIC8qITxCaXQgMSAqLworI2RlZmluZSAgRlNNQ19CVFI0X0FERFNFVF8yICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwMDA0KSAgICAgICAgLyohPEJpdCAyICovCisjZGVmaW5lICBGU01DX0JUUjRfQUREU0VUXzMgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDAwMDgpICAgICAgICAvKiE8Qml0IDMgKi8KKworI2RlZmluZSAgRlNNQ19CVFI0X0FEREhMRCAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwMEYwKSAgICAgICAgLyohPEFEREhMRFszOjBdIGJpdHMgKEFkZHJlc3MtaG9sZCBwaGFzZSBkdXJhdGlvbikgKi8KKyNkZWZpbmUgIEZTTUNfQlRSNF9BRERITERfMCAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMDAxMCkgICAgICAgIC8qITxCaXQgMCAqLworI2RlZmluZSAgRlNNQ19CVFI0X0FEREhMRF8xICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwMDIwKSAgICAgICAgLyohPEJpdCAxICovCisjZGVmaW5lICBGU01DX0JUUjRfQURESExEXzIgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDAwNDApICAgICAgICAvKiE8Qml0IDIgKi8KKyNkZWZpbmUgIEZTTUNfQlRSNF9BRERITERfMyAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMDA4MCkgICAgICAgIC8qITxCaXQgMyAqLworCisjZGVmaW5lICBGU01DX0JUUjRfREFUQVNUICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMEZGMDApICAgICAgICAvKiE8REFUQVNUIFszOjBdIGJpdHMgKERhdGEtcGhhc2UgZHVyYXRpb24pICovCisjZGVmaW5lICBGU01DX0JUUjRfREFUQVNUXzAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDAxMDApICAgICAgICAvKiE8Qml0IDAgKi8KKyNkZWZpbmUgIEZTTUNfQlRSNF9EQVRBU1RfMSAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMDIwMCkgICAgICAgIC8qITxCaXQgMSAqLworI2RlZmluZSAgRlNNQ19CVFI0X0RBVEFTVF8yICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwNDAwKSAgICAgICAgLyohPEJpdCAyICovCisjZGVmaW5lICBGU01DX0JUUjRfREFUQVNUXzMgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDA4MDApICAgICAgICAvKiE8Qml0IDMgKi8KKworI2RlZmluZSAgRlNNQ19CVFI0X0JVU1RVUk4gICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMEYwMDAwKSAgICAgICAgLyohPEJVU1RVUk5bMzowXSBiaXRzIChCdXMgdHVybmFyb3VuZCBwaGFzZSBkdXJhdGlvbikgKi8KKyNkZWZpbmUgIEZTTUNfQlRSNF9CVVNUVVJOXzAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAxMDAwMCkgICAgICAgIC8qITxCaXQgMCAqLworI2RlZmluZSAgRlNNQ19CVFI0X0JVU1RVUk5fMSAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDIwMDAwKSAgICAgICAgLyohPEJpdCAxICovCisjZGVmaW5lICBGU01DX0JUUjRfQlVTVFVSTl8yICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwNDAwMDApICAgICAgICAvKiE8Qml0IDIgKi8KKyNkZWZpbmUgIEZTTUNfQlRSNF9CVVNUVVJOXzMgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDA4MDAwMCkgICAgICAgIC8qITxCaXQgMyAqLworCisjZGVmaW5lICBGU01DX0JUUjRfQ0xLRElWICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDBGMDAwMDApICAgICAgICAvKiE8Q0xLRElWWzM6MF0gYml0cyAoQ2xvY2sgZGl2aWRlIHJhdGlvKSAqLworI2RlZmluZSAgRlNNQ19CVFI0X0NMS0RJVl8wICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMTAwMDAwKSAgICAgICAgLyohPEJpdCAwICovCisjZGVmaW5lICBGU01DX0JUUjRfQ0xLRElWXzEgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAyMDAwMDApICAgICAgICAvKiE8Qml0IDEgKi8KKyNkZWZpbmUgIEZTTUNfQlRSNF9DTEtESVZfMiAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDQwMDAwMCkgICAgICAgIC8qITxCaXQgMiAqLworI2RlZmluZSAgRlNNQ19CVFI0X0NMS0RJVl8zICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwODAwMDAwKSAgICAgICAgLyohPEJpdCAzICovCisKKyNkZWZpbmUgIEZTTUNfQlRSNF9EQVRMQVQgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwRjAwMDAwMCkgICAgICAgIC8qITxEQVRMQVszOjBdIGJpdHMgKERhdGEgbGF0ZW5jeSkgKi8KKyNkZWZpbmUgIEZTTUNfQlRSNF9EQVRMQVRfMCAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMTAwMDAwMCkgICAgICAgIC8qITxCaXQgMCAqLworI2RlZmluZSAgRlNNQ19CVFI0X0RBVExBVF8xICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAyMDAwMDAwKSAgICAgICAgLyohPEJpdCAxICovCisjZGVmaW5lICBGU01DX0JUUjRfREFUTEFUXzIgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDQwMDAwMDApICAgICAgICAvKiE8Qml0IDIgKi8KKyNkZWZpbmUgIEZTTUNfQlRSNF9EQVRMQVRfMyAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwODAwMDAwMCkgICAgICAgIC8qITxCaXQgMyAqLworCisjZGVmaW5lICBGU01DX0JUUjRfQUNDTU9EICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MzAwMDAwMDApICAgICAgICAvKiE8QUNDTU9EWzE6MF0gYml0cyAoQWNjZXNzIG1vZGUpICovCisjZGVmaW5lICBGU01DX0JUUjRfQUNDTU9EXzAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MTAwMDAwMDApICAgICAgICAvKiE8Qml0IDAgKi8KKyNkZWZpbmUgIEZTTUNfQlRSNF9BQ0NNT0RfMSAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgyMDAwMDAwMCkgICAgICAgIC8qITxCaXQgMSAqLworCisvKioqKioqKioqKioqKioqKioqICBCaXQgZGVmaW5pdGlvbiBmb3IgRlNNQ19CV1RSMSByZWdpc3RlciAgKioqKioqKioqKioqKioqKioqLworI2RlZmluZSAgRlNNQ19CV1RSMV9BRERTRVQgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwMDBGKSAgICAgICAgLyohPEFERFNFVFszOjBdIGJpdHMgKEFkZHJlc3Mgc2V0dXAgcGhhc2UgZHVyYXRpb24pICovCisjZGVmaW5lICBGU01DX0JXVFIxX0FERFNFVF8wICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDAwMDEpICAgICAgICAvKiE8Qml0IDAgKi8KKyNkZWZpbmUgIEZTTUNfQldUUjFfQUREU0VUXzEgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMDAwMikgICAgICAgIC8qITxCaXQgMSAqLworI2RlZmluZSAgRlNNQ19CV1RSMV9BRERTRVRfMiAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwMDA0KSAgICAgICAgLyohPEJpdCAyICovCisjZGVmaW5lICBGU01DX0JXVFIxX0FERFNFVF8zICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDAwMDgpICAgICAgICAvKiE8Qml0IDMgKi8KKworI2RlZmluZSAgRlNNQ19CV1RSMV9BRERITEQgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwMEYwKSAgICAgICAgLyohPEFEREhMRFszOjBdIGJpdHMgKEFkZHJlc3MtaG9sZCBwaGFzZSBkdXJhdGlvbikgKi8KKyNkZWZpbmUgIEZTTUNfQldUUjFfQURESExEXzAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMDAxMCkgICAgICAgIC8qITxCaXQgMCAqLworI2RlZmluZSAgRlNNQ19CV1RSMV9BRERITERfMSAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwMDIwKSAgICAgICAgLyohPEJpdCAxICovCisjZGVmaW5lICBGU01DX0JXVFIxX0FEREhMRF8yICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDAwNDApICAgICAgICAvKiE8Qml0IDIgKi8KKyNkZWZpbmUgIEZTTUNfQldUUjFfQURESExEXzMgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMDA4MCkgICAgICAgIC8qITxCaXQgMyAqLworCisjZGVmaW5lICBGU01DX0JXVFIxX0RBVEFTVCAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMEZGMDApICAgICAgICAvKiE8REFUQVNUIFszOjBdIGJpdHMgKERhdGEtcGhhc2UgZHVyYXRpb24pICovCisjZGVmaW5lICBGU01DX0JXVFIxX0RBVEFTVF8wICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDAxMDApICAgICAgICAvKiE8Qml0IDAgKi8KKyNkZWZpbmUgIEZTTUNfQldUUjFfREFUQVNUXzEgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMDIwMCkgICAgICAgIC8qITxCaXQgMSAqLworI2RlZmluZSAgRlNNQ19CV1RSMV9EQVRBU1RfMiAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwNDAwKSAgICAgICAgLyohPEJpdCAyICovCisjZGVmaW5lICBGU01DX0JXVFIxX0RBVEFTVF8zICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDA4MDApICAgICAgICAvKiE8Qml0IDMgKi8KKworI2RlZmluZSAgRlNNQ19CV1RSMV9DTEtESVYgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwRjAwMDAwKSAgICAgICAgLyohPENMS0RJVlszOjBdIGJpdHMgKENsb2NrIGRpdmlkZSByYXRpbykgKi8KKyNkZWZpbmUgIEZTTUNfQldUUjFfQ0xLRElWXzAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDEwMDAwMCkgICAgICAgIC8qITxCaXQgMCAqLworI2RlZmluZSAgRlNNQ19CV1RSMV9DTEtESVZfMSAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMjAwMDAwKSAgICAgICAgLyohPEJpdCAxICovCisjZGVmaW5lICBGU01DX0JXVFIxX0NMS0RJVl8yICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDA0MDAwMDApICAgICAgICAvKiE8Qml0IDIgKi8KKyNkZWZpbmUgIEZTTUNfQldUUjFfQ0xLRElWXzMgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDgwMDAwMCkgICAgICAgIC8qITxCaXQgMyAqLworCisjZGVmaW5lICBGU01DX0JXVFIxX0RBVExBVCAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MEYwMDAwMDApICAgICAgICAvKiE8REFUTEFbMzowXSBiaXRzIChEYXRhIGxhdGVuY3kpICovCisjZGVmaW5lICBGU01DX0JXVFIxX0RBVExBVF8wICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDEwMDAwMDApICAgICAgICAvKiE8Qml0IDAgKi8KKyNkZWZpbmUgIEZTTUNfQldUUjFfREFUTEFUXzEgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMjAwMDAwMCkgICAgICAgIC8qITxCaXQgMSAqLworI2RlZmluZSAgRlNNQ19CV1RSMV9EQVRMQVRfMiAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDA0MDAwMDAwKSAgICAgICAgLyohPEJpdCAyICovCisjZGVmaW5lICBGU01DX0JXVFIxX0RBVExBVF8zICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDgwMDAwMDApICAgICAgICAvKiE8Qml0IDMgKi8KKworI2RlZmluZSAgRlNNQ19CV1RSMV9BQ0NNT0QgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDMwMDAwMDAwKSAgICAgICAgLyohPEFDQ01PRFsxOjBdIGJpdHMgKEFjY2VzcyBtb2RlKSAqLworI2RlZmluZSAgRlNNQ19CV1RSMV9BQ0NNT0RfMCAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDEwMDAwMDAwKSAgICAgICAgLyohPEJpdCAwICovCisjZGVmaW5lICBGU01DX0JXVFIxX0FDQ01PRF8xICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MjAwMDAwMDApICAgICAgICAvKiE8Qml0IDEgKi8KKworLyoqKioqKioqKioqKioqKioqKiAgQml0IGRlZmluaXRpb24gZm9yIEZTTUNfQldUUjIgcmVnaXN0ZXIgICoqKioqKioqKioqKioqKioqKi8KKyNkZWZpbmUgIEZTTUNfQldUUjJfQUREU0VUICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMDAwRikgICAgICAgIC8qITxBRERTRVRbMzowXSBiaXRzIChBZGRyZXNzIHNldHVwIHBoYXNlIGR1cmF0aW9uKSAqLworI2RlZmluZSAgRlNNQ19CV1RSMl9BRERTRVRfMCAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwMDAxKSAgICAgICAgLyohPEJpdCAwICovCisjZGVmaW5lICBGU01DX0JXVFIyX0FERFNFVF8xICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDAwMDIpICAgICAgICAvKiE8Qml0IDEgKi8KKyNkZWZpbmUgIEZTTUNfQldUUjJfQUREU0VUXzIgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMDAwNCkgICAgICAgIC8qITxCaXQgMiAqLworI2RlZmluZSAgRlNNQ19CV1RSMl9BRERTRVRfMyAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwMDA4KSAgICAgICAgLyohPEJpdCAzICovCisKKyNkZWZpbmUgIEZTTUNfQldUUjJfQURESExEICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMDBGMCkgICAgICAgIC8qITxBRERITERbMzowXSBiaXRzIChBZGRyZXNzLWhvbGQgcGhhc2UgZHVyYXRpb24pICovCisjZGVmaW5lICBGU01DX0JXVFIyX0FEREhMRF8wICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDAwMTApICAgICAgICAvKiE8Qml0IDAgKi8KKyNkZWZpbmUgIEZTTUNfQldUUjJfQURESExEXzEgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMDAyMCkgICAgICAgIC8qITxCaXQgMSAqLworI2RlZmluZSAgRlNNQ19CV1RSMl9BRERITERfMiAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwMDQwKSAgICAgICAgLyohPEJpdCAyICovCisjZGVmaW5lICBGU01DX0JXVFIyX0FEREhMRF8zICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDAwODApICAgICAgICAvKiE8Qml0IDMgKi8KKworI2RlZmluZSAgRlNNQ19CV1RSMl9EQVRBU1QgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDBGRjAwKSAgICAgICAgLyohPERBVEFTVCBbMzowXSBiaXRzIChEYXRhLXBoYXNlIGR1cmF0aW9uKSAqLworI2RlZmluZSAgRlNNQ19CV1RSMl9EQVRBU1RfMCAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwMTAwKSAgICAgICAgLyohPEJpdCAwICovCisjZGVmaW5lICBGU01DX0JXVFIyX0RBVEFTVF8xICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDAyMDApICAgICAgICAvKiE8Qml0IDEgKi8KKyNkZWZpbmUgIEZTTUNfQldUUjJfREFUQVNUXzIgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMDQwMCkgICAgICAgIC8qITxCaXQgMiAqLworI2RlZmluZSAgRlNNQ19CV1RSMl9EQVRBU1RfMyAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwODAwKSAgICAgICAgLyohPEJpdCAzICovCisKKyNkZWZpbmUgIEZTTUNfQldUUjJfQ0xLRElWICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMEYwMDAwMCkgICAgICAgIC8qITxDTEtESVZbMzowXSBiaXRzIChDbG9jayBkaXZpZGUgcmF0aW8pICovCisjZGVmaW5lICBGU01DX0JXVFIyX0NMS0RJVl8wICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAxMDAwMDApICAgICAgICAvKiE8Qml0IDAgKi8KKyNkZWZpbmUgIEZTTUNfQldUUjJfQ0xLRElWXzEgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDIwMDAwMCkgICAgICAgIC8qITxCaXQgMSovCisjZGVmaW5lICBGU01DX0JXVFIyX0NMS0RJVl8yICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDA0MDAwMDApICAgICAgICAvKiE8Qml0IDIgKi8KKyNkZWZpbmUgIEZTTUNfQldUUjJfQ0xLRElWXzMgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDgwMDAwMCkgICAgICAgIC8qITxCaXQgMyAqLworCisjZGVmaW5lICBGU01DX0JXVFIyX0RBVExBVCAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MEYwMDAwMDApICAgICAgICAvKiE8REFUTEFbMzowXSBiaXRzIChEYXRhIGxhdGVuY3kpICovCisjZGVmaW5lICBGU01DX0JXVFIyX0RBVExBVF8wICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDEwMDAwMDApICAgICAgICAvKiE8Qml0IDAgKi8KKyNkZWZpbmUgIEZTTUNfQldUUjJfREFUTEFUXzEgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMjAwMDAwMCkgICAgICAgIC8qITxCaXQgMSAqLworI2RlZmluZSAgRlNNQ19CV1RSMl9EQVRMQVRfMiAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDA0MDAwMDAwKSAgICAgICAgLyohPEJpdCAyICovCisjZGVmaW5lICBGU01DX0JXVFIyX0RBVExBVF8zICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDgwMDAwMDApICAgICAgICAvKiE8Qml0IDMgKi8KKworI2RlZmluZSAgRlNNQ19CV1RSMl9BQ0NNT0QgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDMwMDAwMDAwKSAgICAgICAgLyohPEFDQ01PRFsxOjBdIGJpdHMgKEFjY2VzcyBtb2RlKSAqLworI2RlZmluZSAgRlNNQ19CV1RSMl9BQ0NNT0RfMCAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDEwMDAwMDAwKSAgICAgICAgLyohPEJpdCAwICovCisjZGVmaW5lICBGU01DX0JXVFIyX0FDQ01PRF8xICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MjAwMDAwMDApICAgICAgICAvKiE8Qml0IDEgKi8KKworLyoqKioqKioqKioqKioqKioqKiAgQml0IGRlZmluaXRpb24gZm9yIEZTTUNfQldUUjMgcmVnaXN0ZXIgICoqKioqKioqKioqKioqKioqKi8KKyNkZWZpbmUgIEZTTUNfQldUUjNfQUREU0VUICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMDAwRikgICAgICAgIC8qITxBRERTRVRbMzowXSBiaXRzIChBZGRyZXNzIHNldHVwIHBoYXNlIGR1cmF0aW9uKSAqLworI2RlZmluZSAgRlNNQ19CV1RSM19BRERTRVRfMCAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwMDAxKSAgICAgICAgLyohPEJpdCAwICovCisjZGVmaW5lICBGU01DX0JXVFIzX0FERFNFVF8xICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDAwMDIpICAgICAgICAvKiE8Qml0IDEgKi8KKyNkZWZpbmUgIEZTTUNfQldUUjNfQUREU0VUXzIgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMDAwNCkgICAgICAgIC8qITxCaXQgMiAqLworI2RlZmluZSAgRlNNQ19CV1RSM19BRERTRVRfMyAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwMDA4KSAgICAgICAgLyohPEJpdCAzICovCisKKyNkZWZpbmUgIEZTTUNfQldUUjNfQURESExEICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMDBGMCkgICAgICAgIC8qITxBRERITERbMzowXSBiaXRzIChBZGRyZXNzLWhvbGQgcGhhc2UgZHVyYXRpb24pICovCisjZGVmaW5lICBGU01DX0JXVFIzX0FEREhMRF8wICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDAwMTApICAgICAgICAvKiE8Qml0IDAgKi8KKyNkZWZpbmUgIEZTTUNfQldUUjNfQURESExEXzEgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMDAyMCkgICAgICAgIC8qITxCaXQgMSAqLworI2RlZmluZSAgRlNNQ19CV1RSM19BRERITERfMiAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwMDQwKSAgICAgICAgLyohPEJpdCAyICovCisjZGVmaW5lICBGU01DX0JXVFIzX0FEREhMRF8zICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDAwODApICAgICAgICAvKiE8Qml0IDMgKi8KKworI2RlZmluZSAgRlNNQ19CV1RSM19EQVRBU1QgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDBGRjAwKSAgICAgICAgLyohPERBVEFTVCBbMzowXSBiaXRzIChEYXRhLXBoYXNlIGR1cmF0aW9uKSAqLworI2RlZmluZSAgRlNNQ19CV1RSM19EQVRBU1RfMCAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwMTAwKSAgICAgICAgLyohPEJpdCAwICovCisjZGVmaW5lICBGU01DX0JXVFIzX0RBVEFTVF8xICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDAyMDApICAgICAgICAvKiE8Qml0IDEgKi8KKyNkZWZpbmUgIEZTTUNfQldUUjNfREFUQVNUXzIgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMDQwMCkgICAgICAgIC8qITxCaXQgMiAqLworI2RlZmluZSAgRlNNQ19CV1RSM19EQVRBU1RfMyAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwODAwKSAgICAgICAgLyohPEJpdCAzICovCisKKyNkZWZpbmUgIEZTTUNfQldUUjNfQ0xLRElWICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMEYwMDAwMCkgICAgICAgIC8qITxDTEtESVZbMzowXSBiaXRzIChDbG9jayBkaXZpZGUgcmF0aW8pICovCisjZGVmaW5lICBGU01DX0JXVFIzX0NMS0RJVl8wICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAxMDAwMDApICAgICAgICAvKiE8Qml0IDAgKi8KKyNkZWZpbmUgIEZTTUNfQldUUjNfQ0xLRElWXzEgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDIwMDAwMCkgICAgICAgIC8qITxCaXQgMSAqLworI2RlZmluZSAgRlNNQ19CV1RSM19DTEtESVZfMiAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwNDAwMDAwKSAgICAgICAgLyohPEJpdCAyICovCisjZGVmaW5lICBGU01DX0JXVFIzX0NMS0RJVl8zICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDA4MDAwMDApICAgICAgICAvKiE8Qml0IDMgKi8KKworI2RlZmluZSAgRlNNQ19CV1RSM19EQVRMQVQgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDBGMDAwMDAwKSAgICAgICAgLyohPERBVExBWzM6MF0gYml0cyAoRGF0YSBsYXRlbmN5KSAqLworI2RlZmluZSAgRlNNQ19CV1RSM19EQVRMQVRfMCAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAxMDAwMDAwKSAgICAgICAgLyohPEJpdCAwICovCisjZGVmaW5lICBGU01DX0JXVFIzX0RBVExBVF8xICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDIwMDAwMDApICAgICAgICAvKiE8Qml0IDEgKi8KKyNkZWZpbmUgIEZTTUNfQldUUjNfREFUTEFUXzIgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwNDAwMDAwMCkgICAgICAgIC8qITxCaXQgMiAqLworI2RlZmluZSAgRlNNQ19CV1RSM19EQVRMQVRfMyAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDA4MDAwMDAwKSAgICAgICAgLyohPEJpdCAzICovCisKKyNkZWZpbmUgIEZTTUNfQldUUjNfQUNDTU9EICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgzMDAwMDAwMCkgICAgICAgIC8qITxBQ0NNT0RbMTowXSBiaXRzIChBY2Nlc3MgbW9kZSkgKi8KKyNkZWZpbmUgIEZTTUNfQldUUjNfQUNDTU9EXzAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgxMDAwMDAwMCkgICAgICAgIC8qITxCaXQgMCAqLworI2RlZmluZSAgRlNNQ19CV1RSM19BQ0NNT0RfMSAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDIwMDAwMDAwKSAgICAgICAgLyohPEJpdCAxICovCisKKy8qKioqKioqKioqKioqKioqKiogIEJpdCBkZWZpbml0aW9uIGZvciBGU01DX0JXVFI0IHJlZ2lzdGVyICAqKioqKioqKioqKioqKioqKiovCisjZGVmaW5lICBGU01DX0JXVFI0X0FERFNFVCAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDAwMEYpICAgICAgICAvKiE8QUREU0VUWzM6MF0gYml0cyAoQWRkcmVzcyBzZXR1cCBwaGFzZSBkdXJhdGlvbikgKi8KKyNkZWZpbmUgIEZTTUNfQldUUjRfQUREU0VUXzAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMDAwMSkgICAgICAgIC8qITxCaXQgMCAqLworI2RlZmluZSAgRlNNQ19CV1RSNF9BRERTRVRfMSAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwMDAyKSAgICAgICAgLyohPEJpdCAxICovCisjZGVmaW5lICBGU01DX0JXVFI0X0FERFNFVF8yICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDAwMDQpICAgICAgICAvKiE8Qml0IDIgKi8KKyNkZWZpbmUgIEZTTUNfQldUUjRfQUREU0VUXzMgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMDAwOCkgICAgICAgIC8qITxCaXQgMyAqLworCisjZGVmaW5lICBGU01DX0JXVFI0X0FEREhMRCAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDAwRjApICAgICAgICAvKiE8QURESExEWzM6MF0gYml0cyAoQWRkcmVzcy1ob2xkIHBoYXNlIGR1cmF0aW9uKSAqLworI2RlZmluZSAgRlNNQ19CV1RSNF9BRERITERfMCAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwMDEwKSAgICAgICAgLyohPEJpdCAwICovCisjZGVmaW5lICBGU01DX0JXVFI0X0FEREhMRF8xICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDAwMjApICAgICAgICAvKiE8Qml0IDEgKi8KKyNkZWZpbmUgIEZTTUNfQldUUjRfQURESExEXzIgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMDA0MCkgICAgICAgIC8qITxCaXQgMiAqLworI2RlZmluZSAgRlNNQ19CV1RSNF9BRERITERfMyAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwMDgwKSAgICAgICAgLyohPEJpdCAzICovCisKKyNkZWZpbmUgIEZTTUNfQldUUjRfREFUQVNUICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwRkYwMCkgICAgICAgIC8qITxEQVRBU1QgWzM6MF0gYml0cyAoRGF0YS1waGFzZSBkdXJhdGlvbikgKi8KKyNkZWZpbmUgIEZTTUNfQldUUjRfREFUQVNUXzAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMDEwMCkgICAgICAgIC8qITxCaXQgMCAqLworI2RlZmluZSAgRlNNQ19CV1RSNF9EQVRBU1RfMSAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwMjAwKSAgICAgICAgLyohPEJpdCAxICovCisjZGVmaW5lICBGU01DX0JXVFI0X0RBVEFTVF8yICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDA0MDApICAgICAgICAvKiE8Qml0IDIgKi8KKyNkZWZpbmUgIEZTTUNfQldUUjRfREFUQVNUXzMgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMDgwMCkgICAgICAgIC8qITxCaXQgMyAqLworCisjZGVmaW5lICBGU01DX0JXVFI0X0NMS0RJViAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDBGMDAwMDApICAgICAgICAvKiE8Q0xLRElWWzM6MF0gYml0cyAoQ2xvY2sgZGl2aWRlIHJhdGlvKSAqLworI2RlZmluZSAgRlNNQ19CV1RSNF9DTEtESVZfMCAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMTAwMDAwKSAgICAgICAgLyohPEJpdCAwICovCisjZGVmaW5lICBGU01DX0JXVFI0X0NMS0RJVl8xICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAyMDAwMDApICAgICAgICAvKiE8Qml0IDEgKi8KKyNkZWZpbmUgIEZTTUNfQldUUjRfQ0xLRElWXzIgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDQwMDAwMCkgICAgICAgIC8qITxCaXQgMiAqLworI2RlZmluZSAgRlNNQ19CV1RSNF9DTEtESVZfMyAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwODAwMDAwKSAgICAgICAgLyohPEJpdCAzICovCisKKyNkZWZpbmUgIEZTTUNfQldUUjRfREFUTEFUICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwRjAwMDAwMCkgICAgICAgIC8qITxEQVRMQVszOjBdIGJpdHMgKERhdGEgbGF0ZW5jeSkgKi8KKyNkZWZpbmUgIEZTTUNfQldUUjRfREFUTEFUXzAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMTAwMDAwMCkgICAgICAgIC8qITxCaXQgMCAqLworI2RlZmluZSAgRlNNQ19CV1RSNF9EQVRMQVRfMSAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAyMDAwMDAwKSAgICAgICAgLyohPEJpdCAxICovCisjZGVmaW5lICBGU01DX0JXVFI0X0RBVExBVF8yICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDQwMDAwMDApICAgICAgICAvKiE8Qml0IDIgKi8KKyNkZWZpbmUgIEZTTUNfQldUUjRfREFUTEFUXzMgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwODAwMDAwMCkgICAgICAgIC8qITxCaXQgMyAqLworCisjZGVmaW5lICBGU01DX0JXVFI0X0FDQ01PRCAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MzAwMDAwMDApICAgICAgICAvKiE8QUNDTU9EWzE6MF0gYml0cyAoQWNjZXNzIG1vZGUpICovCisjZGVmaW5lICBGU01DX0JXVFI0X0FDQ01PRF8wICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MTAwMDAwMDApICAgICAgICAvKiE8Qml0IDAgKi8KKyNkZWZpbmUgIEZTTUNfQldUUjRfQUNDTU9EXzEgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgyMDAwMDAwMCkgICAgICAgIC8qITxCaXQgMSAqLworCisvKioqKioqKioqKioqKioqKioqICBCaXQgZGVmaW5pdGlvbiBmb3IgRlNNQ19QQ1IyIHJlZ2lzdGVyICAqKioqKioqKioqKioqKioqKioqLworI2RlZmluZSAgRlNNQ19QQ1IyX1BXQUlURU4gICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwMDAyKSAgICAgICAgLyohPFdhaXQgZmVhdHVyZSBlbmFibGUgYml0ICovCisjZGVmaW5lICBGU01DX1BDUjJfUEJLRU4gICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDAwMDQpICAgICAgICAvKiE8UEMgQ2FyZC9OQU5EIEZsYXNoIG1lbW9yeSBiYW5rIGVuYWJsZSBiaXQgKi8KKyNkZWZpbmUgIEZTTUNfUENSMl9QVFlQICAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMDAwOCkgICAgICAgIC8qITxNZW1vcnkgdHlwZSAqLworCisjZGVmaW5lICBGU01DX1BDUjJfUFdJRCAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDAwMzApICAgICAgICAvKiE8UFdJRFsxOjBdIGJpdHMgKE5BTkQgRmxhc2ggZGF0YWJ1cyB3aWR0aCkgKi8KKyNkZWZpbmUgIEZTTUNfUENSMl9QV0lEXzAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMDAxMCkgICAgICAgIC8qITxCaXQgMCAqLworI2RlZmluZSAgRlNNQ19QQ1IyX1BXSURfMSAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwMDIwKSAgICAgICAgLyohPEJpdCAxICovCisKKyNkZWZpbmUgIEZTTUNfUENSMl9FQ0NFTiAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMDA0MCkgICAgICAgIC8qITxFQ0MgY29tcHV0YXRpb24gbG9naWMgZW5hYmxlIGJpdCAqLworCisjZGVmaW5lICBGU01DX1BDUjJfVENMUiAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDFFMDApICAgICAgICAvKiE8VENMUlszOjBdIGJpdHMgKENMRSB0byBSRSBkZWxheSkgKi8KKyNkZWZpbmUgIEZTTUNfUENSMl9UQ0xSXzAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMDIwMCkgICAgICAgIC8qITxCaXQgMCAqLworI2RlZmluZSAgRlNNQ19QQ1IyX1RDTFJfMSAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwNDAwKSAgICAgICAgLyohPEJpdCAxICovCisjZGVmaW5lICBGU01DX1BDUjJfVENMUl8yICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDA4MDApICAgICAgICAvKiE8Qml0IDIgKi8KKyNkZWZpbmUgIEZTTUNfUENSMl9UQ0xSXzMgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMTAwMCkgICAgICAgIC8qITxCaXQgMyAqLworCisjZGVmaW5lICBGU01DX1BDUjJfVEFSICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMUUwMDApICAgICAgICAvKiE8VEFSWzM6MF0gYml0cyAoQUxFIHRvIFJFIGRlbGF5KSAqLworI2RlZmluZSAgRlNNQ19QQ1IyX1RBUl8wICAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAyMDAwKSAgICAgICAgLyohPEJpdCAwICovCisjZGVmaW5lICBGU01DX1BDUjJfVEFSXzEgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDQwMDApICAgICAgICAvKiE8Qml0IDEgKi8KKyNkZWZpbmUgIEZTTUNfUENSMl9UQVJfMiAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwODAwMCkgICAgICAgIC8qITxCaXQgMiAqLworI2RlZmluZSAgRlNNQ19QQ1IyX1RBUl8zICAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDEwMDAwKSAgICAgICAgLyohPEJpdCAzICovCisKKyNkZWZpbmUgIEZTTUNfUENSMl9FQ0NQUyAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDBFMDAwMCkgICAgICAgIC8qITxFQ0NQU1sxOjBdIGJpdHMgKEVDQyBwYWdlIHNpemUpICovCisjZGVmaW5lICBGU01DX1BDUjJfRUNDUFNfMCAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMjAwMDApICAgICAgICAvKiE8Qml0IDAgKi8KKyNkZWZpbmUgIEZTTUNfUENSMl9FQ0NQU18xICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDA0MDAwMCkgICAgICAgIC8qITxCaXQgMSAqLworI2RlZmluZSAgRlNNQ19QQ1IyX0VDQ1BTXzIgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDgwMDAwKSAgICAgICAgLyohPEJpdCAyICovCisKKy8qKioqKioqKioqKioqKioqKiogIEJpdCBkZWZpbml0aW9uIGZvciBGU01DX1BDUjMgcmVnaXN0ZXIgICoqKioqKioqKioqKioqKioqKiovCisjZGVmaW5lICBGU01DX1BDUjNfUFdBSVRFTiAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDAwMDIpICAgICAgICAvKiE8V2FpdCBmZWF0dXJlIGVuYWJsZSBiaXQgKi8KKyNkZWZpbmUgIEZTTUNfUENSM19QQktFTiAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMDAwNCkgICAgICAgIC8qITxQQyBDYXJkL05BTkQgRmxhc2ggbWVtb3J5IGJhbmsgZW5hYmxlIGJpdCAqLworI2RlZmluZSAgRlNNQ19QQ1IzX1BUWVAgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwMDA4KSAgICAgICAgLyohPE1lbW9yeSB0eXBlICovCisKKyNkZWZpbmUgIEZTTUNfUENSM19QV0lEICAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMDAzMCkgICAgICAgIC8qITxQV0lEWzE6MF0gYml0cyAoTkFORCBGbGFzaCBkYXRhYnVzIHdpZHRoKSAqLworI2RlZmluZSAgRlNNQ19QQ1IzX1BXSURfMCAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwMDEwKSAgICAgICAgLyohPEJpdCAwICovCisjZGVmaW5lICBGU01DX1BDUjNfUFdJRF8xICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDAwMjApICAgICAgICAvKiE8Qml0IDEgKi8KKworI2RlZmluZSAgRlNNQ19QQ1IzX0VDQ0VOICAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwMDQwKSAgICAgICAgLyohPEVDQyBjb21wdXRhdGlvbiBsb2dpYyBlbmFibGUgYml0ICovCisKKyNkZWZpbmUgIEZTTUNfUENSM19UQ0xSICAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMUUwMCkgICAgICAgIC8qITxUQ0xSWzM6MF0gYml0cyAoQ0xFIHRvIFJFIGRlbGF5KSAqLworI2RlZmluZSAgRlNNQ19QQ1IzX1RDTFJfMCAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwMjAwKSAgICAgICAgLyohPEJpdCAwICovCisjZGVmaW5lICBGU01DX1BDUjNfVENMUl8xICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDA0MDApICAgICAgICAvKiE8Qml0IDEgKi8KKyNkZWZpbmUgIEZTTUNfUENSM19UQ0xSXzIgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMDgwMCkgICAgICAgIC8qITxCaXQgMiAqLworI2RlZmluZSAgRlNNQ19QQ1IzX1RDTFJfMyAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAxMDAwKSAgICAgICAgLyohPEJpdCAzICovCisKKyNkZWZpbmUgIEZTTUNfUENSM19UQVIgICAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAxRTAwMCkgICAgICAgIC8qITxUQVJbMzowXSBiaXRzIChBTEUgdG8gUkUgZGVsYXkpICovCisjZGVmaW5lICBGU01DX1BDUjNfVEFSXzAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDIwMDApICAgICAgICAvKiE8Qml0IDAgKi8KKyNkZWZpbmUgIEZTTUNfUENSM19UQVJfMSAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwNDAwMCkgICAgICAgIC8qITxCaXQgMSAqLworI2RlZmluZSAgRlNNQ19QQ1IzX1RBUl8yICAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDA4MDAwKSAgICAgICAgLyohPEJpdCAyICovCisjZGVmaW5lICBGU01DX1BDUjNfVEFSXzMgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMTAwMDApICAgICAgICAvKiE8Qml0IDMgKi8KKworI2RlZmluZSAgRlNNQ19QQ1IzX0VDQ1BTICAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMEUwMDAwKSAgICAgICAgLyohPEVDQ1BTWzI6MF0gYml0cyAoRUNDIHBhZ2Ugc2l6ZSkgKi8KKyNkZWZpbmUgIEZTTUNfUENSM19FQ0NQU18wICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAyMDAwMCkgICAgICAgIC8qITxCaXQgMCAqLworI2RlZmluZSAgRlNNQ19QQ1IzX0VDQ1BTXzEgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDQwMDAwKSAgICAgICAgLyohPEJpdCAxICovCisjZGVmaW5lICBGU01DX1BDUjNfRUNDUFNfMiAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwODAwMDApICAgICAgICAvKiE8Qml0IDIgKi8KKworLyoqKioqKioqKioqKioqKioqKiAgQml0IGRlZmluaXRpb24gZm9yIEZTTUNfUENSNCByZWdpc3RlciAgKioqKioqKioqKioqKioqKioqKi8KKyNkZWZpbmUgIEZTTUNfUENSNF9QV0FJVEVOICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMDAwMikgICAgICAgIC8qITxXYWl0IGZlYXR1cmUgZW5hYmxlIGJpdCAqLworI2RlZmluZSAgRlNNQ19QQ1I0X1BCS0VOICAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwMDA0KSAgICAgICAgLyohPFBDIENhcmQvTkFORCBGbGFzaCBtZW1vcnkgYmFuayBlbmFibGUgYml0ICovCisjZGVmaW5lICBGU01DX1BDUjRfUFRZUCAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDAwMDgpICAgICAgICAvKiE8TWVtb3J5IHR5cGUgKi8KKworI2RlZmluZSAgRlNNQ19QQ1I0X1BXSUQgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwMDMwKSAgICAgICAgLyohPFBXSURbMTowXSBiaXRzIChOQU5EIEZsYXNoIGRhdGFidXMgd2lkdGgpICovCisjZGVmaW5lICBGU01DX1BDUjRfUFdJRF8wICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDAwMTApICAgICAgICAvKiE8Qml0IDAgKi8KKyNkZWZpbmUgIEZTTUNfUENSNF9QV0lEXzEgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMDAyMCkgICAgICAgIC8qITxCaXQgMSAqLworCisjZGVmaW5lICBGU01DX1BDUjRfRUNDRU4gICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDAwNDApICAgICAgICAvKiE8RUNDIGNvbXB1dGF0aW9uIGxvZ2ljIGVuYWJsZSBiaXQgKi8KKworI2RlZmluZSAgRlNNQ19QQ1I0X1RDTFIgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAxRTAwKSAgICAgICAgLyohPFRDTFJbMzowXSBiaXRzIChDTEUgdG8gUkUgZGVsYXkpICovCisjZGVmaW5lICBGU01DX1BDUjRfVENMUl8wICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDAyMDApICAgICAgICAvKiE8Qml0IDAgKi8KKyNkZWZpbmUgIEZTTUNfUENSNF9UQ0xSXzEgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMDQwMCkgICAgICAgIC8qITxCaXQgMSAqLworI2RlZmluZSAgRlNNQ19QQ1I0X1RDTFJfMiAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwODAwKSAgICAgICAgLyohPEJpdCAyICovCisjZGVmaW5lICBGU01DX1BDUjRfVENMUl8zICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDEwMDApICAgICAgICAvKiE8Qml0IDMgKi8KKworI2RlZmluZSAgRlNNQ19QQ1I0X1RBUiAgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDFFMDAwKSAgICAgICAgLyohPFRBUlszOjBdIGJpdHMgKEFMRSB0byBSRSBkZWxheSkgKi8KKyNkZWZpbmUgIEZTTUNfUENSNF9UQVJfMCAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMjAwMCkgICAgICAgIC8qITxCaXQgMCAqLworI2RlZmluZSAgRlNNQ19QQ1I0X1RBUl8xICAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDA0MDAwKSAgICAgICAgLyohPEJpdCAxICovCisjZGVmaW5lICBGU01DX1BDUjRfVEFSXzIgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDgwMDApICAgICAgICAvKiE8Qml0IDIgKi8KKyNkZWZpbmUgIEZTTUNfUENSNF9UQVJfMyAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAxMDAwMCkgICAgICAgIC8qITxCaXQgMyAqLworCisjZGVmaW5lICBGU01DX1BDUjRfRUNDUFMgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwRTAwMDApICAgICAgICAvKiE8RUNDUFNbMjowXSBiaXRzIChFQ0MgcGFnZSBzaXplKSAqLworI2RlZmluZSAgRlNNQ19QQ1I0X0VDQ1BTXzAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDIwMDAwKSAgICAgICAgLyohPEJpdCAwICovCisjZGVmaW5lICBGU01DX1BDUjRfRUNDUFNfMSAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwNDAwMDApICAgICAgICAvKiE8Qml0IDEgKi8KKyNkZWZpbmUgIEZTTUNfUENSNF9FQ0NQU18yICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDA4MDAwMCkgICAgICAgIC8qITxCaXQgMiAqLworCisvKioqKioqKioqKioqKioqKioqKiAgQml0IGRlZmluaXRpb24gZm9yIEZTTUNfU1IyIHJlZ2lzdGVyICAqKioqKioqKioqKioqKioqKioqLworI2RlZmluZSAgRlNNQ19TUjJfSVJTICAgICAgICAgICAgICAgICAgICAgICAgKCh1aW50OF90KTB4MDEpICAgICAgICAgICAgICAgLyohPEludGVycnVwdCBSaXNpbmcgRWRnZSBzdGF0dXMgKi8KKyNkZWZpbmUgIEZTTUNfU1IyX0lMUyAgICAgICAgICAgICAgICAgICAgICAgICgodWludDhfdCkweDAyKSAgICAgICAgICAgICAgIC8qITxJbnRlcnJ1cHQgTGV2ZWwgc3RhdHVzICovCisjZGVmaW5lICBGU01DX1NSMl9JRlMgICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQ4X3QpMHgwNCkgICAgICAgICAgICAgICAvKiE8SW50ZXJydXB0IEZhbGxpbmcgRWRnZSBzdGF0dXMgKi8KKyNkZWZpbmUgIEZTTUNfU1IyX0lSRU4gICAgICAgICAgICAgICAgICAgICAgICgodWludDhfdCkweDA4KSAgICAgICAgICAgICAgIC8qITxJbnRlcnJ1cHQgUmlzaW5nIEVkZ2UgZGV0ZWN0aW9uIEVuYWJsZSBiaXQgKi8KKyNkZWZpbmUgIEZTTUNfU1IyX0lMRU4gICAgICAgICAgICAgICAgICAgICAgICgodWludDhfdCkweDEwKSAgICAgICAgICAgICAgIC8qITxJbnRlcnJ1cHQgTGV2ZWwgZGV0ZWN0aW9uIEVuYWJsZSBiaXQgKi8KKyNkZWZpbmUgIEZTTUNfU1IyX0lGRU4gICAgICAgICAgICAgICAgICAgICAgICgodWludDhfdCkweDIwKSAgICAgICAgICAgICAgIC8qITxJbnRlcnJ1cHQgRmFsbGluZyBFZGdlIGRldGVjdGlvbiBFbmFibGUgYml0ICovCisjZGVmaW5lICBGU01DX1NSMl9GRU1QVCAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQ4X3QpMHg0MCkgICAgICAgICAgICAgICAvKiE8RklGTyBlbXB0eSAqLworCisvKioqKioqKioqKioqKioqKioqKiAgQml0IGRlZmluaXRpb24gZm9yIEZTTUNfU1IzIHJlZ2lzdGVyICAqKioqKioqKioqKioqKioqKioqLworI2RlZmluZSAgRlNNQ19TUjNfSVJTICAgICAgICAgICAgICAgICAgICAgICAgKCh1aW50OF90KTB4MDEpICAgICAgICAgICAgICAgLyohPEludGVycnVwdCBSaXNpbmcgRWRnZSBzdGF0dXMgKi8KKyNkZWZpbmUgIEZTTUNfU1IzX0lMUyAgICAgICAgICAgICAgICAgICAgICAgICgodWludDhfdCkweDAyKSAgICAgICAgICAgICAgIC8qITxJbnRlcnJ1cHQgTGV2ZWwgc3RhdHVzICovCisjZGVmaW5lICBGU01DX1NSM19JRlMgICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQ4X3QpMHgwNCkgICAgICAgICAgICAgICAvKiE8SW50ZXJydXB0IEZhbGxpbmcgRWRnZSBzdGF0dXMgKi8KKyNkZWZpbmUgIEZTTUNfU1IzX0lSRU4gICAgICAgICAgICAgICAgICAgICAgICgodWludDhfdCkweDA4KSAgICAgICAgICAgICAgIC8qITxJbnRlcnJ1cHQgUmlzaW5nIEVkZ2UgZGV0ZWN0aW9uIEVuYWJsZSBiaXQgKi8KKyNkZWZpbmUgIEZTTUNfU1IzX0lMRU4gICAgICAgICAgICAgICAgICAgICAgICgodWludDhfdCkweDEwKSAgICAgICAgICAgICAgIC8qITxJbnRlcnJ1cHQgTGV2ZWwgZGV0ZWN0aW9uIEVuYWJsZSBiaXQgKi8KKyNkZWZpbmUgIEZTTUNfU1IzX0lGRU4gICAgICAgICAgICAgICAgICAgICAgICgodWludDhfdCkweDIwKSAgICAgICAgICAgICAgIC8qITxJbnRlcnJ1cHQgRmFsbGluZyBFZGdlIGRldGVjdGlvbiBFbmFibGUgYml0ICovCisjZGVmaW5lICBGU01DX1NSM19GRU1QVCAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQ4X3QpMHg0MCkgICAgICAgICAgICAgICAvKiE8RklGTyBlbXB0eSAqLworCisvKioqKioqKioqKioqKioqKioqKiAgQml0IGRlZmluaXRpb24gZm9yIEZTTUNfU1I0IHJlZ2lzdGVyICAqKioqKioqKioqKioqKioqKioqLworI2RlZmluZSAgRlNNQ19TUjRfSVJTICAgICAgICAgICAgICAgICAgICAgICAgKCh1aW50OF90KTB4MDEpICAgICAgICAgICAgICAgLyohPEludGVycnVwdCBSaXNpbmcgRWRnZSBzdGF0dXMgKi8KKyNkZWZpbmUgIEZTTUNfU1I0X0lMUyAgICAgICAgICAgICAgICAgICAgICAgICgodWludDhfdCkweDAyKSAgICAgICAgICAgICAgIC8qITxJbnRlcnJ1cHQgTGV2ZWwgc3RhdHVzICovCisjZGVmaW5lICBGU01DX1NSNF9JRlMgICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQ4X3QpMHgwNCkgICAgICAgICAgICAgICAvKiE8SW50ZXJydXB0IEZhbGxpbmcgRWRnZSBzdGF0dXMgKi8KKyNkZWZpbmUgIEZTTUNfU1I0X0lSRU4gICAgICAgICAgICAgICAgICAgICAgICgodWludDhfdCkweDA4KSAgICAgICAgICAgICAgIC8qITxJbnRlcnJ1cHQgUmlzaW5nIEVkZ2UgZGV0ZWN0aW9uIEVuYWJsZSBiaXQgKi8KKyNkZWZpbmUgIEZTTUNfU1I0X0lMRU4gICAgICAgICAgICAgICAgICAgICAgICgodWludDhfdCkweDEwKSAgICAgICAgICAgICAgIC8qITxJbnRlcnJ1cHQgTGV2ZWwgZGV0ZWN0aW9uIEVuYWJsZSBiaXQgKi8KKyNkZWZpbmUgIEZTTUNfU1I0X0lGRU4gICAgICAgICAgICAgICAgICAgICAgICgodWludDhfdCkweDIwKSAgICAgICAgICAgICAgIC8qITxJbnRlcnJ1cHQgRmFsbGluZyBFZGdlIGRldGVjdGlvbiBFbmFibGUgYml0ICovCisjZGVmaW5lICBGU01DX1NSNF9GRU1QVCAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQ4X3QpMHg0MCkgICAgICAgICAgICAgICAvKiE8RklGTyBlbXB0eSAqLworCisvKioqKioqKioqKioqKioqKioqICBCaXQgZGVmaW5pdGlvbiBmb3IgRlNNQ19QTUVNMiByZWdpc3RlciAgKioqKioqKioqKioqKioqKioqLworI2RlZmluZSAgRlNNQ19QTUVNMl9NRU1TRVQyICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwMEZGKSAgICAgICAgLyohPE1FTVNFVDJbNzowXSBiaXRzIChDb21tb24gbWVtb3J5IDIgc2V0dXAgdGltZSkgKi8KKyNkZWZpbmUgIEZTTUNfUE1FTTJfTUVNU0VUMl8wICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMDAwMSkgICAgICAgIC8qITxCaXQgMCAqLworI2RlZmluZSAgRlNNQ19QTUVNMl9NRU1TRVQyXzEgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwMDAyKSAgICAgICAgLyohPEJpdCAxICovCisjZGVmaW5lICBGU01DX1BNRU0yX01FTVNFVDJfMiAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDAwMDQpICAgICAgICAvKiE8Qml0IDIgKi8KKyNkZWZpbmUgIEZTTUNfUE1FTTJfTUVNU0VUMl8zICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMDAwOCkgICAgICAgIC8qITxCaXQgMyAqLworI2RlZmluZSAgRlNNQ19QTUVNMl9NRU1TRVQyXzQgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwMDEwKSAgICAgICAgLyohPEJpdCA0ICovCisjZGVmaW5lICBGU01DX1BNRU0yX01FTVNFVDJfNSAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDAwMjApICAgICAgICAvKiE8Qml0IDUgKi8KKyNkZWZpbmUgIEZTTUNfUE1FTTJfTUVNU0VUMl82ICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMDA0MCkgICAgICAgIC8qITxCaXQgNiAqLworI2RlZmluZSAgRlNNQ19QTUVNMl9NRU1TRVQyXzcgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwMDgwKSAgICAgICAgLyohPEJpdCA3ICovCisKKyNkZWZpbmUgIEZTTUNfUE1FTTJfTUVNV0FJVDIgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwRkYwMCkgICAgICAgIC8qITxNRU1XQUlUMls3OjBdIGJpdHMgKENvbW1vbiBtZW1vcnkgMiB3YWl0IHRpbWUpICovCisjZGVmaW5lICBGU01DX1BNRU0yX01FTVdBSVQyXzAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDAxMDApICAgICAgICAvKiE8Qml0IDAgKi8KKyNkZWZpbmUgIEZTTUNfUE1FTTJfTUVNV0FJVDJfMSAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMDIwMCkgICAgICAgIC8qITxCaXQgMSAqLworI2RlZmluZSAgRlNNQ19QTUVNMl9NRU1XQUlUMl8yICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwNDAwKSAgICAgICAgLyohPEJpdCAyICovCisjZGVmaW5lICBGU01DX1BNRU0yX01FTVdBSVQyXzMgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDA4MDApICAgICAgICAvKiE8Qml0IDMgKi8KKyNkZWZpbmUgIEZTTUNfUE1FTTJfTUVNV0FJVDJfNCAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMTAwMCkgICAgICAgIC8qITxCaXQgNCAqLworI2RlZmluZSAgRlNNQ19QTUVNMl9NRU1XQUlUMl81ICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAyMDAwKSAgICAgICAgLyohPEJpdCA1ICovCisjZGVmaW5lICBGU01DX1BNRU0yX01FTVdBSVQyXzYgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDQwMDApICAgICAgICAvKiE8Qml0IDYgKi8KKyNkZWZpbmUgIEZTTUNfUE1FTTJfTUVNV0FJVDJfNyAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwODAwMCkgICAgICAgIC8qITxCaXQgNyAqLworCisjZGVmaW5lICBGU01DX1BNRU0yX01FTUhPTEQyICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDBGRjAwMDApICAgICAgICAvKiE8TUVNSE9MRDJbNzowXSBiaXRzIChDb21tb24gbWVtb3J5IDIgaG9sZCB0aW1lKSAqLworI2RlZmluZSAgRlNNQ19QTUVNMl9NRU1IT0xEMl8wICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDEwMDAwKSAgICAgICAgLyohPEJpdCAwICovCisjZGVmaW5lICBGU01DX1BNRU0yX01FTUhPTEQyXzEgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMjAwMDApICAgICAgICAvKiE8Qml0IDEgKi8KKyNkZWZpbmUgIEZTTUNfUE1FTTJfTUVNSE9MRDJfMiAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDA0MDAwMCkgICAgICAgIC8qITxCaXQgMiAqLworI2RlZmluZSAgRlNNQ19QTUVNMl9NRU1IT0xEMl8zICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDgwMDAwKSAgICAgICAgLyohPEJpdCAzICovCisjZGVmaW5lICBGU01DX1BNRU0yX01FTUhPTEQyXzQgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAxMDAwMDApICAgICAgICAvKiE8Qml0IDQgKi8KKyNkZWZpbmUgIEZTTUNfUE1FTTJfTUVNSE9MRDJfNSAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDIwMDAwMCkgICAgICAgIC8qITxCaXQgNSAqLworI2RlZmluZSAgRlNNQ19QTUVNMl9NRU1IT0xEMl82ICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwNDAwMDAwKSAgICAgICAgLyohPEJpdCA2ICovCisjZGVmaW5lICBGU01DX1BNRU0yX01FTUhPTEQyXzcgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDA4MDAwMDApICAgICAgICAvKiE8Qml0IDcgKi8KKworI2RlZmluZSAgRlNNQ19QTUVNMl9NRU1ISVoyICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweEZGMDAwMDAwKSAgICAgICAgLyohPE1FTUhJWjJbNzowXSBiaXRzIChDb21tb24gbWVtb3J5IDIgZGF0YWJ1cyBIaVogdGltZSkgKi8KKyNkZWZpbmUgIEZTTUNfUE1FTTJfTUVNSElaMl8wICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMTAwMDAwMCkgICAgICAgIC8qITxCaXQgMCAqLworI2RlZmluZSAgRlNNQ19QTUVNMl9NRU1ISVoyXzEgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAyMDAwMDAwKSAgICAgICAgLyohPEJpdCAxICovCisjZGVmaW5lICBGU01DX1BNRU0yX01FTUhJWjJfMiAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDQwMDAwMDApICAgICAgICAvKiE8Qml0IDIgKi8KKyNkZWZpbmUgIEZTTUNfUE1FTTJfTUVNSElaMl8zICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwODAwMDAwMCkgICAgICAgIC8qITxCaXQgMyAqLworI2RlZmluZSAgRlNNQ19QTUVNMl9NRU1ISVoyXzQgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDEwMDAwMDAwKSAgICAgICAgLyohPEJpdCA0ICovCisjZGVmaW5lICBGU01DX1BNRU0yX01FTUhJWjJfNSAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MjAwMDAwMDApICAgICAgICAvKiE8Qml0IDUgKi8KKyNkZWZpbmUgIEZTTUNfUE1FTTJfTUVNSElaMl82ICAgICAgICAgICAgICAgICgodWludDMyX3QpMHg0MDAwMDAwMCkgICAgICAgIC8qITxCaXQgNiAqLworI2RlZmluZSAgRlNNQ19QTUVNMl9NRU1ISVoyXzcgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDgwMDAwMDAwKSAgICAgICAgLyohPEJpdCA3ICovCisKKy8qKioqKioqKioqKioqKioqKiogIEJpdCBkZWZpbml0aW9uIGZvciBGU01DX1BNRU0zIHJlZ2lzdGVyICAqKioqKioqKioqKioqKioqKiovCisjZGVmaW5lICBGU01DX1BNRU0zX01FTVNFVDMgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDAwRkYpICAgICAgICAvKiE8TUVNU0VUM1s3OjBdIGJpdHMgKENvbW1vbiBtZW1vcnkgMyBzZXR1cCB0aW1lKSAqLworI2RlZmluZSAgRlNNQ19QTUVNM19NRU1TRVQzXzAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwMDAxKSAgICAgICAgLyohPEJpdCAwICovCisjZGVmaW5lICBGU01DX1BNRU0zX01FTVNFVDNfMSAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDAwMDIpICAgICAgICAvKiE8Qml0IDEgKi8KKyNkZWZpbmUgIEZTTUNfUE1FTTNfTUVNU0VUM18yICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMDAwNCkgICAgICAgIC8qITxCaXQgMiAqLworI2RlZmluZSAgRlNNQ19QTUVNM19NRU1TRVQzXzMgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwMDA4KSAgICAgICAgLyohPEJpdCAzICovCisjZGVmaW5lICBGU01DX1BNRU0zX01FTVNFVDNfNCAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDAwMTApICAgICAgICAvKiE8Qml0IDQgKi8KKyNkZWZpbmUgIEZTTUNfUE1FTTNfTUVNU0VUM181ICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMDAyMCkgICAgICAgIC8qITxCaXQgNSAqLworI2RlZmluZSAgRlNNQ19QTUVNM19NRU1TRVQzXzYgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwMDQwKSAgICAgICAgLyohPEJpdCA2ICovCisjZGVmaW5lICBGU01DX1BNRU0zX01FTVNFVDNfNyAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDAwODApICAgICAgICAvKiE8Qml0IDcgKi8KKworI2RlZmluZSAgRlNNQ19QTUVNM19NRU1XQUlUMyAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDBGRjAwKSAgICAgICAgLyohPE1FTVdBSVQzWzc6MF0gYml0cyAoQ29tbW9uIG1lbW9yeSAzIHdhaXQgdGltZSkgKi8KKyNkZWZpbmUgIEZTTUNfUE1FTTNfTUVNV0FJVDNfMCAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMDEwMCkgICAgICAgIC8qITxCaXQgMCAqLworI2RlZmluZSAgRlNNQ19QTUVNM19NRU1XQUlUM18xICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwMjAwKSAgICAgICAgLyohPEJpdCAxICovCisjZGVmaW5lICBGU01DX1BNRU0zX01FTVdBSVQzXzIgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDA0MDApICAgICAgICAvKiE8Qml0IDIgKi8KKyNkZWZpbmUgIEZTTUNfUE1FTTNfTUVNV0FJVDNfMyAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMDgwMCkgICAgICAgIC8qITxCaXQgMyAqLworI2RlZmluZSAgRlNNQ19QTUVNM19NRU1XQUlUM180ICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAxMDAwKSAgICAgICAgLyohPEJpdCA0ICovCisjZGVmaW5lICBGU01DX1BNRU0zX01FTVdBSVQzXzUgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDIwMDApICAgICAgICAvKiE8Qml0IDUgKi8KKyNkZWZpbmUgIEZTTUNfUE1FTTNfTUVNV0FJVDNfNiAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwNDAwMCkgICAgICAgIC8qITxCaXQgNiAqLworI2RlZmluZSAgRlNNQ19QTUVNM19NRU1XQUlUM183ICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDA4MDAwKSAgICAgICAgLyohPEJpdCA3ICovCisKKyNkZWZpbmUgIEZTTUNfUE1FTTNfTUVNSE9MRDMgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMEZGMDAwMCkgICAgICAgIC8qITxNRU1IT0xEM1s3OjBdIGJpdHMgKENvbW1vbiBtZW1vcnkgMyBob2xkIHRpbWUpICovCisjZGVmaW5lICBGU01DX1BNRU0zX01FTUhPTEQzXzAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMTAwMDApICAgICAgICAvKiE8Qml0IDAgKi8KKyNkZWZpbmUgIEZTTUNfUE1FTTNfTUVNSE9MRDNfMSAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAyMDAwMCkgICAgICAgIC8qITxCaXQgMSAqLworI2RlZmluZSAgRlNNQ19QTUVNM19NRU1IT0xEM18yICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDQwMDAwKSAgICAgICAgLyohPEJpdCAyICovCisjZGVmaW5lICBGU01DX1BNRU0zX01FTUhPTEQzXzMgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwODAwMDApICAgICAgICAvKiE8Qml0IDMgKi8KKyNkZWZpbmUgIEZTTUNfUE1FTTNfTUVNSE9MRDNfNCAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDEwMDAwMCkgICAgICAgIC8qITxCaXQgNCAqLworI2RlZmluZSAgRlNNQ19QTUVNM19NRU1IT0xEM181ICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMjAwMDAwKSAgICAgICAgLyohPEJpdCA1ICovCisjZGVmaW5lICBGU01DX1BNRU0zX01FTUhPTEQzXzYgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDA0MDAwMDApICAgICAgICAvKiE8Qml0IDYgKi8KKyNkZWZpbmUgIEZTTUNfUE1FTTNfTUVNSE9MRDNfNyAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDgwMDAwMCkgICAgICAgIC8qITxCaXQgNyAqLworCisjZGVmaW5lICBGU01DX1BNRU0zX01FTUhJWjMgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4RkYwMDAwMDApICAgICAgICAvKiE8TUVNSElaM1s3OjBdIGJpdHMgKENvbW1vbiBtZW1vcnkgMyBkYXRhYnVzIEhpWiB0aW1lKSAqLworI2RlZmluZSAgRlNNQ19QTUVNM19NRU1ISVozXzAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAxMDAwMDAwKSAgICAgICAgLyohPEJpdCAwICovCisjZGVmaW5lICBGU01DX1BNRU0zX01FTUhJWjNfMSAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDIwMDAwMDApICAgICAgICAvKiE8Qml0IDEgKi8KKyNkZWZpbmUgIEZTTUNfUE1FTTNfTUVNSElaM18yICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwNDAwMDAwMCkgICAgICAgIC8qITxCaXQgMiAqLworI2RlZmluZSAgRlNNQ19QTUVNM19NRU1ISVozXzMgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDA4MDAwMDAwKSAgICAgICAgLyohPEJpdCAzICovCisjZGVmaW5lICBGU01DX1BNRU0zX01FTUhJWjNfNCAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MTAwMDAwMDApICAgICAgICAvKiE8Qml0IDQgKi8KKyNkZWZpbmUgIEZTTUNfUE1FTTNfTUVNSElaM181ICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgyMDAwMDAwMCkgICAgICAgIC8qITxCaXQgNSAqLworI2RlZmluZSAgRlNNQ19QTUVNM19NRU1ISVozXzYgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDQwMDAwMDAwKSAgICAgICAgLyohPEJpdCA2ICovCisjZGVmaW5lICBGU01DX1BNRU0zX01FTUhJWjNfNyAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4ODAwMDAwMDApICAgICAgICAvKiE8Qml0IDcgKi8KKworLyoqKioqKioqKioqKioqKioqKiAgQml0IGRlZmluaXRpb24gZm9yIEZTTUNfUE1FTTQgcmVnaXN0ZXIgICoqKioqKioqKioqKioqKioqKi8KKyNkZWZpbmUgIEZTTUNfUE1FTTRfTUVNU0VUNCAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMDBGRikgICAgICAgIC8qITxNRU1TRVQ0Wzc6MF0gYml0cyAoQ29tbW9uIG1lbW9yeSA0IHNldHVwIHRpbWUpICovCisjZGVmaW5lICBGU01DX1BNRU00X01FTVNFVDRfMCAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDAwMDEpICAgICAgICAvKiE8Qml0IDAgKi8KKyNkZWZpbmUgIEZTTUNfUE1FTTRfTUVNU0VUNF8xICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMDAwMikgICAgICAgIC8qITxCaXQgMSAqLworI2RlZmluZSAgRlNNQ19QTUVNNF9NRU1TRVQ0XzIgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwMDA0KSAgICAgICAgLyohPEJpdCAyICovCisjZGVmaW5lICBGU01DX1BNRU00X01FTVNFVDRfMyAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDAwMDgpICAgICAgICAvKiE8Qml0IDMgKi8KKyNkZWZpbmUgIEZTTUNfUE1FTTRfTUVNU0VUNF80ICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMDAxMCkgICAgICAgIC8qITxCaXQgNCAqLworI2RlZmluZSAgRlNNQ19QTUVNNF9NRU1TRVQ0XzUgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwMDIwKSAgICAgICAgLyohPEJpdCA1ICovCisjZGVmaW5lICBGU01DX1BNRU00X01FTVNFVDRfNiAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDAwNDApICAgICAgICAvKiE8Qml0IDYgKi8KKyNkZWZpbmUgIEZTTUNfUE1FTTRfTUVNU0VUNF83ICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMDA4MCkgICAgICAgIC8qITxCaXQgNyAqLworCisjZGVmaW5lICBGU01DX1BNRU00X01FTVdBSVQ0ICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMEZGMDApICAgICAgICAvKiE8TUVNV0FJVDRbNzowXSBiaXRzIChDb21tb24gbWVtb3J5IDQgd2FpdCB0aW1lKSAqLworI2RlZmluZSAgRlNNQ19QTUVNNF9NRU1XQUlUNF8wICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwMTAwKSAgICAgICAgLyohPEJpdCAwICovCisjZGVmaW5lICBGU01DX1BNRU00X01FTVdBSVQ0XzEgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDAyMDApICAgICAgICAvKiE8Qml0IDEgKi8KKyNkZWZpbmUgIEZTTUNfUE1FTTRfTUVNV0FJVDRfMiAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMDQwMCkgICAgICAgIC8qITxCaXQgMiAqLworI2RlZmluZSAgRlNNQ19QTUVNNF9NRU1XQUlUNF8zICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwODAwKSAgICAgICAgLyohPEJpdCAzICovCisjZGVmaW5lICBGU01DX1BNRU00X01FTVdBSVQ0XzQgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDEwMDApICAgICAgICAvKiE8Qml0IDQgKi8KKyNkZWZpbmUgIEZTTUNfUE1FTTRfTUVNV0FJVDRfNSAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMjAwMCkgICAgICAgIC8qITxCaXQgNSAqLworI2RlZmluZSAgRlNNQ19QTUVNNF9NRU1XQUlUNF82ICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDA0MDAwKSAgICAgICAgLyohPEJpdCA2ICovCisjZGVmaW5lICBGU01DX1BNRU00X01FTVdBSVQ0XzcgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDgwMDApICAgICAgICAvKiE8Qml0IDcgKi8KKworI2RlZmluZSAgRlNNQ19QTUVNNF9NRU1IT0xENCAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwRkYwMDAwKSAgICAgICAgLyohPE1FTUhPTEQ0Wzc6MF0gYml0cyAoQ29tbW9uIG1lbW9yeSA0IGhvbGQgdGltZSkgKi8KKyNkZWZpbmUgIEZTTUNfUE1FTTRfTUVNSE9MRDRfMCAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAxMDAwMCkgICAgICAgIC8qITxCaXQgMCAqLworI2RlZmluZSAgRlNNQ19QTUVNNF9NRU1IT0xENF8xICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDIwMDAwKSAgICAgICAgLyohPEJpdCAxICovCisjZGVmaW5lICBGU01DX1BNRU00X01FTUhPTEQ0XzIgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwNDAwMDApICAgICAgICAvKiE8Qml0IDIgKi8KKyNkZWZpbmUgIEZTTUNfUE1FTTRfTUVNSE9MRDRfMyAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDA4MDAwMCkgICAgICAgIC8qITxCaXQgMyAqLworI2RlZmluZSAgRlNNQ19QTUVNNF9NRU1IT0xENF80ICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMTAwMDAwKSAgICAgICAgLyohPEJpdCA0ICovCisjZGVmaW5lICBGU01DX1BNRU00X01FTUhPTEQ0XzUgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAyMDAwMDApICAgICAgICAvKiE8Qml0IDUgKi8KKyNkZWZpbmUgIEZTTUNfUE1FTTRfTUVNSE9MRDRfNiAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDQwMDAwMCkgICAgICAgIC8qITxCaXQgNiAqLworI2RlZmluZSAgRlNNQ19QTUVNNF9NRU1IT0xENF83ICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwODAwMDAwKSAgICAgICAgLyohPEJpdCA3ICovCisKKyNkZWZpbmUgIEZTTUNfUE1FTTRfTUVNSElaNCAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHhGRjAwMDAwMCkgICAgICAgIC8qITxNRU1ISVo0Wzc6MF0gYml0cyAoQ29tbW9uIG1lbW9yeSA0IGRhdGFidXMgSGlaIHRpbWUpICovCisjZGVmaW5lICBGU01DX1BNRU00X01FTUhJWjRfMCAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDEwMDAwMDApICAgICAgICAvKiE8Qml0IDAgKi8KKyNkZWZpbmUgIEZTTUNfUE1FTTRfTUVNSElaNF8xICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMjAwMDAwMCkgICAgICAgIC8qITxCaXQgMSAqLworI2RlZmluZSAgRlNNQ19QTUVNNF9NRU1ISVo0XzIgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDA0MDAwMDAwKSAgICAgICAgLyohPEJpdCAyICovCisjZGVmaW5lICBGU01DX1BNRU00X01FTUhJWjRfMyAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDgwMDAwMDApICAgICAgICAvKiE8Qml0IDMgKi8KKyNkZWZpbmUgIEZTTUNfUE1FTTRfTUVNSElaNF80ICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgxMDAwMDAwMCkgICAgICAgIC8qITxCaXQgNCAqLworI2RlZmluZSAgRlNNQ19QTUVNNF9NRU1ISVo0XzUgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDIwMDAwMDAwKSAgICAgICAgLyohPEJpdCA1ICovCisjZGVmaW5lICBGU01DX1BNRU00X01FTUhJWjRfNiAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4NDAwMDAwMDApICAgICAgICAvKiE8Qml0IDYgKi8KKyNkZWZpbmUgIEZTTUNfUE1FTTRfTUVNSElaNF83ICAgICAgICAgICAgICAgICgodWludDMyX3QpMHg4MDAwMDAwMCkgICAgICAgIC8qITxCaXQgNyAqLworCisvKioqKioqKioqKioqKioqKioqICBCaXQgZGVmaW5pdGlvbiBmb3IgRlNNQ19QQVRUMiByZWdpc3RlciAgKioqKioqKioqKioqKioqKioqLworI2RlZmluZSAgRlNNQ19QQVRUMl9BVFRTRVQyICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwMEZGKSAgICAgICAgLyohPEFUVFNFVDJbNzowXSBiaXRzIChBdHRyaWJ1dGUgbWVtb3J5IDIgc2V0dXAgdGltZSkgKi8KKyNkZWZpbmUgIEZTTUNfUEFUVDJfQVRUU0VUMl8wICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMDAwMSkgICAgICAgIC8qITxCaXQgMCAqLworI2RlZmluZSAgRlNNQ19QQVRUMl9BVFRTRVQyXzEgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwMDAyKSAgICAgICAgLyohPEJpdCAxICovCisjZGVmaW5lICBGU01DX1BBVFQyX0FUVFNFVDJfMiAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDAwMDQpICAgICAgICAvKiE8Qml0IDIgKi8KKyNkZWZpbmUgIEZTTUNfUEFUVDJfQVRUU0VUMl8zICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMDAwOCkgICAgICAgIC8qITxCaXQgMyAqLworI2RlZmluZSAgRlNNQ19QQVRUMl9BVFRTRVQyXzQgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwMDEwKSAgICAgICAgLyohPEJpdCA0ICovCisjZGVmaW5lICBGU01DX1BBVFQyX0FUVFNFVDJfNSAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDAwMjApICAgICAgICAvKiE8Qml0IDUgKi8KKyNkZWZpbmUgIEZTTUNfUEFUVDJfQVRUU0VUMl82ICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMDA0MCkgICAgICAgIC8qITxCaXQgNiAqLworI2RlZmluZSAgRlNNQ19QQVRUMl9BVFRTRVQyXzcgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwMDgwKSAgICAgICAgLyohPEJpdCA3ICovCisKKyNkZWZpbmUgIEZTTUNfUEFUVDJfQVRUV0FJVDIgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwRkYwMCkgICAgICAgIC8qITxBVFRXQUlUMls3OjBdIGJpdHMgKEF0dHJpYnV0ZSBtZW1vcnkgMiB3YWl0IHRpbWUpICovCisjZGVmaW5lICBGU01DX1BBVFQyX0FUVFdBSVQyXzAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDAxMDApICAgICAgICAvKiE8Qml0IDAgKi8KKyNkZWZpbmUgIEZTTUNfUEFUVDJfQVRUV0FJVDJfMSAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMDIwMCkgICAgICAgIC8qITxCaXQgMSAqLworI2RlZmluZSAgRlNNQ19QQVRUMl9BVFRXQUlUMl8yICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwNDAwKSAgICAgICAgLyohPEJpdCAyICovCisjZGVmaW5lICBGU01DX1BBVFQyX0FUVFdBSVQyXzMgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDA4MDApICAgICAgICAvKiE8Qml0IDMgKi8KKyNkZWZpbmUgIEZTTUNfUEFUVDJfQVRUV0FJVDJfNCAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMTAwMCkgICAgICAgIC8qITxCaXQgNCAqLworI2RlZmluZSAgRlNNQ19QQVRUMl9BVFRXQUlUMl81ICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAyMDAwKSAgICAgICAgLyohPEJpdCA1ICovCisjZGVmaW5lICBGU01DX1BBVFQyX0FUVFdBSVQyXzYgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDQwMDApICAgICAgICAvKiE8Qml0IDYgKi8KKyNkZWZpbmUgIEZTTUNfUEFUVDJfQVRUV0FJVDJfNyAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwODAwMCkgICAgICAgIC8qITxCaXQgNyAqLworCisjZGVmaW5lICBGU01DX1BBVFQyX0FUVEhPTEQyICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDBGRjAwMDApICAgICAgICAvKiE8QVRUSE9MRDJbNzowXSBiaXRzIChBdHRyaWJ1dGUgbWVtb3J5IDIgaG9sZCB0aW1lKSAqLworI2RlZmluZSAgRlNNQ19QQVRUMl9BVFRIT0xEMl8wICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDEwMDAwKSAgICAgICAgLyohPEJpdCAwICovCisjZGVmaW5lICBGU01DX1BBVFQyX0FUVEhPTEQyXzEgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMjAwMDApICAgICAgICAvKiE8Qml0IDEgKi8KKyNkZWZpbmUgIEZTTUNfUEFUVDJfQVRUSE9MRDJfMiAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDA0MDAwMCkgICAgICAgIC8qITxCaXQgMiAqLworI2RlZmluZSAgRlNNQ19QQVRUMl9BVFRIT0xEMl8zICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDgwMDAwKSAgICAgICAgLyohPEJpdCAzICovCisjZGVmaW5lICBGU01DX1BBVFQyX0FUVEhPTEQyXzQgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAxMDAwMDApICAgICAgICAvKiE8Qml0IDQgKi8KKyNkZWZpbmUgIEZTTUNfUEFUVDJfQVRUSE9MRDJfNSAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDIwMDAwMCkgICAgICAgIC8qITxCaXQgNSAqLworI2RlZmluZSAgRlNNQ19QQVRUMl9BVFRIT0xEMl82ICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwNDAwMDAwKSAgICAgICAgLyohPEJpdCA2ICovCisjZGVmaW5lICBGU01DX1BBVFQyX0FUVEhPTEQyXzcgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDA4MDAwMDApICAgICAgICAvKiE8Qml0IDcgKi8KKworI2RlZmluZSAgRlNNQ19QQVRUMl9BVFRISVoyICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweEZGMDAwMDAwKSAgICAgICAgLyohPEFUVEhJWjJbNzowXSBiaXRzIChBdHRyaWJ1dGUgbWVtb3J5IDIgZGF0YWJ1cyBIaVogdGltZSkgKi8KKyNkZWZpbmUgIEZTTUNfUEFUVDJfQVRUSElaMl8wICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMTAwMDAwMCkgICAgICAgIC8qITxCaXQgMCAqLworI2RlZmluZSAgRlNNQ19QQVRUMl9BVFRISVoyXzEgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAyMDAwMDAwKSAgICAgICAgLyohPEJpdCAxICovCisjZGVmaW5lICBGU01DX1BBVFQyX0FUVEhJWjJfMiAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDQwMDAwMDApICAgICAgICAvKiE8Qml0IDIgKi8KKyNkZWZpbmUgIEZTTUNfUEFUVDJfQVRUSElaMl8zICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwODAwMDAwMCkgICAgICAgIC8qITxCaXQgMyAqLworI2RlZmluZSAgRlNNQ19QQVRUMl9BVFRISVoyXzQgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDEwMDAwMDAwKSAgICAgICAgLyohPEJpdCA0ICovCisjZGVmaW5lICBGU01DX1BBVFQyX0FUVEhJWjJfNSAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MjAwMDAwMDApICAgICAgICAvKiE8Qml0IDUgKi8KKyNkZWZpbmUgIEZTTUNfUEFUVDJfQVRUSElaMl82ICAgICAgICAgICAgICAgICgodWludDMyX3QpMHg0MDAwMDAwMCkgICAgICAgIC8qITxCaXQgNiAqLworI2RlZmluZSAgRlNNQ19QQVRUMl9BVFRISVoyXzcgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDgwMDAwMDAwKSAgICAgICAgLyohPEJpdCA3ICovCisKKy8qKioqKioqKioqKioqKioqKiogIEJpdCBkZWZpbml0aW9uIGZvciBGU01DX1BBVFQzIHJlZ2lzdGVyICAqKioqKioqKioqKioqKioqKiovCisjZGVmaW5lICBGU01DX1BBVFQzX0FUVFNFVDMgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDAwRkYpICAgICAgICAvKiE8QVRUU0VUM1s3OjBdIGJpdHMgKEF0dHJpYnV0ZSBtZW1vcnkgMyBzZXR1cCB0aW1lKSAqLworI2RlZmluZSAgRlNNQ19QQVRUM19BVFRTRVQzXzAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwMDAxKSAgICAgICAgLyohPEJpdCAwICovCisjZGVmaW5lICBGU01DX1BBVFQzX0FUVFNFVDNfMSAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDAwMDIpICAgICAgICAvKiE8Qml0IDEgKi8KKyNkZWZpbmUgIEZTTUNfUEFUVDNfQVRUU0VUM18yICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMDAwNCkgICAgICAgIC8qITxCaXQgMiAqLworI2RlZmluZSAgRlNNQ19QQVRUM19BVFRTRVQzXzMgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwMDA4KSAgICAgICAgLyohPEJpdCAzICovCisjZGVmaW5lICBGU01DX1BBVFQzX0FUVFNFVDNfNCAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDAwMTApICAgICAgICAvKiE8Qml0IDQgKi8KKyNkZWZpbmUgIEZTTUNfUEFUVDNfQVRUU0VUM181ICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMDAyMCkgICAgICAgIC8qITxCaXQgNSAqLworI2RlZmluZSAgRlNNQ19QQVRUM19BVFRTRVQzXzYgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwMDQwKSAgICAgICAgLyohPEJpdCA2ICovCisjZGVmaW5lICBGU01DX1BBVFQzX0FUVFNFVDNfNyAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDAwODApICAgICAgICAvKiE8Qml0IDcgKi8KKworI2RlZmluZSAgRlNNQ19QQVRUM19BVFRXQUlUMyAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDBGRjAwKSAgICAgICAgLyohPEFUVFdBSVQzWzc6MF0gYml0cyAoQXR0cmlidXRlIG1lbW9yeSAzIHdhaXQgdGltZSkgKi8KKyNkZWZpbmUgIEZTTUNfUEFUVDNfQVRUV0FJVDNfMCAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMDEwMCkgICAgICAgIC8qITxCaXQgMCAqLworI2RlZmluZSAgRlNNQ19QQVRUM19BVFRXQUlUM18xICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwMjAwKSAgICAgICAgLyohPEJpdCAxICovCisjZGVmaW5lICBGU01DX1BBVFQzX0FUVFdBSVQzXzIgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDA0MDApICAgICAgICAvKiE8Qml0IDIgKi8KKyNkZWZpbmUgIEZTTUNfUEFUVDNfQVRUV0FJVDNfMyAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMDgwMCkgICAgICAgIC8qITxCaXQgMyAqLworI2RlZmluZSAgRlNNQ19QQVRUM19BVFRXQUlUM180ICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAxMDAwKSAgICAgICAgLyohPEJpdCA0ICovCisjZGVmaW5lICBGU01DX1BBVFQzX0FUVFdBSVQzXzUgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDIwMDApICAgICAgICAvKiE8Qml0IDUgKi8KKyNkZWZpbmUgIEZTTUNfUEFUVDNfQVRUV0FJVDNfNiAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwNDAwMCkgICAgICAgIC8qITxCaXQgNiAqLworI2RlZmluZSAgRlNNQ19QQVRUM19BVFRXQUlUM183ICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDA4MDAwKSAgICAgICAgLyohPEJpdCA3ICovCisKKyNkZWZpbmUgIEZTTUNfUEFUVDNfQVRUSE9MRDMgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMEZGMDAwMCkgICAgICAgIC8qITxBVFRIT0xEM1s3OjBdIGJpdHMgKEF0dHJpYnV0ZSBtZW1vcnkgMyBob2xkIHRpbWUpICovCisjZGVmaW5lICBGU01DX1BBVFQzX0FUVEhPTEQzXzAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMTAwMDApICAgICAgICAvKiE8Qml0IDAgKi8KKyNkZWZpbmUgIEZTTUNfUEFUVDNfQVRUSE9MRDNfMSAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAyMDAwMCkgICAgICAgIC8qITxCaXQgMSAqLworI2RlZmluZSAgRlNNQ19QQVRUM19BVFRIT0xEM18yICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDQwMDAwKSAgICAgICAgLyohPEJpdCAyICovCisjZGVmaW5lICBGU01DX1BBVFQzX0FUVEhPTEQzXzMgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwODAwMDApICAgICAgICAvKiE8Qml0IDMgKi8KKyNkZWZpbmUgIEZTTUNfUEFUVDNfQVRUSE9MRDNfNCAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDEwMDAwMCkgICAgICAgIC8qITxCaXQgNCAqLworI2RlZmluZSAgRlNNQ19QQVRUM19BVFRIT0xEM181ICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMjAwMDAwKSAgICAgICAgLyohPEJpdCA1ICovCisjZGVmaW5lICBGU01DX1BBVFQzX0FUVEhPTEQzXzYgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDA0MDAwMDApICAgICAgICAvKiE8Qml0IDYgKi8KKyNkZWZpbmUgIEZTTUNfUEFUVDNfQVRUSE9MRDNfNyAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDgwMDAwMCkgICAgICAgIC8qITxCaXQgNyAqLworCisjZGVmaW5lICBGU01DX1BBVFQzX0FUVEhJWjMgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4RkYwMDAwMDApICAgICAgICAvKiE8QVRUSElaM1s3OjBdIGJpdHMgKEF0dHJpYnV0ZSBtZW1vcnkgMyBkYXRhYnVzIEhpWiB0aW1lKSAqLworI2RlZmluZSAgRlNNQ19QQVRUM19BVFRISVozXzAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAxMDAwMDAwKSAgICAgICAgLyohPEJpdCAwICovCisjZGVmaW5lICBGU01DX1BBVFQzX0FUVEhJWjNfMSAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDIwMDAwMDApICAgICAgICAvKiE8Qml0IDEgKi8KKyNkZWZpbmUgIEZTTUNfUEFUVDNfQVRUSElaM18yICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwNDAwMDAwMCkgICAgICAgIC8qITxCaXQgMiAqLworI2RlZmluZSAgRlNNQ19QQVRUM19BVFRISVozXzMgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDA4MDAwMDAwKSAgICAgICAgLyohPEJpdCAzICovCisjZGVmaW5lICBGU01DX1BBVFQzX0FUVEhJWjNfNCAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MTAwMDAwMDApICAgICAgICAvKiE8Qml0IDQgKi8KKyNkZWZpbmUgIEZTTUNfUEFUVDNfQVRUSElaM181ICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgyMDAwMDAwMCkgICAgICAgIC8qITxCaXQgNSAqLworI2RlZmluZSAgRlNNQ19QQVRUM19BVFRISVozXzYgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDQwMDAwMDAwKSAgICAgICAgLyohPEJpdCA2ICovCisjZGVmaW5lICBGU01DX1BBVFQzX0FUVEhJWjNfNyAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4ODAwMDAwMDApICAgICAgICAvKiE8Qml0IDcgKi8KKworLyoqKioqKioqKioqKioqKioqKiAgQml0IGRlZmluaXRpb24gZm9yIEZTTUNfUEFUVDQgcmVnaXN0ZXIgICoqKioqKioqKioqKioqKioqKi8KKyNkZWZpbmUgIEZTTUNfUEFUVDRfQVRUU0VUNCAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMDBGRikgICAgICAgIC8qITxBVFRTRVQ0Wzc6MF0gYml0cyAoQXR0cmlidXRlIG1lbW9yeSA0IHNldHVwIHRpbWUpICovCisjZGVmaW5lICBGU01DX1BBVFQ0X0FUVFNFVDRfMCAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDAwMDEpICAgICAgICAvKiE8Qml0IDAgKi8KKyNkZWZpbmUgIEZTTUNfUEFUVDRfQVRUU0VUNF8xICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMDAwMikgICAgICAgIC8qITxCaXQgMSAqLworI2RlZmluZSAgRlNNQ19QQVRUNF9BVFRTRVQ0XzIgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwMDA0KSAgICAgICAgLyohPEJpdCAyICovCisjZGVmaW5lICBGU01DX1BBVFQ0X0FUVFNFVDRfMyAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDAwMDgpICAgICAgICAvKiE8Qml0IDMgKi8KKyNkZWZpbmUgIEZTTUNfUEFUVDRfQVRUU0VUNF80ICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMDAxMCkgICAgICAgIC8qITxCaXQgNCAqLworI2RlZmluZSAgRlNNQ19QQVRUNF9BVFRTRVQ0XzUgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwMDIwKSAgICAgICAgLyohPEJpdCA1ICovCisjZGVmaW5lICBGU01DX1BBVFQ0X0FUVFNFVDRfNiAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDAwNDApICAgICAgICAvKiE8Qml0IDYgKi8KKyNkZWZpbmUgIEZTTUNfUEFUVDRfQVRUU0VUNF83ICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMDA4MCkgICAgICAgIC8qITxCaXQgNyAqLworCisjZGVmaW5lICBGU01DX1BBVFQ0X0FUVFdBSVQ0ICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMEZGMDApICAgICAgICAvKiE8QVRUV0FJVDRbNzowXSBiaXRzIChBdHRyaWJ1dGUgbWVtb3J5IDQgd2FpdCB0aW1lKSAqLworI2RlZmluZSAgRlNNQ19QQVRUNF9BVFRXQUlUNF8wICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwMTAwKSAgICAgICAgLyohPEJpdCAwICovCisjZGVmaW5lICBGU01DX1BBVFQ0X0FUVFdBSVQ0XzEgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDAyMDApICAgICAgICAvKiE8Qml0IDEgKi8KKyNkZWZpbmUgIEZTTUNfUEFUVDRfQVRUV0FJVDRfMiAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMDQwMCkgICAgICAgIC8qITxCaXQgMiAqLworI2RlZmluZSAgRlNNQ19QQVRUNF9BVFRXQUlUNF8zICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwODAwKSAgICAgICAgLyohPEJpdCAzICovCisjZGVmaW5lICBGU01DX1BBVFQ0X0FUVFdBSVQ0XzQgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDEwMDApICAgICAgICAvKiE8Qml0IDQgKi8KKyNkZWZpbmUgIEZTTUNfUEFUVDRfQVRUV0FJVDRfNSAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMjAwMCkgICAgICAgIC8qITxCaXQgNSAqLworI2RlZmluZSAgRlNNQ19QQVRUNF9BVFRXQUlUNF82ICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDA0MDAwKSAgICAgICAgLyohPEJpdCA2ICovCisjZGVmaW5lICBGU01DX1BBVFQ0X0FUVFdBSVQ0XzcgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDgwMDApICAgICAgICAvKiE8Qml0IDcgKi8KKworI2RlZmluZSAgRlNNQ19QQVRUNF9BVFRIT0xENCAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwRkYwMDAwKSAgICAgICAgLyohPEFUVEhPTEQ0Wzc6MF0gYml0cyAoQXR0cmlidXRlIG1lbW9yeSA0IGhvbGQgdGltZSkgKi8KKyNkZWZpbmUgIEZTTUNfUEFUVDRfQVRUSE9MRDRfMCAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAxMDAwMCkgICAgICAgIC8qITxCaXQgMCAqLworI2RlZmluZSAgRlNNQ19QQVRUNF9BVFRIT0xENF8xICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDIwMDAwKSAgICAgICAgLyohPEJpdCAxICovCisjZGVmaW5lICBGU01DX1BBVFQ0X0FUVEhPTEQ0XzIgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwNDAwMDApICAgICAgICAvKiE8Qml0IDIgKi8KKyNkZWZpbmUgIEZTTUNfUEFUVDRfQVRUSE9MRDRfMyAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDA4MDAwMCkgICAgICAgIC8qITxCaXQgMyAqLworI2RlZmluZSAgRlNNQ19QQVRUNF9BVFRIT0xENF80ICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMTAwMDAwKSAgICAgICAgLyohPEJpdCA0ICovCisjZGVmaW5lICBGU01DX1BBVFQ0X0FUVEhPTEQ0XzUgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAyMDAwMDApICAgICAgICAvKiE8Qml0IDUgKi8KKyNkZWZpbmUgIEZTTUNfUEFUVDRfQVRUSE9MRDRfNiAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDQwMDAwMCkgICAgICAgIC8qITxCaXQgNiAqLworI2RlZmluZSAgRlNNQ19QQVRUNF9BVFRIT0xENF83ICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwODAwMDAwKSAgICAgICAgLyohPEJpdCA3ICovCisKKyNkZWZpbmUgIEZTTUNfUEFUVDRfQVRUSElaNCAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHhGRjAwMDAwMCkgICAgICAgIC8qITxBVFRISVo0Wzc6MF0gYml0cyAoQXR0cmlidXRlIG1lbW9yeSA0IGRhdGFidXMgSGlaIHRpbWUpICovCisjZGVmaW5lICBGU01DX1BBVFQ0X0FUVEhJWjRfMCAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDEwMDAwMDApICAgICAgICAvKiE8Qml0IDAgKi8KKyNkZWZpbmUgIEZTTUNfUEFUVDRfQVRUSElaNF8xICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMjAwMDAwMCkgICAgICAgIC8qITxCaXQgMSAqLworI2RlZmluZSAgRlNNQ19QQVRUNF9BVFRISVo0XzIgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDA0MDAwMDAwKSAgICAgICAgLyohPEJpdCAyICovCisjZGVmaW5lICBGU01DX1BBVFQ0X0FUVEhJWjRfMyAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDgwMDAwMDApICAgICAgICAvKiE8Qml0IDMgKi8KKyNkZWZpbmUgIEZTTUNfUEFUVDRfQVRUSElaNF80ICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgxMDAwMDAwMCkgICAgICAgIC8qITxCaXQgNCAqLworI2RlZmluZSAgRlNNQ19QQVRUNF9BVFRISVo0XzUgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDIwMDAwMDAwKSAgICAgICAgLyohPEJpdCA1ICovCisjZGVmaW5lICBGU01DX1BBVFQ0X0FUVEhJWjRfNiAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4NDAwMDAwMDApICAgICAgICAvKiE8Qml0IDYgKi8KKyNkZWZpbmUgIEZTTUNfUEFUVDRfQVRUSElaNF83ICAgICAgICAgICAgICAgICgodWludDMyX3QpMHg4MDAwMDAwMCkgICAgICAgIC8qITxCaXQgNyAqLworCisvKioqKioqKioqKioqKioqKioqICBCaXQgZGVmaW5pdGlvbiBmb3IgRlNNQ19QSU80IHJlZ2lzdGVyICAqKioqKioqKioqKioqKioqKioqLworI2RlZmluZSAgRlNNQ19QSU80X0lPU0VUNCAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwMEZGKSAgICAgICAgLyohPElPU0VUNFs3OjBdIGJpdHMgKEkvTyA0IHNldHVwIHRpbWUpICovCisjZGVmaW5lICBGU01DX1BJTzRfSU9TRVQ0XzAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDAwMDEpICAgICAgICAvKiE8Qml0IDAgKi8KKyNkZWZpbmUgIEZTTUNfUElPNF9JT1NFVDRfMSAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMDAwMikgICAgICAgIC8qITxCaXQgMSAqLworI2RlZmluZSAgRlNNQ19QSU80X0lPU0VUNF8yICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwMDA0KSAgICAgICAgLyohPEJpdCAyICovCisjZGVmaW5lICBGU01DX1BJTzRfSU9TRVQ0XzMgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDAwMDgpICAgICAgICAvKiE8Qml0IDMgKi8KKyNkZWZpbmUgIEZTTUNfUElPNF9JT1NFVDRfNCAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMDAxMCkgICAgICAgIC8qITxCaXQgNCAqLworI2RlZmluZSAgRlNNQ19QSU80X0lPU0VUNF81ICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwMDIwKSAgICAgICAgLyohPEJpdCA1ICovCisjZGVmaW5lICBGU01DX1BJTzRfSU9TRVQ0XzYgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDAwNDApICAgICAgICAvKiE8Qml0IDYgKi8KKyNkZWZpbmUgIEZTTUNfUElPNF9JT1NFVDRfNyAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMDA4MCkgICAgICAgIC8qITxCaXQgNyAqLworCisjZGVmaW5lICBGU01DX1BJTzRfSU9XQUlUNCAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMEZGMDApICAgICAgICAvKiE8SU9XQUlUNFs3OjBdIGJpdHMgKEkvTyA0IHdhaXQgdGltZSkgKi8KKyNkZWZpbmUgIEZTTUNfUElPNF9JT1dBSVQ0XzAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMDEwMCkgICAgICAgIC8qITxCaXQgMCAqLworI2RlZmluZSAgRlNNQ19QSU80X0lPV0FJVDRfMSAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwMjAwKSAgICAgICAgLyohPEJpdCAxICovCisjZGVmaW5lICBGU01DX1BJTzRfSU9XQUlUNF8yICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDA0MDApICAgICAgICAvKiE8Qml0IDIgKi8KKyNkZWZpbmUgIEZTTUNfUElPNF9JT1dBSVQ0XzMgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMDgwMCkgICAgICAgIC8qITxCaXQgMyAqLworI2RlZmluZSAgRlNNQ19QSU80X0lPV0FJVDRfNCAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAxMDAwKSAgICAgICAgLyohPEJpdCA0ICovCisjZGVmaW5lICBGU01DX1BJTzRfSU9XQUlUNF81ICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDIwMDApICAgICAgICAvKiE8Qml0IDUgKi8KKyNkZWZpbmUgIEZTTUNfUElPNF9JT1dBSVQ0XzYgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwNDAwMCkgICAgICAgIC8qITxCaXQgNiAqLworI2RlZmluZSAgRlNNQ19QSU80X0lPV0FJVDRfNyAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDA4MDAwKSAgICAgICAgLyohPEJpdCA3ICovCisKKyNkZWZpbmUgIEZTTUNfUElPNF9JT0hPTEQ0ICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMEZGMDAwMCkgICAgICAgIC8qITxJT0hPTEQ0Wzc6MF0gYml0cyAoSS9PIDQgaG9sZCB0aW1lKSAqLworI2RlZmluZSAgRlNNQ19QSU80X0lPSE9MRDRfMCAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDEwMDAwKSAgICAgICAgLyohPEJpdCAwICovCisjZGVmaW5lICBGU01DX1BJTzRfSU9IT0xENF8xICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMjAwMDApICAgICAgICAvKiE8Qml0IDEgKi8KKyNkZWZpbmUgIEZTTUNfUElPNF9JT0hPTEQ0XzIgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDA0MDAwMCkgICAgICAgIC8qITxCaXQgMiAqLworI2RlZmluZSAgRlNNQ19QSU80X0lPSE9MRDRfMyAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDgwMDAwKSAgICAgICAgLyohPEJpdCAzICovCisjZGVmaW5lICBGU01DX1BJTzRfSU9IT0xENF80ICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAxMDAwMDApICAgICAgICAvKiE8Qml0IDQgKi8KKyNkZWZpbmUgIEZTTUNfUElPNF9JT0hPTEQ0XzUgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDIwMDAwMCkgICAgICAgIC8qITxCaXQgNSAqLworI2RlZmluZSAgRlNNQ19QSU80X0lPSE9MRDRfNiAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwNDAwMDAwKSAgICAgICAgLyohPEJpdCA2ICovCisjZGVmaW5lICBGU01DX1BJTzRfSU9IT0xENF83ICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDA4MDAwMDApICAgICAgICAvKiE8Qml0IDcgKi8KKworI2RlZmluZSAgRlNNQ19QSU80X0lPSElaNCAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweEZGMDAwMDAwKSAgICAgICAgLyohPElPSElaNFs3OjBdIGJpdHMgKEkvTyA0IGRhdGFidXMgSGlaIHRpbWUpICovCisjZGVmaW5lICBGU01DX1BJTzRfSU9ISVo0XzAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDEwMDAwMDApICAgICAgICAvKiE8Qml0IDAgKi8KKyNkZWZpbmUgIEZTTUNfUElPNF9JT0hJWjRfMSAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMjAwMDAwMCkgICAgICAgIC8qITxCaXQgMSAqLworI2RlZmluZSAgRlNNQ19QSU80X0lPSElaNF8yICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDA0MDAwMDAwKSAgICAgICAgLyohPEJpdCAyICovCisjZGVmaW5lICBGU01DX1BJTzRfSU9ISVo0XzMgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDgwMDAwMDApICAgICAgICAvKiE8Qml0IDMgKi8KKyNkZWZpbmUgIEZTTUNfUElPNF9JT0hJWjRfNCAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgxMDAwMDAwMCkgICAgICAgIC8qITxCaXQgNCAqLworI2RlZmluZSAgRlNNQ19QSU80X0lPSElaNF81ICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDIwMDAwMDAwKSAgICAgICAgLyohPEJpdCA1ICovCisjZGVmaW5lICBGU01DX1BJTzRfSU9ISVo0XzYgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4NDAwMDAwMDApICAgICAgICAvKiE8Qml0IDYgKi8KKyNkZWZpbmUgIEZTTUNfUElPNF9JT0hJWjRfNyAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHg4MDAwMDAwMCkgICAgICAgIC8qITxCaXQgNyAqLworCisvKioqKioqKioqKioqKioqKioqICBCaXQgZGVmaW5pdGlvbiBmb3IgRlNNQ19FQ0NSMiByZWdpc3RlciAgKioqKioqKioqKioqKioqKioqLworI2RlZmluZSAgRlNNQ19FQ0NSMl9FQ0MyICAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweEZGRkZGRkZGKSAgICAgICAgLyohPEVDQyByZXN1bHQgKi8KKworLyoqKioqKioqKioqKioqKioqKiAgQml0IGRlZmluaXRpb24gZm9yIEZTTUNfRUNDUjMgcmVnaXN0ZXIgICoqKioqKioqKioqKioqKioqKi8KKyNkZWZpbmUgIEZTTUNfRUNDUjNfRUNDMyAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHhGRkZGRkZGRikgICAgICAgIC8qITxFQ0MgcmVzdWx0ICovCisKKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCisvKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqLworLyogICAgICAgICAgICAgICAgICAgICAgICAgICAgR2VuZXJhbCBQdXJwb3NlIEkvTyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKi8KKy8qICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICovCisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLworLyoqKioqKioqKioqKioqKioqKiAgQml0cyBkZWZpbml0aW9uIGZvciBHUElPX01PREVSIHJlZ2lzdGVyICAqKioqKioqKioqKioqKioqKi8KKyNkZWZpbmUgR1BJT19NT0RFUl9NT0RFUjAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMDAwMykKKyNkZWZpbmUgR1BJT19NT0RFUl9NT0RFUjBfMCAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMDAwMSkKKyNkZWZpbmUgR1BJT19NT0RFUl9NT0RFUjBfMSAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMDAwMikKKworI2RlZmluZSBHUElPX01PREVSX01PREVSMSAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwMDBDKQorI2RlZmluZSBHUElPX01PREVSX01PREVSMV8wICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwMDA0KQorI2RlZmluZSBHUElPX01PREVSX01PREVSMV8xICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwMDA4KQorCisjZGVmaW5lIEdQSU9fTU9ERVJfTU9ERVIyICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDAwMzApCisjZGVmaW5lIEdQSU9fTU9ERVJfTU9ERVIyXzAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDAwMTApCisjZGVmaW5lIEdQSU9fTU9ERVJfTU9ERVIyXzEgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDAwMjApCisKKyNkZWZpbmUgR1BJT19NT0RFUl9NT0RFUjMgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMDBDMCkKKyNkZWZpbmUgR1BJT19NT0RFUl9NT0RFUjNfMCAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMDA0MCkKKyNkZWZpbmUgR1BJT19NT0RFUl9NT0RFUjNfMSAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMDA4MCkKKworI2RlZmluZSBHUElPX01PREVSX01PREVSNCAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwMzAwKQorI2RlZmluZSBHUElPX01PREVSX01PREVSNF8wICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwMTAwKQorI2RlZmluZSBHUElPX01PREVSX01PREVSNF8xICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwMjAwKQorCisjZGVmaW5lIEdQSU9fTU9ERVJfTU9ERVI1ICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDBDMDApCisjZGVmaW5lIEdQSU9fTU9ERVJfTU9ERVI1XzAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDA0MDApCisjZGVmaW5lIEdQSU9fTU9ERVJfTU9ERVI1XzEgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDA4MDApCisKKyNkZWZpbmUgR1BJT19NT0RFUl9NT0RFUjYgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMzAwMCkKKyNkZWZpbmUgR1BJT19NT0RFUl9NT0RFUjZfMCAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMTAwMCkKKyNkZWZpbmUgR1BJT19NT0RFUl9NT0RFUjZfMSAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMjAwMCkKKworI2RlZmluZSBHUElPX01PREVSX01PREVSNyAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDBDMDAwKQorI2RlZmluZSBHUElPX01PREVSX01PREVSN18wICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDA0MDAwKQorI2RlZmluZSBHUElPX01PREVSX01PREVSN18xICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDA4MDAwKQorCisjZGVmaW5lIEdQSU9fTU9ERVJfTU9ERVI4ICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMzAwMDApCisjZGVmaW5lIEdQSU9fTU9ERVJfTU9ERVI4XzAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMTAwMDApCisjZGVmaW5lIEdQSU9fTU9ERVJfTU9ERVI4XzEgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMjAwMDApCisKKyNkZWZpbmUgR1BJT19NT0RFUl9NT0RFUjkgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDBDMDAwMCkKKyNkZWZpbmUgR1BJT19NT0RFUl9NT0RFUjlfMCAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDA0MDAwMCkKKyNkZWZpbmUgR1BJT19NT0RFUl9NT0RFUjlfMSAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDA4MDAwMCkKKworI2RlZmluZSBHUElPX01PREVSX01PREVSMTAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMzAwMDAwKQorI2RlZmluZSBHUElPX01PREVSX01PREVSMTBfMCAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMTAwMDAwKQorI2RlZmluZSBHUElPX01PREVSX01PREVSMTBfMSAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMjAwMDAwKQorCisjZGVmaW5lIEdQSU9fTU9ERVJfTU9ERVIxMSAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDBDMDAwMDApCisjZGVmaW5lIEdQSU9fTU9ERVJfTU9ERVIxMV8wICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDA0MDAwMDApCisjZGVmaW5lIEdQSU9fTU9ERVJfTU9ERVIxMV8xICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDA4MDAwMDApCisKKyNkZWZpbmUgR1BJT19NT0RFUl9NT0RFUjEyICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMzAwMDAwMCkKKyNkZWZpbmUgR1BJT19NT0RFUl9NT0RFUjEyXzAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMTAwMDAwMCkKKyNkZWZpbmUgR1BJT19NT0RFUl9NT0RFUjEyXzEgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMjAwMDAwMCkKKworI2RlZmluZSBHUElPX01PREVSX01PREVSMTMgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDBDMDAwMDAwKQorI2RlZmluZSBHUElPX01PREVSX01PREVSMTNfMCAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDA0MDAwMDAwKQorI2RlZmluZSBHUElPX01PREVSX01PREVSMTNfMSAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDA4MDAwMDAwKQorCisjZGVmaW5lIEdQSU9fTU9ERVJfTU9ERVIxNCAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MzAwMDAwMDApCisjZGVmaW5lIEdQSU9fTU9ERVJfTU9ERVIxNF8wICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MTAwMDAwMDApCisjZGVmaW5lIEdQSU9fTU9ERVJfTU9ERVIxNF8xICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MjAwMDAwMDApCisKKyNkZWZpbmUgR1BJT19NT0RFUl9NT0RFUjE1ICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHhDMDAwMDAwMCkKKyNkZWZpbmUgR1BJT19NT0RFUl9NT0RFUjE1XzAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHg0MDAwMDAwMCkKKyNkZWZpbmUgR1BJT19NT0RFUl9NT0RFUjE1XzEgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHg4MDAwMDAwMCkKKworLyoqKioqKioqKioqKioqKioqKiAgQml0cyBkZWZpbml0aW9uIGZvciBHUElPX09UWVBFUiByZWdpc3RlciAgKioqKioqKioqKioqKioqKi8KKyNkZWZpbmUgR1BJT19PVFlQRVJfT1RfMCAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMDAwMSkKKyNkZWZpbmUgR1BJT19PVFlQRVJfT1RfMSAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMDAwMikKKyNkZWZpbmUgR1BJT19PVFlQRVJfT1RfMiAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMDAwNCkKKyNkZWZpbmUgR1BJT19PVFlQRVJfT1RfMyAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMDAwOCkKKyNkZWZpbmUgR1BJT19PVFlQRVJfT1RfNCAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMDAxMCkKKyNkZWZpbmUgR1BJT19PVFlQRVJfT1RfNSAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMDAyMCkKKyNkZWZpbmUgR1BJT19PVFlQRVJfT1RfNiAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMDA0MCkKKyNkZWZpbmUgR1BJT19PVFlQRVJfT1RfNyAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMDA4MCkKKyNkZWZpbmUgR1BJT19PVFlQRVJfT1RfOCAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMDEwMCkKKyNkZWZpbmUgR1BJT19PVFlQRVJfT1RfOSAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMDIwMCkKKyNkZWZpbmUgR1BJT19PVFlQRVJfT1RfMTAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMDQwMCkKKyNkZWZpbmUgR1BJT19PVFlQRVJfT1RfMTEgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMDgwMCkKKyNkZWZpbmUgR1BJT19PVFlQRVJfT1RfMTIgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMTAwMCkKKyNkZWZpbmUgR1BJT19PVFlQRVJfT1RfMTMgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMjAwMCkKKyNkZWZpbmUgR1BJT19PVFlQRVJfT1RfMTQgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwNDAwMCkKKyNkZWZpbmUgR1BJT19PVFlQRVJfT1RfMTUgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwODAwMCkKKworLyoqKioqKioqKioqKioqKioqKiAgQml0cyBkZWZpbml0aW9uIGZvciBHUElPX09TUEVFRFIgcmVnaXN0ZXIgICoqKioqKioqKioqKioqKi8KKyNkZWZpbmUgR1BJT19PU1BFRURFUl9PU1BFRURSMCAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMDAwMykKKyNkZWZpbmUgR1BJT19PU1BFRURFUl9PU1BFRURSMF8wICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMDAwMSkKKyNkZWZpbmUgR1BJT19PU1BFRURFUl9PU1BFRURSMF8xICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMDAwMikKKworI2RlZmluZSBHUElPX09TUEVFREVSX09TUEVFRFIxICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwMDBDKQorI2RlZmluZSBHUElPX09TUEVFREVSX09TUEVFRFIxXzAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwMDA0KQorI2RlZmluZSBHUElPX09TUEVFREVSX09TUEVFRFIxXzEgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwMDA4KQorCisjZGVmaW5lIEdQSU9fT1NQRUVERVJfT1NQRUVEUjIgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDAwMzApCisjZGVmaW5lIEdQSU9fT1NQRUVERVJfT1NQRUVEUjJfMCAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDAwMTApCisjZGVmaW5lIEdQSU9fT1NQRUVERVJfT1NQRUVEUjJfMSAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDAwMjApCisKKyNkZWZpbmUgR1BJT19PU1BFRURFUl9PU1BFRURSMyAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMDBDMCkKKyNkZWZpbmUgR1BJT19PU1BFRURFUl9PU1BFRURSM18wICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMDA0MCkKKyNkZWZpbmUgR1BJT19PU1BFRURFUl9PU1BFRURSM18xICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMDA4MCkKKworI2RlZmluZSBHUElPX09TUEVFREVSX09TUEVFRFI0ICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwMzAwKQorI2RlZmluZSBHUElPX09TUEVFREVSX09TUEVFRFI0XzAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwMTAwKQorI2RlZmluZSBHUElPX09TUEVFREVSX09TUEVFRFI0XzEgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwMjAwKQorCisjZGVmaW5lIEdQSU9fT1NQRUVERVJfT1NQRUVEUjUgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDBDMDApCisjZGVmaW5lIEdQSU9fT1NQRUVERVJfT1NQRUVEUjVfMCAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDA0MDApCisjZGVmaW5lIEdQSU9fT1NQRUVERVJfT1NQRUVEUjVfMSAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDA4MDApCisKKyNkZWZpbmUgR1BJT19PU1BFRURFUl9PU1BFRURSNiAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMzAwMCkKKyNkZWZpbmUgR1BJT19PU1BFRURFUl9PU1BFRURSNl8wICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMTAwMCkKKyNkZWZpbmUgR1BJT19PU1BFRURFUl9PU1BFRURSNl8xICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMjAwMCkKKworI2RlZmluZSBHUElPX09TUEVFREVSX09TUEVFRFI3ICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDBDMDAwKQorI2RlZmluZSBHUElPX09TUEVFREVSX09TUEVFRFI3XzAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDA0MDAwKQorI2RlZmluZSBHUElPX09TUEVFREVSX09TUEVFRFI3XzEgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDA4MDAwKQorCisjZGVmaW5lIEdQSU9fT1NQRUVERVJfT1NQRUVEUjggICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMzAwMDApCisjZGVmaW5lIEdQSU9fT1NQRUVERVJfT1NQRUVEUjhfMCAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMTAwMDApCisjZGVmaW5lIEdQSU9fT1NQRUVERVJfT1NQRUVEUjhfMSAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMjAwMDApCisKKyNkZWZpbmUgR1BJT19PU1BFRURFUl9PU1BFRURSOSAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDBDMDAwMCkKKyNkZWZpbmUgR1BJT19PU1BFRURFUl9PU1BFRURSOV8wICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDA0MDAwMCkKKyNkZWZpbmUgR1BJT19PU1BFRURFUl9PU1BFRURSOV8xICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDA4MDAwMCkKKworI2RlZmluZSBHUElPX09TUEVFREVSX09TUEVFRFIxMCAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMzAwMDAwKQorI2RlZmluZSBHUElPX09TUEVFREVSX09TUEVFRFIxMF8wICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMTAwMDAwKQorI2RlZmluZSBHUElPX09TUEVFREVSX09TUEVFRFIxMF8xICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMjAwMDAwKQorCisjZGVmaW5lIEdQSU9fT1NQRUVERVJfT1NQRUVEUjExICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDBDMDAwMDApCisjZGVmaW5lIEdQSU9fT1NQRUVERVJfT1NQRUVEUjExXzAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDA0MDAwMDApCisjZGVmaW5lIEdQSU9fT1NQRUVERVJfT1NQRUVEUjExXzEgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDA4MDAwMDApCisKKyNkZWZpbmUgR1BJT19PU1BFRURFUl9PU1BFRURSMTIgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMzAwMDAwMCkKKyNkZWZpbmUgR1BJT19PU1BFRURFUl9PU1BFRURSMTJfMCAgICAgICAgICAgICgodWludDMyX3QpMHgwMTAwMDAwMCkKKyNkZWZpbmUgR1BJT19PU1BFRURFUl9PU1BFRURSMTJfMSAgICAgICAgICAgICgodWludDMyX3QpMHgwMjAwMDAwMCkKKworI2RlZmluZSBHUElPX09TUEVFREVSX09TUEVFRFIxMyAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDBDMDAwMDAwKQorI2RlZmluZSBHUElPX09TUEVFREVSX09TUEVFRFIxM18wICAgICAgICAgICAgKCh1aW50MzJfdCkweDA0MDAwMDAwKQorI2RlZmluZSBHUElPX09TUEVFREVSX09TUEVFRFIxM18xICAgICAgICAgICAgKCh1aW50MzJfdCkweDA4MDAwMDAwKQorCisjZGVmaW5lIEdQSU9fT1NQRUVERVJfT1NQRUVEUjE0ICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MzAwMDAwMDApCisjZGVmaW5lIEdQSU9fT1NQRUVERVJfT1NQRUVEUjE0XzAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MTAwMDAwMDApCisjZGVmaW5lIEdQSU9fT1NQRUVERVJfT1NQRUVEUjE0XzEgICAgICAgICAgICAoKHVpbnQzMl90KTB4MjAwMDAwMDApCisKKyNkZWZpbmUgR1BJT19PU1BFRURFUl9PU1BFRURSMTUgICAgICAgICAgICAgICgodWludDMyX3QpMHhDMDAwMDAwMCkKKyNkZWZpbmUgR1BJT19PU1BFRURFUl9PU1BFRURSMTVfMCAgICAgICAgICAgICgodWludDMyX3QpMHg0MDAwMDAwMCkKKyNkZWZpbmUgR1BJT19PU1BFRURFUl9PU1BFRURSMTVfMSAgICAgICAgICAgICgodWludDMyX3QpMHg4MDAwMDAwMCkKKworLyoqKioqKioqKioqKioqKioqKiAgQml0cyBkZWZpbml0aW9uIGZvciBHUElPX1BVUERSIHJlZ2lzdGVyICAqKioqKioqKioqKioqKioqKi8KKyNkZWZpbmUgR1BJT19QVVBEUl9QVVBEUjAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMDAwMykKKyNkZWZpbmUgR1BJT19QVVBEUl9QVVBEUjBfMCAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMDAwMSkKKyNkZWZpbmUgR1BJT19QVVBEUl9QVVBEUjBfMSAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMDAwMikKKworI2RlZmluZSBHUElPX1BVUERSX1BVUERSMSAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwMDBDKQorI2RlZmluZSBHUElPX1BVUERSX1BVUERSMV8wICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwMDA0KQorI2RlZmluZSBHUElPX1BVUERSX1BVUERSMV8xICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwMDA4KQorCisjZGVmaW5lIEdQSU9fUFVQRFJfUFVQRFIyICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDAwMzApCisjZGVmaW5lIEdQSU9fUFVQRFJfUFVQRFIyXzAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDAwMTApCisjZGVmaW5lIEdQSU9fUFVQRFJfUFVQRFIyXzEgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDAwMjApCisKKyNkZWZpbmUgR1BJT19QVVBEUl9QVVBEUjMgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMDBDMCkKKyNkZWZpbmUgR1BJT19QVVBEUl9QVVBEUjNfMCAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMDA0MCkKKyNkZWZpbmUgR1BJT19QVVBEUl9QVVBEUjNfMSAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMDA4MCkKKworI2RlZmluZSBHUElPX1BVUERSX1BVUERSNCAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwMzAwKQorI2RlZmluZSBHUElPX1BVUERSX1BVUERSNF8wICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwMTAwKQorI2RlZmluZSBHUElPX1BVUERSX1BVUERSNF8xICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwMjAwKQorCisjZGVmaW5lIEdQSU9fUFVQRFJfUFVQRFI1ICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDBDMDApCisjZGVmaW5lIEdQSU9fUFVQRFJfUFVQRFI1XzAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDA0MDApCisjZGVmaW5lIEdQSU9fUFVQRFJfUFVQRFI1XzEgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDA4MDApCisKKyNkZWZpbmUgR1BJT19QVVBEUl9QVVBEUjYgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMzAwMCkKKyNkZWZpbmUgR1BJT19QVVBEUl9QVVBEUjZfMCAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMTAwMCkKKyNkZWZpbmUgR1BJT19QVVBEUl9QVVBEUjZfMSAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMjAwMCkKKworI2RlZmluZSBHUElPX1BVUERSX1BVUERSNyAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDBDMDAwKQorI2RlZmluZSBHUElPX1BVUERSX1BVUERSN18wICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDA0MDAwKQorI2RlZmluZSBHUElPX1BVUERSX1BVUERSN18xICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDA4MDAwKQorCisjZGVmaW5lIEdQSU9fUFVQRFJfUFVQRFI4ICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMzAwMDApCisjZGVmaW5lIEdQSU9fUFVQRFJfUFVQRFI4XzAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMTAwMDApCisjZGVmaW5lIEdQSU9fUFVQRFJfUFVQRFI4XzEgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMjAwMDApCisKKyNkZWZpbmUgR1BJT19QVVBEUl9QVVBEUjkgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDBDMDAwMCkKKyNkZWZpbmUgR1BJT19QVVBEUl9QVVBEUjlfMCAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDA0MDAwMCkKKyNkZWZpbmUgR1BJT19QVVBEUl9QVVBEUjlfMSAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDA4MDAwMCkKKworI2RlZmluZSBHUElPX1BVUERSX1BVUERSMTAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMzAwMDAwKQorI2RlZmluZSBHUElPX1BVUERSX1BVUERSMTBfMCAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMTAwMDAwKQorI2RlZmluZSBHUElPX1BVUERSX1BVUERSMTBfMSAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMjAwMDAwKQorCisjZGVmaW5lIEdQSU9fUFVQRFJfUFVQRFIxMSAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDBDMDAwMDApCisjZGVmaW5lIEdQSU9fUFVQRFJfUFVQRFIxMV8wICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDA0MDAwMDApCisjZGVmaW5lIEdQSU9fUFVQRFJfUFVQRFIxMV8xICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDA4MDAwMDApCisKKyNkZWZpbmUgR1BJT19QVVBEUl9QVVBEUjEyICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMzAwMDAwMCkKKyNkZWZpbmUgR1BJT19QVVBEUl9QVVBEUjEyXzAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMTAwMDAwMCkKKyNkZWZpbmUgR1BJT19QVVBEUl9QVVBEUjEyXzEgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMjAwMDAwMCkKKworI2RlZmluZSBHUElPX1BVUERSX1BVUERSMTMgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDBDMDAwMDAwKQorI2RlZmluZSBHUElPX1BVUERSX1BVUERSMTNfMCAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDA0MDAwMDAwKQorI2RlZmluZSBHUElPX1BVUERSX1BVUERSMTNfMSAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDA4MDAwMDAwKQorCisjZGVmaW5lIEdQSU9fUFVQRFJfUFVQRFIxNCAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MzAwMDAwMDApCisjZGVmaW5lIEdQSU9fUFVQRFJfUFVQRFIxNF8wICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MTAwMDAwMDApCisjZGVmaW5lIEdQSU9fUFVQRFJfUFVQRFIxNF8xICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MjAwMDAwMDApCisKKyNkZWZpbmUgR1BJT19QVVBEUl9QVVBEUjE1ICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHhDMDAwMDAwMCkKKyNkZWZpbmUgR1BJT19QVVBEUl9QVVBEUjE1XzAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHg0MDAwMDAwMCkKKyNkZWZpbmUgR1BJT19QVVBEUl9QVVBEUjE1XzEgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHg4MDAwMDAwMCkKKworLyoqKioqKioqKioqKioqKioqKiAgQml0cyBkZWZpbml0aW9uIGZvciBHUElPX0lEUiByZWdpc3RlciAgKioqKioqKioqKioqKioqKioqKi8KKyNkZWZpbmUgR1BJT19PVFlQRVJfSURSXzAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMDAwMSkKKyNkZWZpbmUgR1BJT19PVFlQRVJfSURSXzEgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMDAwMikKKyNkZWZpbmUgR1BJT19PVFlQRVJfSURSXzIgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMDAwNCkKKyNkZWZpbmUgR1BJT19PVFlQRVJfSURSXzMgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMDAwOCkKKyNkZWZpbmUgR1BJT19PVFlQRVJfSURSXzQgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMDAxMCkKKyNkZWZpbmUgR1BJT19PVFlQRVJfSURSXzUgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMDAyMCkKKyNkZWZpbmUgR1BJT19PVFlQRVJfSURSXzYgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMDA0MCkKKyNkZWZpbmUgR1BJT19PVFlQRVJfSURSXzcgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMDA4MCkKKyNkZWZpbmUgR1BJT19PVFlQRVJfSURSXzggICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMDEwMCkKKyNkZWZpbmUgR1BJT19PVFlQRVJfSURSXzkgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMDIwMCkKKyNkZWZpbmUgR1BJT19PVFlQRVJfSURSXzEwICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMDQwMCkKKyNkZWZpbmUgR1BJT19PVFlQRVJfSURSXzExICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMDgwMCkKKyNkZWZpbmUgR1BJT19PVFlQRVJfSURSXzEyICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMTAwMCkKKyNkZWZpbmUgR1BJT19PVFlQRVJfSURSXzEzICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMjAwMCkKKyNkZWZpbmUgR1BJT19PVFlQRVJfSURSXzE0ICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwNDAwMCkKKyNkZWZpbmUgR1BJT19PVFlQRVJfSURSXzE1ICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwODAwMCkKKworLyoqKioqKioqKioqKioqKioqKiAgQml0cyBkZWZpbml0aW9uIGZvciBHUElPX09EUiByZWdpc3RlciAgKioqKioqKioqKioqKioqKioqKi8KKyNkZWZpbmUgR1BJT19PVFlQRVJfT0RSXzAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMDAwMSkKKyNkZWZpbmUgR1BJT19PVFlQRVJfT0RSXzEgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMDAwMikKKyNkZWZpbmUgR1BJT19PVFlQRVJfT0RSXzIgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMDAwNCkKKyNkZWZpbmUgR1BJT19PVFlQRVJfT0RSXzMgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMDAwOCkKKyNkZWZpbmUgR1BJT19PVFlQRVJfT0RSXzQgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMDAxMCkKKyNkZWZpbmUgR1BJT19PVFlQRVJfT0RSXzUgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMDAyMCkKKyNkZWZpbmUgR1BJT19PVFlQRVJfT0RSXzYgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMDA0MCkKKyNkZWZpbmUgR1BJT19PVFlQRVJfT0RSXzcgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMDA4MCkKKyNkZWZpbmUgR1BJT19PVFlQRVJfT0RSXzggICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMDEwMCkKKyNkZWZpbmUgR1BJT19PVFlQRVJfT0RSXzkgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMDIwMCkKKyNkZWZpbmUgR1BJT19PVFlQRVJfT0RSXzEwICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMDQwMCkKKyNkZWZpbmUgR1BJT19PVFlQRVJfT0RSXzExICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMDgwMCkKKyNkZWZpbmUgR1BJT19PVFlQRVJfT0RSXzEyICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMTAwMCkKKyNkZWZpbmUgR1BJT19PVFlQRVJfT0RSXzEzICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMjAwMCkKKyNkZWZpbmUgR1BJT19PVFlQRVJfT0RSXzE0ICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwNDAwMCkKKyNkZWZpbmUgR1BJT19PVFlQRVJfT0RSXzE1ICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwODAwMCkKKworLyoqKioqKioqKioqKioqKioqKiAgQml0cyBkZWZpbml0aW9uIGZvciBHUElPX0JTUlIgcmVnaXN0ZXIgICoqKioqKioqKioqKioqKioqKi8KKyNkZWZpbmUgR1BJT19CU1JSX0JTXzAgICAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMDAwMSkKKyNkZWZpbmUgR1BJT19CU1JSX0JTXzEgICAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMDAwMikKKyNkZWZpbmUgR1BJT19CU1JSX0JTXzIgICAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMDAwNCkKKyNkZWZpbmUgR1BJT19CU1JSX0JTXzMgICAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMDAwOCkKKyNkZWZpbmUgR1BJT19CU1JSX0JTXzQgICAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMDAxMCkKKyNkZWZpbmUgR1BJT19CU1JSX0JTXzUgICAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMDAyMCkKKyNkZWZpbmUgR1BJT19CU1JSX0JTXzYgICAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMDA0MCkKKyNkZWZpbmUgR1BJT19CU1JSX0JTXzcgICAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMDA4MCkKKyNkZWZpbmUgR1BJT19CU1JSX0JTXzggICAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMDEwMCkKKyNkZWZpbmUgR1BJT19CU1JSX0JTXzkgICAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMDIwMCkKKyNkZWZpbmUgR1BJT19CU1JSX0JTXzEwICAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMDQwMCkKKyNkZWZpbmUgR1BJT19CU1JSX0JTXzExICAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMDgwMCkKKyNkZWZpbmUgR1BJT19CU1JSX0JTXzEyICAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMTAwMCkKKyNkZWZpbmUgR1BJT19CU1JSX0JTXzEzICAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMjAwMCkKKyNkZWZpbmUgR1BJT19CU1JSX0JTXzE0ICAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwNDAwMCkKKyNkZWZpbmUgR1BJT19CU1JSX0JTXzE1ICAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwODAwMCkKKyNkZWZpbmUgR1BJT19CU1JSX0JSXzAgICAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAxMDAwMCkKKyNkZWZpbmUgR1BJT19CU1JSX0JSXzEgICAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAyMDAwMCkKKyNkZWZpbmUgR1BJT19CU1JSX0JSXzIgICAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDA0MDAwMCkKKyNkZWZpbmUgR1BJT19CU1JSX0JSXzMgICAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDA4MDAwMCkKKyNkZWZpbmUgR1BJT19CU1JSX0JSXzQgICAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDEwMDAwMCkKKyNkZWZpbmUgR1BJT19CU1JSX0JSXzUgICAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDIwMDAwMCkKKyNkZWZpbmUgR1BJT19CU1JSX0JSXzYgICAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDQwMDAwMCkKKyNkZWZpbmUgR1BJT19CU1JSX0JSXzcgICAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDgwMDAwMCkKKyNkZWZpbmUgR1BJT19CU1JSX0JSXzggICAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMTAwMDAwMCkKKyNkZWZpbmUgR1BJT19CU1JSX0JSXzkgICAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMjAwMDAwMCkKKyNkZWZpbmUgR1BJT19CU1JSX0JSXzEwICAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwNDAwMDAwMCkKKyNkZWZpbmUgR1BJT19CU1JSX0JSXzExICAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwODAwMDAwMCkKKyNkZWZpbmUgR1BJT19CU1JSX0JSXzEyICAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgxMDAwMDAwMCkKKyNkZWZpbmUgR1BJT19CU1JSX0JSXzEzICAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgyMDAwMDAwMCkKKyNkZWZpbmUgR1BJT19CU1JSX0JSXzE0ICAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHg0MDAwMDAwMCkKKyNkZWZpbmUgR1BJT19CU1JSX0JSXzE1ICAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHg4MDAwMDAwMCkKKworLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KKy8qICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICovCisvKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEhBU0ggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqLworLyogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKi8KKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCisvKioqKioqKioqKioqKioqKioqICBCaXRzIGRlZmluaXRpb24gZm9yIEhBU0hfQ1IgcmVnaXN0ZXIgICoqKioqKioqKioqKioqKioqKioqLworI2RlZmluZSBIQVNIX0NSX0lOSVQgICAgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwMDA0KQorI2RlZmluZSBIQVNIX0NSX0RNQUUgICAgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwMDA4KQorI2RlZmluZSBIQVNIX0NSX0RBVEFUWVBFICAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwMDMwKQorI2RlZmluZSBIQVNIX0NSX0RBVEFUWVBFXzAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwMDEwKQorI2RlZmluZSBIQVNIX0NSX0RBVEFUWVBFXzEgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwMDIwKQorI2RlZmluZSBIQVNIX0NSX01PREUgICAgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwMDQwKQorI2RlZmluZSBIQVNIX0NSX0FMR08gICAgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwMDgwKQorI2RlZmluZSBIQVNIX0NSX05CVyAgICAgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwRjAwKQorI2RlZmluZSBIQVNIX0NSX05CV18wICAgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwMTAwKQorI2RlZmluZSBIQVNIX0NSX05CV18xICAgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwMjAwKQorI2RlZmluZSBIQVNIX0NSX05CV18yICAgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwNDAwKQorI2RlZmluZSBIQVNIX0NSX05CV18zICAgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwODAwKQorI2RlZmluZSBIQVNIX0NSX0RJTk5FICAgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAxMDAwKQorI2RlZmluZSBIQVNIX0NSX0xLRVkgICAgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDEwMDAwKQorCisvKioqKioqKioqKioqKioqKioqICBCaXRzIGRlZmluaXRpb24gZm9yIEhBU0hfU1RSIHJlZ2lzdGVyICAqKioqKioqKioqKioqKioqKioqLworI2RlZmluZSBIQVNIX1NUUl9OQlcgICAgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwMDFGKQorI2RlZmluZSBIQVNIX1NUUl9OQldfMCAgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwMDAxKQorI2RlZmluZSBIQVNIX1NUUl9OQldfMSAgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwMDAyKQorI2RlZmluZSBIQVNIX1NUUl9OQldfMiAgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwMDA0KQorI2RlZmluZSBIQVNIX1NUUl9OQldfMyAgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwMDA4KQorI2RlZmluZSBIQVNIX1NUUl9OQldfNCAgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwMDEwKQorI2RlZmluZSBIQVNIX1NUUl9EQ0FMICAgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwMTAwKQorCisvKioqKioqKioqKioqKioqKioqICBCaXRzIGRlZmluaXRpb24gZm9yIEhBU0hfSU1SIHJlZ2lzdGVyICAqKioqKioqKioqKioqKioqKioqLworI2RlZmluZSBIQVNIX0lNUl9ESU5JTSAgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwMDAxKQorI2RlZmluZSBIQVNIX0lNUl9EQ0lNICAgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwMDAyKQorCisvKioqKioqKioqKioqKioqKioqICBCaXRzIGRlZmluaXRpb24gZm9yIEhBU0hfU1IgcmVnaXN0ZXIgICoqKioqKioqKioqKioqKioqKioqLworI2RlZmluZSBIQVNIX1NSX0RJTklTICAgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwMDAxKQorI2RlZmluZSBIQVNIX1NSX0RDSVMgICAgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwMDAyKQorI2RlZmluZSBIQVNIX1NSX0RNQVMgICAgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwMDA0KQorI2RlZmluZSBIQVNIX1NSX0JVU1kgICAgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwMDA4KQorCisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLworLyogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKi8KKy8qICAgICAgICAgICAgICAgICAgICAgIEludGVyLWludGVncmF0ZWQgQ2lyY3VpdCBJbnRlcmZhY2UgICAgICAgICAgICAgICAgICAgICovCisvKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqLworLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KKy8qKioqKioqKioqKioqKioqKioqICBCaXQgZGVmaW5pdGlvbiBmb3IgSTJDX0NSMSByZWdpc3RlciAgKioqKioqKioqKioqKioqKioqKiovCisjZGVmaW5lICBJMkNfQ1IxX1BFICAgICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQxNl90KTB4MDAwMSkgICAgICAgICAgICAvKiE8UGVyaXBoZXJhbCBFbmFibGUgKi8KKyNkZWZpbmUgIEkyQ19DUjFfU01CVVMgICAgICAgICAgICAgICAgICAgICAgICgodWludDE2X3QpMHgwMDAyKSAgICAgICAgICAgIC8qITxTTUJ1cyBNb2RlICovCisjZGVmaW5lICBJMkNfQ1IxX1NNQlRZUEUgICAgICAgICAgICAgICAgICAgICAoKHVpbnQxNl90KTB4MDAwOCkgICAgICAgICAgICAvKiE8U01CdXMgVHlwZSAqLworI2RlZmluZSAgSTJDX0NSMV9FTkFSUCAgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MTZfdCkweDAwMTApICAgICAgICAgICAgLyohPEFSUCBFbmFibGUgKi8KKyNkZWZpbmUgIEkyQ19DUjFfRU5QRUMgICAgICAgICAgICAgICAgICAgICAgICgodWludDE2X3QpMHgwMDIwKSAgICAgICAgICAgIC8qITxQRUMgRW5hYmxlICovCisjZGVmaW5lICBJMkNfQ1IxX0VOR0MgICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQxNl90KTB4MDA0MCkgICAgICAgICAgICAvKiE8R2VuZXJhbCBDYWxsIEVuYWJsZSAqLworI2RlZmluZSAgSTJDX0NSMV9OT1NUUkVUQ0ggICAgICAgICAgICAgICAgICAgKCh1aW50MTZfdCkweDAwODApICAgICAgICAgICAgLyohPENsb2NrIFN0cmV0Y2hpbmcgRGlzYWJsZSAoU2xhdmUgbW9kZSkgKi8KKyNkZWZpbmUgIEkyQ19DUjFfU1RBUlQgICAgICAgICAgICAgICAgICAgICAgICgodWludDE2X3QpMHgwMTAwKSAgICAgICAgICAgIC8qITxTdGFydCBHZW5lcmF0aW9uICovCisjZGVmaW5lICBJMkNfQ1IxX1NUT1AgICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQxNl90KTB4MDIwMCkgICAgICAgICAgICAvKiE8U3RvcCBHZW5lcmF0aW9uICovCisjZGVmaW5lICBJMkNfQ1IxX0FDSyAgICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQxNl90KTB4MDQwMCkgICAgICAgICAgICAvKiE8QWNrbm93bGVkZ2UgRW5hYmxlICovCisjZGVmaW5lICBJMkNfQ1IxX1BPUyAgICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQxNl90KTB4MDgwMCkgICAgICAgICAgICAvKiE8QWNrbm93bGVkZ2UvUEVDIFBvc2l0aW9uIChmb3IgZGF0YSByZWNlcHRpb24pICovCisjZGVmaW5lICBJMkNfQ1IxX1BFQyAgICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQxNl90KTB4MTAwMCkgICAgICAgICAgICAvKiE8UGFja2V0IEVycm9yIENoZWNraW5nICovCisjZGVmaW5lICBJMkNfQ1IxX0FMRVJUICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQxNl90KTB4MjAwMCkgICAgICAgICAgICAvKiE8U01CdXMgQWxlcnQgKi8KKyNkZWZpbmUgIEkyQ19DUjFfU1dSU1QgICAgICAgICAgICAgICAgICAgICAgICgodWludDE2X3QpMHg4MDAwKSAgICAgICAgICAgIC8qITxTb2Z0d2FyZSBSZXNldCAqLworCisvKioqKioqKioqKioqKioqKioqKiAgQml0IGRlZmluaXRpb24gZm9yIEkyQ19DUjIgcmVnaXN0ZXIgICoqKioqKioqKioqKioqKioqKioqLworI2RlZmluZSAgSTJDX0NSMl9GUkVRICAgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MTZfdCkweDAwM0YpICAgICAgICAgICAgLyohPEZSRVFbNTowXSBiaXRzIChQZXJpcGhlcmFsIENsb2NrIEZyZXF1ZW5jeSkgKi8KKyNkZWZpbmUgIEkyQ19DUjJfRlJFUV8wICAgICAgICAgICAgICAgICAgICAgICgodWludDE2X3QpMHgwMDAxKSAgICAgICAgICAgIC8qITxCaXQgMCAqLworI2RlZmluZSAgSTJDX0NSMl9GUkVRXzEgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MTZfdCkweDAwMDIpICAgICAgICAgICAgLyohPEJpdCAxICovCisjZGVmaW5lICBJMkNfQ1IyX0ZSRVFfMiAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQxNl90KTB4MDAwNCkgICAgICAgICAgICAvKiE8Qml0IDIgKi8KKyNkZWZpbmUgIEkyQ19DUjJfRlJFUV8zICAgICAgICAgICAgICAgICAgICAgICgodWludDE2X3QpMHgwMDA4KSAgICAgICAgICAgIC8qITxCaXQgMyAqLworI2RlZmluZSAgSTJDX0NSMl9GUkVRXzQgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MTZfdCkweDAwMTApICAgICAgICAgICAgLyohPEJpdCA0ICovCisjZGVmaW5lICBJMkNfQ1IyX0ZSRVFfNSAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQxNl90KTB4MDAyMCkgICAgICAgICAgICAvKiE8Qml0IDUgKi8KKworI2RlZmluZSAgSTJDX0NSMl9JVEVSUkVOICAgICAgICAgICAgICAgICAgICAgKCh1aW50MTZfdCkweDAxMDApICAgICAgICAgICAgLyohPEVycm9yIEludGVycnVwdCBFbmFibGUgKi8KKyNkZWZpbmUgIEkyQ19DUjJfSVRFVlRFTiAgICAgICAgICAgICAgICAgICAgICgodWludDE2X3QpMHgwMjAwKSAgICAgICAgICAgIC8qITxFdmVudCBJbnRlcnJ1cHQgRW5hYmxlICovCisjZGVmaW5lICBJMkNfQ1IyX0lUQlVGRU4gICAgICAgICAgICAgICAgICAgICAoKHVpbnQxNl90KTB4MDQwMCkgICAgICAgICAgICAvKiE8QnVmZmVyIEludGVycnVwdCBFbmFibGUgKi8KKyNkZWZpbmUgIEkyQ19DUjJfRE1BRU4gICAgICAgICAgICAgICAgICAgICAgICgodWludDE2X3QpMHgwODAwKSAgICAgICAgICAgIC8qITxETUEgUmVxdWVzdHMgRW5hYmxlICovCisjZGVmaW5lICBJMkNfQ1IyX0xBU1QgICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQxNl90KTB4MTAwMCkgICAgICAgICAgICAvKiE8RE1BIExhc3QgVHJhbnNmZXIgKi8KKworLyoqKioqKioqKioqKioqKioqKiogIEJpdCBkZWZpbml0aW9uIGZvciBJMkNfT0FSMSByZWdpc3RlciAgKioqKioqKioqKioqKioqKioqKi8KKyNkZWZpbmUgIEkyQ19PQVIxX0FERDFfNyAgICAgICAgICAgICAgICAgICAgICgodWludDE2X3QpMHgwMEZFKSAgICAgICAgICAgIC8qITxJbnRlcmZhY2UgQWRkcmVzcyAqLworI2RlZmluZSAgSTJDX09BUjFfQUREOF85ICAgICAgICAgICAgICAgICAgICAgKCh1aW50MTZfdCkweDAzMDApICAgICAgICAgICAgLyohPEludGVyZmFjZSBBZGRyZXNzICovCisKKyNkZWZpbmUgIEkyQ19PQVIxX0FERDAgICAgICAgICAgICAgICAgICAgICAgICgodWludDE2X3QpMHgwMDAxKSAgICAgICAgICAgIC8qITxCaXQgMCAqLworI2RlZmluZSAgSTJDX09BUjFfQUREMSAgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MTZfdCkweDAwMDIpICAgICAgICAgICAgLyohPEJpdCAxICovCisjZGVmaW5lICBJMkNfT0FSMV9BREQyICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQxNl90KTB4MDAwNCkgICAgICAgICAgICAvKiE8Qml0IDIgKi8KKyNkZWZpbmUgIEkyQ19PQVIxX0FERDMgICAgICAgICAgICAgICAgICAgICAgICgodWludDE2X3QpMHgwMDA4KSAgICAgICAgICAgIC8qITxCaXQgMyAqLworI2RlZmluZSAgSTJDX09BUjFfQURENCAgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MTZfdCkweDAwMTApICAgICAgICAgICAgLyohPEJpdCA0ICovCisjZGVmaW5lICBJMkNfT0FSMV9BREQ1ICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQxNl90KTB4MDAyMCkgICAgICAgICAgICAvKiE8Qml0IDUgKi8KKyNkZWZpbmUgIEkyQ19PQVIxX0FERDYgICAgICAgICAgICAgICAgICAgICAgICgodWludDE2X3QpMHgwMDQwKSAgICAgICAgICAgIC8qITxCaXQgNiAqLworI2RlZmluZSAgSTJDX09BUjFfQURENyAgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MTZfdCkweDAwODApICAgICAgICAgICAgLyohPEJpdCA3ICovCisjZGVmaW5lICBJMkNfT0FSMV9BREQ4ICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQxNl90KTB4MDEwMCkgICAgICAgICAgICAvKiE8Qml0IDggKi8KKyNkZWZpbmUgIEkyQ19PQVIxX0FERDkgICAgICAgICAgICAgICAgICAgICAgICgodWludDE2X3QpMHgwMjAwKSAgICAgICAgICAgIC8qITxCaXQgOSAqLworCisjZGVmaW5lICBJMkNfT0FSMV9BRERNT0RFICAgICAgICAgICAgICAgICAgICAoKHVpbnQxNl90KTB4ODAwMCkgICAgICAgICAgICAvKiE8QWRkcmVzc2luZyBNb2RlIChTbGF2ZSBtb2RlKSAqLworCisvKioqKioqKioqKioqKioqKioqKiAgQml0IGRlZmluaXRpb24gZm9yIEkyQ19PQVIyIHJlZ2lzdGVyICAqKioqKioqKioqKioqKioqKioqLworI2RlZmluZSAgSTJDX09BUjJfRU5EVUFMICAgICAgICAgICAgICAgICAgICAgKCh1aW50OF90KTB4MDEpICAgICAgICAgICAgICAgLyohPER1YWwgYWRkcmVzc2luZyBtb2RlIGVuYWJsZSAqLworI2RlZmluZSAgSTJDX09BUjJfQUREMiAgICAgICAgICAgICAgICAgICAgICAgKCh1aW50OF90KTB4RkUpICAgICAgICAgICAgICAgLyohPEludGVyZmFjZSBhZGRyZXNzICovCisKKy8qKioqKioqKioqKioqKioqKioqKiAgQml0IGRlZmluaXRpb24gZm9yIEkyQ19EUiByZWdpc3RlciAgKioqKioqKioqKioqKioqKioqKiovCisjZGVmaW5lICBJMkNfRFJfRFIgICAgICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQ4X3QpMHhGRikgICAgICAgICAgICAgICAvKiE8OC1iaXQgRGF0YSBSZWdpc3RlciAqLworCisvKioqKioqKioqKioqKioqKioqKiAgQml0IGRlZmluaXRpb24gZm9yIEkyQ19TUjEgcmVnaXN0ZXIgICoqKioqKioqKioqKioqKioqKioqLworI2RlZmluZSAgSTJDX1NSMV9TQiAgICAgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MTZfdCkweDAwMDEpICAgICAgICAgICAgLyohPFN0YXJ0IEJpdCAoTWFzdGVyIG1vZGUpICovCisjZGVmaW5lICBJMkNfU1IxX0FERFIgICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQxNl90KTB4MDAwMikgICAgICAgICAgICAvKiE8QWRkcmVzcyBzZW50IChtYXN0ZXIgbW9kZSkvbWF0Y2hlZCAoc2xhdmUgbW9kZSkgKi8KKyNkZWZpbmUgIEkyQ19TUjFfQlRGICAgICAgICAgICAgICAgICAgICAgICAgICgodWludDE2X3QpMHgwMDA0KSAgICAgICAgICAgIC8qITxCeXRlIFRyYW5zZmVyIEZpbmlzaGVkICovCisjZGVmaW5lICBJMkNfU1IxX0FERDEwICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQxNl90KTB4MDAwOCkgICAgICAgICAgICAvKiE8MTAtYml0IGhlYWRlciBzZW50IChNYXN0ZXIgbW9kZSkgKi8KKyNkZWZpbmUgIEkyQ19TUjFfU1RPUEYgICAgICAgICAgICAgICAgICAgICAgICgodWludDE2X3QpMHgwMDEwKSAgICAgICAgICAgIC8qITxTdG9wIGRldGVjdGlvbiAoU2xhdmUgbW9kZSkgKi8KKyNkZWZpbmUgIEkyQ19TUjFfUlhORSAgICAgICAgICAgICAgICAgICAgICAgICgodWludDE2X3QpMHgwMDQwKSAgICAgICAgICAgIC8qITxEYXRhIFJlZ2lzdGVyIG5vdCBFbXB0eSAocmVjZWl2ZXJzKSAqLworI2RlZmluZSAgSTJDX1NSMV9UWEUgICAgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MTZfdCkweDAwODApICAgICAgICAgICAgLyohPERhdGEgUmVnaXN0ZXIgRW1wdHkgKHRyYW5zbWl0dGVycykgKi8KKyNkZWZpbmUgIEkyQ19TUjFfQkVSUiAgICAgICAgICAgICAgICAgICAgICAgICgodWludDE2X3QpMHgwMTAwKSAgICAgICAgICAgIC8qITxCdXMgRXJyb3IgKi8KKyNkZWZpbmUgIEkyQ19TUjFfQVJMTyAgICAgICAgICAgICAgICAgICAgICAgICgodWludDE2X3QpMHgwMjAwKSAgICAgICAgICAgIC8qITxBcmJpdHJhdGlvbiBMb3N0IChtYXN0ZXIgbW9kZSkgKi8KKyNkZWZpbmUgIEkyQ19TUjFfQUYgICAgICAgICAgICAgICAgICAgICAgICAgICgodWludDE2X3QpMHgwNDAwKSAgICAgICAgICAgIC8qITxBY2tub3dsZWRnZSBGYWlsdXJlICovCisjZGVmaW5lICBJMkNfU1IxX09WUiAgICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQxNl90KTB4MDgwMCkgICAgICAgICAgICAvKiE8T3ZlcnJ1bi9VbmRlcnJ1biAqLworI2RlZmluZSAgSTJDX1NSMV9QRUNFUlIgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MTZfdCkweDEwMDApICAgICAgICAgICAgLyohPFBFQyBFcnJvciBpbiByZWNlcHRpb24gKi8KKyNkZWZpbmUgIEkyQ19TUjFfVElNRU9VVCAgICAgICAgICAgICAgICAgICAgICgodWludDE2X3QpMHg0MDAwKSAgICAgICAgICAgIC8qITxUaW1lb3V0IG9yIFRsb3cgRXJyb3IgKi8KKyNkZWZpbmUgIEkyQ19TUjFfU01CQUxFUlQgICAgICAgICAgICAgICAgICAgICgodWludDE2X3QpMHg4MDAwKSAgICAgICAgICAgIC8qITxTTUJ1cyBBbGVydCAqLworCisvKioqKioqKioqKioqKioqKioqKiAgQml0IGRlZmluaXRpb24gZm9yIEkyQ19TUjIgcmVnaXN0ZXIgICoqKioqKioqKioqKioqKioqKioqLworI2RlZmluZSAgSTJDX1NSMl9NU0wgICAgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MTZfdCkweDAwMDEpICAgICAgICAgICAgLyohPE1hc3Rlci9TbGF2ZSAqLworI2RlZmluZSAgSTJDX1NSMl9CVVNZICAgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MTZfdCkweDAwMDIpICAgICAgICAgICAgLyohPEJ1cyBCdXN5ICovCisjZGVmaW5lICBJMkNfU1IyX1RSQSAgICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQxNl90KTB4MDAwNCkgICAgICAgICAgICAvKiE8VHJhbnNtaXR0ZXIvUmVjZWl2ZXIgKi8KKyNkZWZpbmUgIEkyQ19TUjJfR0VOQ0FMTCAgICAgICAgICAgICAgICAgICAgICgodWludDE2X3QpMHgwMDEwKSAgICAgICAgICAgIC8qITxHZW5lcmFsIENhbGwgQWRkcmVzcyAoU2xhdmUgbW9kZSkgKi8KKyNkZWZpbmUgIEkyQ19TUjJfU01CREVGQVVMVCAgICAgICAgICAgICAgICAgICgodWludDE2X3QpMHgwMDIwKSAgICAgICAgICAgIC8qITxTTUJ1cyBEZXZpY2UgRGVmYXVsdCBBZGRyZXNzIChTbGF2ZSBtb2RlKSAqLworI2RlZmluZSAgSTJDX1NSMl9TTUJIT1NUICAgICAgICAgICAgICAgICAgICAgKCh1aW50MTZfdCkweDAwNDApICAgICAgICAgICAgLyohPFNNQnVzIEhvc3QgSGVhZGVyIChTbGF2ZSBtb2RlKSAqLworI2RlZmluZSAgSTJDX1NSMl9EVUFMRiAgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MTZfdCkweDAwODApICAgICAgICAgICAgLyohPER1YWwgRmxhZyAoU2xhdmUgbW9kZSkgKi8KKyNkZWZpbmUgIEkyQ19TUjJfUEVDICAgICAgICAgICAgICAgICAgICAgICAgICgodWludDE2X3QpMHhGRjAwKSAgICAgICAgICAgIC8qITxQYWNrZXQgRXJyb3IgQ2hlY2tpbmcgUmVnaXN0ZXIgKi8KKworLyoqKioqKioqKioqKioqKioqKiogIEJpdCBkZWZpbml0aW9uIGZvciBJMkNfQ0NSIHJlZ2lzdGVyICAqKioqKioqKioqKioqKioqKioqKi8KKyNkZWZpbmUgIEkyQ19DQ1JfQ0NSICAgICAgICAgICAgICAgICAgICAgICAgICgodWludDE2X3QpMHgwRkZGKSAgICAgICAgICAgIC8qITxDbG9jayBDb250cm9sIFJlZ2lzdGVyIGluIEZhc3QvU3RhbmRhcmQgbW9kZSAoTWFzdGVyIG1vZGUpICovCisjZGVmaW5lICBJMkNfQ0NSX0RVVFkgICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQxNl90KTB4NDAwMCkgICAgICAgICAgICAvKiE8RmFzdCBNb2RlIER1dHkgQ3ljbGUgKi8KKyNkZWZpbmUgIEkyQ19DQ1JfRlMgICAgICAgICAgICAgICAgICAgICAgICAgICgodWludDE2X3QpMHg4MDAwKSAgICAgICAgICAgIC8qITxJMkMgTWFzdGVyIE1vZGUgU2VsZWN0aW9uICovCisKKy8qKioqKioqKioqKioqKioqKiogIEJpdCBkZWZpbml0aW9uIGZvciBJMkNfVFJJU0UgcmVnaXN0ZXIgICoqKioqKioqKioqKioqKioqKiovCisjZGVmaW5lICBJMkNfVFJJU0VfVFJJU0UgICAgICAgICAgICAgICAgICAgICAoKHVpbnQ4X3QpMHgzRikgICAgICAgICAgICAgICAvKiE8TWF4aW11bSBSaXNlIFRpbWUgaW4gRmFzdC9TdGFuZGFyZCBtb2RlIChNYXN0ZXIgbW9kZSkgKi8KKworLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KKy8qICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICovCisvKiAgICAgICAgICAgICAgICAgICAgICAgICAgIEluZGVwZW5kZW50IFdBVENIRE9HICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqLworLyogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKi8KKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCisvKioqKioqKioqKioqKioqKioqKiAgQml0IGRlZmluaXRpb24gZm9yIElXREdfS1IgcmVnaXN0ZXIgICoqKioqKioqKioqKioqKioqKioqLworI2RlZmluZSAgSVdER19LUl9LRVkgICAgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MTZfdCkweEZGRkYpICAgICAgICAgICAgLyohPEtleSB2YWx1ZSAod3JpdGUgb25seSwgcmVhZCAwMDAwaCkgKi8KKworLyoqKioqKioqKioqKioqKioqKiogIEJpdCBkZWZpbml0aW9uIGZvciBJV0RHX1BSIHJlZ2lzdGVyICAqKioqKioqKioqKioqKioqKioqKi8KKyNkZWZpbmUgIElXREdfUFJfUFIgICAgICAgICAgICAgICAgICAgICAgICAgICgodWludDhfdCkweDA3KSAgICAgICAgICAgICAgIC8qITxQUlsyOjBdIChQcmVzY2FsZXIgZGl2aWRlcikgKi8KKyNkZWZpbmUgIElXREdfUFJfUFJfMCAgICAgICAgICAgICAgICAgICAgICAgICgodWludDhfdCkweDAxKSAgICAgICAgICAgICAgIC8qITxCaXQgMCAqLworI2RlZmluZSAgSVdER19QUl9QUl8xICAgICAgICAgICAgICAgICAgICAgICAgKCh1aW50OF90KTB4MDIpICAgICAgICAgICAgICAgLyohPEJpdCAxICovCisjZGVmaW5lICBJV0RHX1BSX1BSXzIgICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQ4X3QpMHgwNCkgICAgICAgICAgICAgICAvKiE8Qml0IDIgKi8KKworLyoqKioqKioqKioqKioqKioqKiogIEJpdCBkZWZpbml0aW9uIGZvciBJV0RHX1JMUiByZWdpc3RlciAgKioqKioqKioqKioqKioqKioqKi8KKyNkZWZpbmUgIElXREdfUkxSX1JMICAgICAgICAgICAgICAgICAgICAgICAgICgodWludDE2X3QpMHgwRkZGKSAgICAgICAgICAgIC8qITxXYXRjaGRvZyBjb3VudGVyIHJlbG9hZCB2YWx1ZSAqLworCisvKioqKioqKioqKioqKioqKioqKiAgQml0IGRlZmluaXRpb24gZm9yIElXREdfU1IgcmVnaXN0ZXIgICoqKioqKioqKioqKioqKioqKioqLworI2RlZmluZSAgSVdER19TUl9QVlUgICAgICAgICAgICAgICAgICAgICAgICAgKCh1aW50OF90KTB4MDEpICAgICAgICAgICAgICAgLyohPFdhdGNoZG9nIHByZXNjYWxlciB2YWx1ZSB1cGRhdGUgKi8KKyNkZWZpbmUgIElXREdfU1JfUlZVICAgICAgICAgICAgICAgICAgICAgICAgICgodWludDhfdCkweDAyKSAgICAgICAgICAgICAgIC8qITxXYXRjaGRvZyBjb3VudGVyIHJlbG9hZCB2YWx1ZSB1cGRhdGUgKi8KKworLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KKy8qICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICovCisvKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUG93ZXIgQ29udHJvbCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqLworLyogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKi8KKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCisvKioqKioqKioqKioqKioqKioqKiogIEJpdCBkZWZpbml0aW9uIGZvciBQV1JfQ1IgcmVnaXN0ZXIgICoqKioqKioqKioqKioqKioqKioqLworI2RlZmluZSAgUFdSX0NSX0xQRFMgICAgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MTZfdCkweDAwMDEpICAgICAvKiE8IExvdy1Qb3dlciBEZWVwc2xlZXAgKi8KKyNkZWZpbmUgIFBXUl9DUl9QRERTICAgICAgICAgICAgICAgICAgICAgICAgICgodWludDE2X3QpMHgwMDAyKSAgICAgLyohPCBQb3dlciBEb3duIERlZXBzbGVlcCAqLworI2RlZmluZSAgUFdSX0NSX0NXVUYgICAgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MTZfdCkweDAwMDQpICAgICAvKiE8IENsZWFyIFdha2V1cCBGbGFnICovCisjZGVmaW5lICBQV1JfQ1JfQ1NCRiAgICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQxNl90KTB4MDAwOCkgICAgIC8qITwgQ2xlYXIgU3RhbmRieSBGbGFnICovCisjZGVmaW5lICBQV1JfQ1JfUFZERSAgICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQxNl90KTB4MDAxMCkgICAgIC8qITwgUG93ZXIgVm9sdGFnZSBEZXRlY3RvciBFbmFibGUgKi8KKworI2RlZmluZSAgUFdSX0NSX1BMUyAgICAgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MTZfdCkweDAwRTApICAgICAvKiE8IFBMU1syOjBdIGJpdHMgKFBWRCBMZXZlbCBTZWxlY3Rpb24pICovCisjZGVmaW5lICBQV1JfQ1JfUExTXzAgICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQxNl90KTB4MDAyMCkgICAgIC8qITwgQml0IDAgKi8KKyNkZWZpbmUgIFBXUl9DUl9QTFNfMSAgICAgICAgICAgICAgICAgICAgICAgICgodWludDE2X3QpMHgwMDQwKSAgICAgLyohPCBCaXQgMSAqLworI2RlZmluZSAgUFdSX0NSX1BMU18yICAgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MTZfdCkweDAwODApICAgICAvKiE8IEJpdCAyICovCisKKy8qITwgUFZEIGxldmVsIGNvbmZpZ3VyYXRpb24gKi8KKyNkZWZpbmUgIFBXUl9DUl9QTFNfTEVWMCAgICAgICAgICAgICAgICAgICAgICgodWludDE2X3QpMHgwMDAwKSAgICAgLyohPCBQVkQgbGV2ZWwgMCAqLworI2RlZmluZSAgUFdSX0NSX1BMU19MRVYxICAgICAgICAgICAgICAgICAgICAgKCh1aW50MTZfdCkweDAwMjApICAgICAvKiE8IFBWRCBsZXZlbCAxICovCisjZGVmaW5lICBQV1JfQ1JfUExTX0xFVjIgICAgICAgICAgICAgICAgICAgICAoKHVpbnQxNl90KTB4MDA0MCkgICAgIC8qITwgUFZEIGxldmVsIDIgKi8KKyNkZWZpbmUgIFBXUl9DUl9QTFNfTEVWMyAgICAgICAgICAgICAgICAgICAgICgodWludDE2X3QpMHgwMDYwKSAgICAgLyohPCBQVkQgbGV2ZWwgMyAqLworI2RlZmluZSAgUFdSX0NSX1BMU19MRVY0ICAgICAgICAgICAgICAgICAgICAgKCh1aW50MTZfdCkweDAwODApICAgICAvKiE8IFBWRCBsZXZlbCA0ICovCisjZGVmaW5lICBQV1JfQ1JfUExTX0xFVjUgICAgICAgICAgICAgICAgICAgICAoKHVpbnQxNl90KTB4MDBBMCkgICAgIC8qITwgUFZEIGxldmVsIDUgKi8KKyNkZWZpbmUgIFBXUl9DUl9QTFNfTEVWNiAgICAgICAgICAgICAgICAgICAgICgodWludDE2X3QpMHgwMEMwKSAgICAgLyohPCBQVkQgbGV2ZWwgNiAqLworI2RlZmluZSAgUFdSX0NSX1BMU19MRVY3ICAgICAgICAgICAgICAgICAgICAgKCh1aW50MTZfdCkweDAwRTApICAgICAvKiE8IFBWRCBsZXZlbCA3ICovCisKKyNkZWZpbmUgIFBXUl9DUl9EQlAgICAgICAgICAgICAgICAgICAgICAgICAgICgodWludDE2X3QpMHgwMTAwKSAgICAgLyohPCBEaXNhYmxlIEJhY2t1cCBEb21haW4gd3JpdGUgcHJvdGVjdGlvbiAqLworI2RlZmluZSAgUFdSX0NSX0ZQRFMgICAgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MTZfdCkweDAyMDApICAgICAvKiE8IEZsYXNoIHBvd2VyIGRvd24gaW4gU3RvcCBtb2RlICovCisKKworLyoqKioqKioqKioqKioqKioqKiogIEJpdCBkZWZpbml0aW9uIGZvciBQV1JfQ1NSIHJlZ2lzdGVyICAqKioqKioqKioqKioqKioqKioqKi8KKyNkZWZpbmUgIFBXUl9DU1JfV1VGICAgICAgICAgICAgICAgICAgICAgICAgICgodWludDE2X3QpMHgwMDAxKSAgICAgLyohPCBXYWtldXAgRmxhZyAqLworI2RlZmluZSAgUFdSX0NTUl9TQkYgICAgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MTZfdCkweDAwMDIpICAgICAvKiE8IFN0YW5kYnkgRmxhZyAqLworI2RlZmluZSAgUFdSX0NTUl9QVkRPICAgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MTZfdCkweDAwMDQpICAgICAvKiE8IFBWRCBPdXRwdXQgKi8KKyNkZWZpbmUgIFBXUl9DU1JfQlJSICAgICAgICAgICAgICAgICAgICAgICAgICgodWludDE2X3QpMHgwMDA4KSAgICAgLyohPCBCYWNrdXAgcmVndWxhdG9yIHJlYWR5ICovCisjZGVmaW5lICBQV1JfQ1NSX0VXVVAgICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQxNl90KTB4MDEwMCkgICAgIC8qITwgRW5hYmxlIFdLVVAgcGluICovCisjZGVmaW5lICBQV1JfQ1NSX0JSRSAgICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQxNl90KTB4MDIwMCkgICAgIC8qITwgQmFja3VwIHJlZ3VsYXRvciBlbmFibGUgKi8KKworLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KKy8qICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICovCisvKiAgICAgICAgICAgICAgICAgICAgICAgICBSZXNldCBhbmQgQ2xvY2sgQ29udHJvbCAgICAgICAgICAgICAgICAgICAgICAgICAgICAqLworLyogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKi8KKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCisvKioqKioqKioqKioqKioqKioqKiogIEJpdCBkZWZpbml0aW9uIGZvciBSQ0NfQ1IgcmVnaXN0ZXIgICoqKioqKioqKioqKioqKioqKioqLworI2RlZmluZSAgUkNDX0NSX0hTSU9OICAgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwMDAxKQorI2RlZmluZSAgUkNDX0NSX0hTSVJEWSAgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwMDAyKQorCisjZGVmaW5lICBSQ0NfQ1JfSFNJVFJJTSAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDAwRjgpCisjZGVmaW5lICBSQ0NfQ1JfSFNJVFJJTV8wICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDAwMDgpLyohPEJpdCAwICovCisjZGVmaW5lICBSQ0NfQ1JfSFNJVFJJTV8xICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDAwMTApLyohPEJpdCAxICovCisjZGVmaW5lICBSQ0NfQ1JfSFNJVFJJTV8yICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDAwMjApLyohPEJpdCAyICovCisjZGVmaW5lICBSQ0NfQ1JfSFNJVFJJTV8zICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDAwNDApLyohPEJpdCAzICovCisjZGVmaW5lICBSQ0NfQ1JfSFNJVFJJTV80ICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDAwODApLyohPEJpdCA0ICovCisKKyNkZWZpbmUgIFJDQ19DUl9IU0lDQUwgICAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwRkYwMCkKKyNkZWZpbmUgIFJDQ19DUl9IU0lDQUxfMCAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMDEwMCkvKiE8Qml0IDAgKi8KKyNkZWZpbmUgIFJDQ19DUl9IU0lDQUxfMSAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMDIwMCkvKiE8Qml0IDEgKi8KKyNkZWZpbmUgIFJDQ19DUl9IU0lDQUxfMiAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMDQwMCkvKiE8Qml0IDIgKi8KKyNkZWZpbmUgIFJDQ19DUl9IU0lDQUxfMyAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMDgwMCkvKiE8Qml0IDMgKi8KKyNkZWZpbmUgIFJDQ19DUl9IU0lDQUxfNCAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMTAwMCkvKiE8Qml0IDQgKi8KKyNkZWZpbmUgIFJDQ19DUl9IU0lDQUxfNSAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMjAwMCkvKiE8Qml0IDUgKi8KKyNkZWZpbmUgIFJDQ19DUl9IU0lDQUxfNiAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwNDAwMCkvKiE8Qml0IDYgKi8KKyNkZWZpbmUgIFJDQ19DUl9IU0lDQUxfNyAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwODAwMCkvKiE8Qml0IDcgKi8KKworI2RlZmluZSAgUkNDX0NSX0hTRU9OICAgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDEwMDAwKQorI2RlZmluZSAgUkNDX0NSX0hTRVJEWSAgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDIwMDAwKQorI2RlZmluZSAgUkNDX0NSX0hTRUJZUCAgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDQwMDAwKQorI2RlZmluZSAgUkNDX0NSX0NTU09OICAgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDgwMDAwKQorI2RlZmluZSAgUkNDX0NSX1BMTE9OICAgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAxMDAwMDAwKQorI2RlZmluZSAgUkNDX0NSX1BMTFJEWSAgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAyMDAwMDAwKQorI2RlZmluZSAgUkNDX0NSX1BMTEkyU09OICAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDA0MDAwMDAwKQorI2RlZmluZSAgUkNDX0NSX1BMTEkyU1JEWSAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDA4MDAwMDAwKQorCisvKioqKioqKioqKioqKioqKioqKiogIEJpdCBkZWZpbml0aW9uIGZvciBSQ0NfUExMQ0ZHUiByZWdpc3RlciAgKioqKioqKioqKioqKioqLworI2RlZmluZSAgUkNDX1BMTENGR1JfUExMTSAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwMDNGKQorI2RlZmluZSAgUkNDX1BMTENGR1JfUExMTV8wICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwMDAxKQorI2RlZmluZSAgUkNDX1BMTENGR1JfUExMTV8xICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwMDAyKQorI2RlZmluZSAgUkNDX1BMTENGR1JfUExMTV8yICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwMDA0KQorI2RlZmluZSAgUkNDX1BMTENGR1JfUExMTV8zICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwMDA4KQorI2RlZmluZSAgUkNDX1BMTENGR1JfUExMTV80ICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwMDEwKQorI2RlZmluZSAgUkNDX1BMTENGR1JfUExMTV81ICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwMDIwKQorCisjZGVmaW5lICBSQ0NfUExMQ0ZHUl9QTExOICAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDA3RkMwKQorI2RlZmluZSAgUkNDX1BMTENGR1JfUExMTl8wICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMDA0MCkKKyNkZWZpbmUgIFJDQ19QTExDRkdSX1BMTE5fMSAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDAwODApCisjZGVmaW5lICBSQ0NfUExMQ0ZHUl9QTExOXzIgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwMTAwKQorI2RlZmluZSAgUkNDX1BMTENGR1JfUExMTl8zICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMDIwMCkKKyNkZWZpbmUgIFJDQ19QTExDRkdSX1BMTE5fNCAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDA0MDApCisjZGVmaW5lICBSQ0NfUExMQ0ZHUl9QTExOXzUgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwODAwKQorI2RlZmluZSAgUkNDX1BMTENGR1JfUExMTl82ICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMTAwMCkKKyNkZWZpbmUgIFJDQ19QTExDRkdSX1BMTE5fNyAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDIwMDApCisjZGVmaW5lICBSQ0NfUExMQ0ZHUl9QTExOXzggICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDA0MDAwKQorCisjZGVmaW5lICBSQ0NfUExMQ0ZHUl9QTExQICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMzAwMDApCisjZGVmaW5lICBSQ0NfUExMQ0ZHUl9QTExQXzAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMTAwMDApCisjZGVmaW5lICBSQ0NfUExMQ0ZHUl9QTExQXzEgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMjAwMDApCisKKyNkZWZpbmUgIFJDQ19QTExDRkdSX1BMTFNSQyAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDQwMDAwMCkKKyNkZWZpbmUgIFJDQ19QTExDRkdSX1BMTFNSQ19IU0UgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDQwMDAwMCkKKyNkZWZpbmUgIFJDQ19QTExDRkdSX1BMTFNSQ19IU0kgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMDAwMCkKKworI2RlZmluZSAgUkNDX1BMTENGR1JfUExMUSAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDBGMDAwMDAwKQorI2RlZmluZSAgUkNDX1BMTENGR1JfUExMUV8wICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAxMDAwMDAwKQorI2RlZmluZSAgUkNDX1BMTENGR1JfUExMUV8xICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAyMDAwMDAwKQorI2RlZmluZSAgUkNDX1BMTENGR1JfUExMUV8yICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDA0MDAwMDAwKQorI2RlZmluZSAgUkNDX1BMTENGR1JfUExMUV8zICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDA4MDAwMDAwKQorCisvKioqKioqKioqKioqKioqKioqKiogIEJpdCBkZWZpbml0aW9uIGZvciBSQ0NfQ0ZHUiByZWdpc3RlciAgKioqKioqKioqKioqKioqKioqLworLyohPCBTVyBjb25maWd1cmF0aW9uICovCisjZGVmaW5lICBSQ0NfQ0ZHUl9TVyAgICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDAwMDMpICAgICAgICAvKiE8IFNXWzE6MF0gYml0cyAoU3lzdGVtIGNsb2NrIFN3aXRjaCkgKi8KKyNkZWZpbmUgIFJDQ19DRkdSX1NXXzAgICAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMDAwMSkgICAgICAgIC8qITwgQml0IDAgKi8KKyNkZWZpbmUgIFJDQ19DRkdSX1NXXzEgICAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMDAwMikgICAgICAgIC8qITwgQml0IDEgKi8KKworI2RlZmluZSAgUkNDX0NGR1JfU1dfSFNJICAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwMDAwKSAgICAgICAgLyohPCBIU0kgc2VsZWN0ZWQgYXMgc3lzdGVtIGNsb2NrICovCisjZGVmaW5lICBSQ0NfQ0ZHUl9TV19IU0UgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDAwMDEpICAgICAgICAvKiE8IEhTRSBzZWxlY3RlZCBhcyBzeXN0ZW0gY2xvY2sgKi8KKyNkZWZpbmUgIFJDQ19DRkdSX1NXX1BMTCAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMDAwMikgICAgICAgIC8qITwgUExMIHNlbGVjdGVkIGFzIHN5c3RlbSBjbG9jayAqLworCisvKiE8IFNXUyBjb25maWd1cmF0aW9uICovCisjZGVmaW5lICBSQ0NfQ0ZHUl9TV1MgICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDAwMEMpICAgICAgICAvKiE8IFNXU1sxOjBdIGJpdHMgKFN5c3RlbSBDbG9jayBTd2l0Y2ggU3RhdHVzKSAqLworI2RlZmluZSAgUkNDX0NGR1JfU1dTXzAgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwMDA0KSAgICAgICAgLyohPCBCaXQgMCAqLworI2RlZmluZSAgUkNDX0NGR1JfU1dTXzEgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwMDA4KSAgICAgICAgLyohPCBCaXQgMSAqLworCisjZGVmaW5lICBSQ0NfQ0ZHUl9TV1NfSFNJICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDAwMDApICAgICAgICAvKiE8IEhTSSBvc2NpbGxhdG9yIHVzZWQgYXMgc3lzdGVtIGNsb2NrICovCisjZGVmaW5lICBSQ0NfQ0ZHUl9TV1NfSFNFICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDAwMDQpICAgICAgICAvKiE8IEhTRSBvc2NpbGxhdG9yIHVzZWQgYXMgc3lzdGVtIGNsb2NrICovCisjZGVmaW5lICBSQ0NfQ0ZHUl9TV1NfUExMICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDAwMDgpICAgICAgICAvKiE8IFBMTCB1c2VkIGFzIHN5c3RlbSBjbG9jayAqLworCisvKiE8IEhQUkUgY29uZmlndXJhdGlvbiAqLworI2RlZmluZSAgUkNDX0NGR1JfSFBSRSAgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwMEYwKSAgICAgICAgLyohPCBIUFJFWzM6MF0gYml0cyAoQUhCIHByZXNjYWxlcikgKi8KKyNkZWZpbmUgIFJDQ19DRkdSX0hQUkVfMCAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMDAxMCkgICAgICAgIC8qITwgQml0IDAgKi8KKyNkZWZpbmUgIFJDQ19DRkdSX0hQUkVfMSAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMDAyMCkgICAgICAgIC8qITwgQml0IDEgKi8KKyNkZWZpbmUgIFJDQ19DRkdSX0hQUkVfMiAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMDA0MCkgICAgICAgIC8qITwgQml0IDIgKi8KKyNkZWZpbmUgIFJDQ19DRkdSX0hQUkVfMyAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMDA4MCkgICAgICAgIC8qITwgQml0IDMgKi8KKworI2RlZmluZSAgUkNDX0NGR1JfSFBSRV9ESVYxICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwMDAwKSAgICAgICAgLyohPCBTWVNDTEsgbm90IGRpdmlkZWQgKi8KKyNkZWZpbmUgIFJDQ19DRkdSX0hQUkVfRElWMiAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMDA4MCkgICAgICAgIC8qITwgU1lTQ0xLIGRpdmlkZWQgYnkgMiAqLworI2RlZmluZSAgUkNDX0NGR1JfSFBSRV9ESVY0ICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwMDkwKSAgICAgICAgLyohPCBTWVNDTEsgZGl2aWRlZCBieSA0ICovCisjZGVmaW5lICBSQ0NfQ0ZHUl9IUFJFX0RJVjggICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDAwQTApICAgICAgICAvKiE8IFNZU0NMSyBkaXZpZGVkIGJ5IDggKi8KKyNkZWZpbmUgIFJDQ19DRkdSX0hQUkVfRElWMTYgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMDBCMCkgICAgICAgIC8qITwgU1lTQ0xLIGRpdmlkZWQgYnkgMTYgKi8KKyNkZWZpbmUgIFJDQ19DRkdSX0hQUkVfRElWNjQgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMDBDMCkgICAgICAgIC8qITwgU1lTQ0xLIGRpdmlkZWQgYnkgNjQgKi8KKyNkZWZpbmUgIFJDQ19DRkdSX0hQUkVfRElWMTI4ICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMDBEMCkgICAgICAgIC8qITwgU1lTQ0xLIGRpdmlkZWQgYnkgMTI4ICovCisjZGVmaW5lICBSQ0NfQ0ZHUl9IUFJFX0RJVjI1NiAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDAwRTApICAgICAgICAvKiE8IFNZU0NMSyBkaXZpZGVkIGJ5IDI1NiAqLworI2RlZmluZSAgUkNDX0NGR1JfSFBSRV9ESVY1MTIgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwMEYwKSAgICAgICAgLyohPCBTWVNDTEsgZGl2aWRlZCBieSA1MTIgKi8KKworLyohPCBQUFJFMSBjb25maWd1cmF0aW9uICovCisjZGVmaW5lICBSQ0NfQ0ZHUl9QUFJFMSAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDFDMDApICAgICAgICAvKiE8IFBSRTFbMjowXSBiaXRzIChBUEIxIHByZXNjYWxlcikgKi8KKyNkZWZpbmUgIFJDQ19DRkdSX1BQUkUxXzAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMDQwMCkgICAgICAgIC8qITwgQml0IDAgKi8KKyNkZWZpbmUgIFJDQ19DRkdSX1BQUkUxXzEgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMDgwMCkgICAgICAgIC8qITwgQml0IDEgKi8KKyNkZWZpbmUgIFJDQ19DRkdSX1BQUkUxXzIgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMTAwMCkgICAgICAgIC8qITwgQml0IDIgKi8KKworI2RlZmluZSAgUkNDX0NGR1JfUFBSRTFfRElWMSAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwMDAwKSAgICAgICAgLyohPCBIQ0xLIG5vdCBkaXZpZGVkICovCisjZGVmaW5lICBSQ0NfQ0ZHUl9QUFJFMV9ESVYyICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDEwMDApICAgICAgICAvKiE8IEhDTEsgZGl2aWRlZCBieSAyICovCisjZGVmaW5lICBSQ0NfQ0ZHUl9QUFJFMV9ESVY0ICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDE0MDApICAgICAgICAvKiE8IEhDTEsgZGl2aWRlZCBieSA0ICovCisjZGVmaW5lICBSQ0NfQ0ZHUl9QUFJFMV9ESVY4ICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDE4MDApICAgICAgICAvKiE8IEhDTEsgZGl2aWRlZCBieSA4ICovCisjZGVmaW5lICBSQ0NfQ0ZHUl9QUFJFMV9ESVYxNiAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDFDMDApICAgICAgICAvKiE8IEhDTEsgZGl2aWRlZCBieSAxNiAqLworCisvKiE8IFBQUkUyIGNvbmZpZ3VyYXRpb24gKi8KKyNkZWZpbmUgIFJDQ19DRkdSX1BQUkUyICAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwRTAwMCkgICAgICAgIC8qITwgUFJFMlsyOjBdIGJpdHMgKEFQQjIgcHJlc2NhbGVyKSAqLworI2RlZmluZSAgUkNDX0NGR1JfUFBSRTJfMCAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAyMDAwKSAgICAgICAgLyohPCBCaXQgMCAqLworI2RlZmluZSAgUkNDX0NGR1JfUFBSRTJfMSAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDA0MDAwKSAgICAgICAgLyohPCBCaXQgMSAqLworI2RlZmluZSAgUkNDX0NGR1JfUFBSRTJfMiAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDA4MDAwKSAgICAgICAgLyohPCBCaXQgMiAqLworCisjZGVmaW5lICBSQ0NfQ0ZHUl9QUFJFMl9ESVYxICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDAwMDApICAgICAgICAvKiE8IEhDTEsgbm90IGRpdmlkZWQgKi8KKyNkZWZpbmUgIFJDQ19DRkdSX1BQUkUyX0RJVjIgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwODAwMCkgICAgICAgIC8qITwgSENMSyBkaXZpZGVkIGJ5IDIgKi8KKyNkZWZpbmUgIFJDQ19DRkdSX1BQUkUyX0RJVjQgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwQTAwMCkgICAgICAgIC8qITwgSENMSyBkaXZpZGVkIGJ5IDQgKi8KKyNkZWZpbmUgIFJDQ19DRkdSX1BQUkUyX0RJVjggICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwQzAwMCkgICAgICAgIC8qITwgSENMSyBkaXZpZGVkIGJ5IDggKi8KKyNkZWZpbmUgIFJDQ19DRkdSX1BQUkUyX0RJVjE2ICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwRTAwKSAgICAgICAgIC8qITwgSENMSyBkaXZpZGVkIGJ5IDE2ICovCisKKy8qITwgUlRDUFJFIGNvbmZpZ3VyYXRpb24gKi8KKyNkZWZpbmUgIFJDQ19DRkdSX1JUQ1BSRSAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDFGMDAwMCkKKyNkZWZpbmUgIFJDQ19DRkdSX1JUQ1BSRV8wICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAxMDAwMCkKKyNkZWZpbmUgIFJDQ19DRkdSX1JUQ1BSRV8xICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAyMDAwMCkKKyNkZWZpbmUgIFJDQ19DRkdSX1JUQ1BSRV8yICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDA0MDAwMCkKKyNkZWZpbmUgIFJDQ19DRkdSX1JUQ1BSRV8zICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDA4MDAwMCkKKyNkZWZpbmUgIFJDQ19DRkdSX1JUQ1BSRV80ICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDEwMDAwMCkKKworLyohPCBNQ08xIGNvbmZpZ3VyYXRpb24gKi8KKyNkZWZpbmUgIFJDQ19DRkdSX01DTzEgICAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDYwMDAwMCkKKyNkZWZpbmUgIFJDQ19DRkdSX01DTzFfMCAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDIwMDAwMCkKKyNkZWZpbmUgIFJDQ19DRkdSX01DTzFfMSAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDQwMDAwMCkKKworI2RlZmluZSAgUkNDX0NGR1JfSTJTU1JDICAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwODAwMDAwKQorCisjZGVmaW5lICBSQ0NfQ0ZHUl9NQ08xUFJFICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDcwMDAwMDApCisjZGVmaW5lICBSQ0NfQ0ZHUl9NQ08xUFJFXzAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDEwMDAwMDApCisjZGVmaW5lICBSQ0NfQ0ZHUl9NQ08xUFJFXzEgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDIwMDAwMDApCisjZGVmaW5lICBSQ0NfQ0ZHUl9NQ08xUFJFXzIgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDQwMDAwMDApCisKKyNkZWZpbmUgIFJDQ19DRkdSX01DTzJQUkUgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgzODAwMDAwMCkKKyNkZWZpbmUgIFJDQ19DRkdSX01DTzJQUkVfMCAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwODAwMDAwMCkKKyNkZWZpbmUgIFJDQ19DRkdSX01DTzJQUkVfMSAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgxMDAwMDAwMCkKKyNkZWZpbmUgIFJDQ19DRkdSX01DTzJQUkVfMiAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgyMDAwMDAwMCkKKworI2RlZmluZSAgUkNDX0NGR1JfTUNPMiAgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweEMwMDAwMDAwKQorI2RlZmluZSAgUkNDX0NGR1JfTUNPMl8wICAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDQwMDAwMDAwKQorI2RlZmluZSAgUkNDX0NGR1JfTUNPMl8xICAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDgwMDAwMDAwKQorCisvKioqKioqKioqKioqKioqKioqKiogIEJpdCBkZWZpbml0aW9uIGZvciBSQ0NfQ0lSIHJlZ2lzdGVyICAqKioqKioqKioqKioqKioqKioqLworI2RlZmluZSAgUkNDX0NJUl9MU0lSRFlGICAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwMDAxKQorI2RlZmluZSAgUkNDX0NJUl9MU0VSRFlGICAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwMDAyKQorI2RlZmluZSAgUkNDX0NJUl9IU0lSRFlGICAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwMDA0KQorI2RlZmluZSAgUkNDX0NJUl9IU0VSRFlGICAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwMDA4KQorI2RlZmluZSAgUkNDX0NJUl9QTExSRFlGICAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwMDEwKQorI2RlZmluZSAgUkNDX0NJUl9QTExJMlNSRFlGICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwMDIwKQorI2RlZmluZSAgUkNDX0NJUl9DU1NGICAgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwMDgwKQorI2RlZmluZSAgUkNDX0NJUl9MU0lSRFlJRSAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwMTAwKQorI2RlZmluZSAgUkNDX0NJUl9MU0VSRFlJRSAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwMjAwKQorI2RlZmluZSAgUkNDX0NJUl9IU0lSRFlJRSAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwNDAwKQorI2RlZmluZSAgUkNDX0NJUl9IU0VSRFlJRSAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwODAwKQorI2RlZmluZSAgUkNDX0NJUl9QTExSRFlJRSAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAxMDAwKQorI2RlZmluZSAgUkNDX0NJUl9QTExJMlNSRFlJRSAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAyMDAwKQorI2RlZmluZSAgUkNDX0NJUl9MU0lSRFlDICAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDEwMDAwKQorI2RlZmluZSAgUkNDX0NJUl9MU0VSRFlDICAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDIwMDAwKQorI2RlZmluZSAgUkNDX0NJUl9IU0lSRFlDICAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDQwMDAwKQorI2RlZmluZSAgUkNDX0NJUl9IU0VSRFlDICAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDgwMDAwKQorI2RlZmluZSAgUkNDX0NJUl9QTExSRFlDICAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMTAwMDAwKQorI2RlZmluZSAgUkNDX0NJUl9QTExJMlNSRFlDICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMjAwMDAwKQorI2RlZmluZSAgUkNDX0NJUl9DU1NDICAgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwODAwMDAwKQorCisvKioqKioqKioqKioqKioqKioqKiogIEJpdCBkZWZpbml0aW9uIGZvciBSQ0NfQUhCMVJTVFIgcmVnaXN0ZXIgICoqKioqKioqKioqKioqLworI2RlZmluZSAgUkNDX0FIQjFSU1RSX0dQSU9BUlNUICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwMDAxKQorI2RlZmluZSAgUkNDX0FIQjFSU1RSX0dQSU9CUlNUICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwMDAyKQorI2RlZmluZSAgUkNDX0FIQjFSU1RSX0dQSU9DUlNUICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwMDA0KQorI2RlZmluZSAgUkNDX0FIQjFSU1RSX0dQSU9EUlNUICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwMDA4KQorI2RlZmluZSAgUkNDX0FIQjFSU1RSX0dQSU9FUlNUICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwMDEwKQorI2RlZmluZSAgUkNDX0FIQjFSU1RSX0dQSU9GUlNUICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwMDIwKQorI2RlZmluZSAgUkNDX0FIQjFSU1RSX0dQSU9HUlNUICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwMDQwKQorI2RlZmluZSAgUkNDX0FIQjFSU1RSX0dQSU9IUlNUICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwMDgwKQorI2RlZmluZSAgUkNDX0FIQjFSU1RSX0dQSU9JUlNUICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwMTAwKQorI2RlZmluZSAgUkNDX0FIQjFSU1RSX0NSQ1JTVCAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAxMDAwKQorI2RlZmluZSAgUkNDX0FIQjFSU1RSX0RNQTFSU1QgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMjAwMDAwKQorI2RlZmluZSAgUkNDX0FIQjFSU1RSX0RNQTJSU1QgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwNDAwMDAwKQorI2RlZmluZSAgUkNDX0FIQjFSU1RSX0VUSE1BQ1JTVCAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAyMDAwMDAwKQorI2RlZmluZSAgUkNDX0FIQjFSU1RSX09UR0hSU1QgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDEwMDAwMDAwKQorCisvKioqKioqKioqKioqKioqKioqKiogIEJpdCBkZWZpbml0aW9uIGZvciBSQ0NfQUhCMlJTVFIgcmVnaXN0ZXIgICoqKioqKioqKioqKioqLworI2RlZmluZSAgUkNDX0FIQjJSU1RSX0RDTUlSU1QgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwMDAxKQorI2RlZmluZSAgUkNDX0FIQjJSU1RSX0NSWVBSU1QgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwMDEwKQorI2RlZmluZSAgUkNDX0FIQjJSU1RSX0hTQUhSU1QgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwMDIwKQorI2RlZmluZSAgUkNDX0FIQjJSU1RSX1JOR1JTVCAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwMDQwKQorI2RlZmluZSAgUkNDX0FIQjJSU1RSX09UR0ZTUlNUICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwMDgwKQorCisvKioqKioqKioqKioqKioqKioqKiogIEJpdCBkZWZpbml0aW9uIGZvciBSQ0NfQUhCM1JTVFIgcmVnaXN0ZXIgICoqKioqKioqKioqKioqLworI2RlZmluZSAgUkNDX0FIQjNSU1RSX0ZTTUNSU1QgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwMDAxKQorCisvKioqKioqKioqKioqKioqKioqKiogIEJpdCBkZWZpbml0aW9uIGZvciBSQ0NfQVBCMVJTVFIgcmVnaXN0ZXIgICoqKioqKioqKioqKioqLworI2RlZmluZSAgUkNDX0FQQjFSU1RSX1RJTTJSU1QgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwMDAxKQorI2RlZmluZSAgUkNDX0FQQjFSU1RSX1RJTTNSU1QgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwMDAyKQorI2RlZmluZSAgUkNDX0FQQjFSU1RSX1RJTTRSU1QgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwMDA0KQorI2RlZmluZSAgUkNDX0FQQjFSU1RSX1RJTTVSU1QgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwMDA4KQorI2RlZmluZSAgUkNDX0FQQjFSU1RSX1RJTTZSU1QgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwMDEwKQorI2RlZmluZSAgUkNDX0FQQjFSU1RSX1RJTTdSU1QgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwMDIwKQorI2RlZmluZSAgUkNDX0FQQjFSU1RSX1RJTTEyUlNUICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwMDQwKQorI2RlZmluZSAgUkNDX0FQQjFSU1RSX1RJTTEzUlNUICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwMDgwKQorI2RlZmluZSAgUkNDX0FQQjFSU1RSX1RJTTE0UlNUICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwMTAwKQorI2RlZmluZSAgUkNDX0FQQjFSU1RSX1dXREdFTiAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwODAwKQorI2RlZmluZSAgUkNDX0FQQjFSU1RSX1NQSTJSU1QgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDA4MDAwKQorI2RlZmluZSAgUkNDX0FQQjFSU1RSX1NQSTNSU1QgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDEwMDAwKQorI2RlZmluZSAgUkNDX0FQQjFSU1RSX1VTQVJUMlJTVCAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDIwMDAwKQorI2RlZmluZSAgUkNDX0FQQjFSU1RSX1VTQVJUM1JTVCAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDQwMDAwKQorI2RlZmluZSAgUkNDX0FQQjFSU1RSX1VBUlQ0UlNUICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDgwMDAwKQorI2RlZmluZSAgUkNDX0FQQjFSU1RSX1VBUlQ1UlNUICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMTAwMDAwKQorI2RlZmluZSAgUkNDX0FQQjFSU1RSX0kyQzFSU1QgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMjAwMDAwKQorI2RlZmluZSAgUkNDX0FQQjFSU1RSX0kyQzJSU1QgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwNDAwMDAwKQorI2RlZmluZSAgUkNDX0FQQjFSU1RSX0kyQzNSU1QgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwODAwMDAwKQorI2RlZmluZSAgUkNDX0FQQjFSU1RSX0NBTjFSU1QgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAyMDAwMDAwKQorI2RlZmluZSAgUkNDX0FQQjFSU1RSX0NBTjJSU1QgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDA0MDAwMDAwKQorI2RlZmluZSAgUkNDX0FQQjFSU1RSX1BXUlJTVCAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDEwMDAwMDAwKQorI2RlZmluZSAgUkNDX0FQQjFSU1RSX0RBQ1JTVCAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDIwMDAwMDAwKQorCisvKioqKioqKioqKioqKioqKioqKiogIEJpdCBkZWZpbml0aW9uIGZvciBSQ0NfQVBCMlJTVFIgcmVnaXN0ZXIgICoqKioqKioqKioqKioqLworI2RlZmluZSAgUkNDX0FQQjJSU1RSX1RJTTFSU1QgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwMDAxKQorI2RlZmluZSAgUkNDX0FQQjJSU1RSX1RJTThSU1QgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwMDAyKQorI2RlZmluZSAgUkNDX0FQQjJSU1RSX1VTQVJUMVJTVCAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwMDEwKQorI2RlZmluZSAgUkNDX0FQQjJSU1RSX1VTQVJUNlJTVCAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwMDIwKQorI2RlZmluZSAgUkNDX0FQQjJSU1RSX0FEQ1JTVCAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwMTAwKQorI2RlZmluZSAgUkNDX0FQQjJSU1RSX1NESU9SU1QgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwODAwKQorI2RlZmluZSAgUkNDX0FQQjJSU1RSX1NQSTFSU1QgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAxMDAwKQorI2RlZmluZSAgUkNDX0FQQjJSU1RSX1NZU0NGR1JTVCAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDA0MDAwKQorI2RlZmluZSAgUkNDX0FQQjJSU1RSX1RJTTlSU1QgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDEwMDAwKQorI2RlZmluZSAgUkNDX0FQQjJSU1RSX1RJTTEwUlNUICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDIwMDAwKQorI2RlZmluZSAgUkNDX0FQQjJSU1RSX1RJTTExUlNUICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDQwMDAwKQorCisvKioqKioqKioqKioqKioqKioqKiogIEJpdCBkZWZpbml0aW9uIGZvciBSQ0NfQUhCMUVOUiByZWdpc3RlciAgKioqKioqKioqKioqKioqLworI2RlZmluZSAgUkNDX0FIQjFFTlJfR1BJT0FFTiAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwMDAxKQorI2RlZmluZSAgUkNDX0FIQjFFTlJfR1BJT0JFTiAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwMDAyKQorI2RlZmluZSAgUkNDX0FIQjFFTlJfR1BJT0NFTiAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwMDA0KQorI2RlZmluZSAgUkNDX0FIQjFFTlJfR1BJT0RFTiAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwMDA4KQorI2RlZmluZSAgUkNDX0FIQjFFTlJfR1BJT0VFTiAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwMDEwKQorI2RlZmluZSAgUkNDX0FIQjFFTlJfR1BJT0ZFTiAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwMDIwKQorI2RlZmluZSAgUkNDX0FIQjFFTlJfR1BJT0dFTiAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwMDQwKQorI2RlZmluZSAgUkNDX0FIQjFFTlJfR1BJT0hFTiAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwMDgwKQorI2RlZmluZSAgUkNDX0FIQjFFTlJfR1BJT0lFTiAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwMTAwKQorI2RlZmluZSAgUkNDX0FIQjFFTlJfQ1JDRU4gICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAxMDAwKQorI2RlZmluZSAgUkNDX0FIQjFFTlJfQktQU1JBTUVOICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDQwMDAwKQorI2RlZmluZSAgUkNDX0FIQjFFTlJfRE1BMUVOICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMjAwMDAwKQorI2RlZmluZSAgUkNDX0FIQjFFTlJfRE1BMkVOICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwNDAwMDAwKQorI2RlZmluZSAgUkNDX0FIQjFFTlJfRVRITUFDRU4gICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAyMDAwMDAwKQorI2RlZmluZSAgUkNDX0FIQjFFTlJfRVRITUFDVFhFTiAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDA0MDAwMDAwKQorI2RlZmluZSAgUkNDX0FIQjFFTlJfRVRITUFDUlhFTiAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDA4MDAwMDAwKQorI2RlZmluZSAgUkNDX0FIQjFFTlJfRVRITUFDUFRQRU4gICAgICAgICAgICAgKCh1aW50MzJfdCkweDEwMDAwMDAwKQorI2RlZmluZSAgUkNDX0FIQjFFTlJfT1RHSFNFTiAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDIwMDAwMDAwKQorI2RlZmluZSAgUkNDX0FIQjFFTlJfT1RHSFNVTFBJRU4gICAgICAgICAgICAgKCh1aW50MzJfdCkweDQwMDAwMDAwKQorCisvKioqKioqKioqKioqKioqKioqKiogIEJpdCBkZWZpbml0aW9uIGZvciBSQ0NfQUhCMkVOUiByZWdpc3RlciAgKioqKioqKioqKioqKioqLworI2RlZmluZSAgUkNDX0FIQjJFTlJfRENNSUVOICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwMDAxKQorI2RlZmluZSAgUkNDX0FIQjJFTlJfQ1JZUEVOICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwMDEwKQorI2RlZmluZSAgUkNDX0FIQjJFTlJfSEFTSEVOICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwMDIwKQorI2RlZmluZSAgUkNDX0FIQjJFTlJfUk5HRU4gICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwMDQwKQorI2RlZmluZSAgUkNDX0FIQjJFTlJfT1RHRlNFTiAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwMDgwKQorCisvKioqKioqKioqKioqKioqKioqKiogIEJpdCBkZWZpbml0aW9uIGZvciBSQ0NfQUhCM0VOUiByZWdpc3RlciAgKioqKioqKioqKioqKioqLworI2RlZmluZSAgUkNDX0FIQjNFTlJfRlNNQ0VOICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwMDAxKQorCisvKioqKioqKioqKioqKioqKioqKiogIEJpdCBkZWZpbml0aW9uIGZvciBSQ0NfQVBCMUVOUiByZWdpc3RlciAgKioqKioqKioqKioqKioqLworI2RlZmluZSAgUkNDX0FQQjFFTlJfVElNMkVOICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwMDAxKQorI2RlZmluZSAgUkNDX0FQQjFFTlJfVElNM0VOICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwMDAyKQorI2RlZmluZSAgUkNDX0FQQjFFTlJfVElNNEVOICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwMDA0KQorI2RlZmluZSAgUkNDX0FQQjFFTlJfVElNNUVOICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwMDA4KQorI2RlZmluZSAgUkNDX0FQQjFFTlJfVElNNkVOICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwMDEwKQorI2RlZmluZSAgUkNDX0FQQjFFTlJfVElNN0VOICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwMDIwKQorI2RlZmluZSAgUkNDX0FQQjFFTlJfVElNMTJFTiAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwMDQwKQorI2RlZmluZSAgUkNDX0FQQjFFTlJfVElNMTNFTiAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwMDgwKQorI2RlZmluZSAgUkNDX0FQQjFFTlJfVElNMTRFTiAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwMTAwKQorI2RlZmluZSAgUkNDX0FQQjFFTlJfV1dER0VOICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwODAwKQorI2RlZmluZSAgUkNDX0FQQjFFTlJfU1BJMkVOICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDA0MDAwKQorI2RlZmluZSAgUkNDX0FQQjFFTlJfU1BJM0VOICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDA4MDAwKQorI2RlZmluZSAgUkNDX0FQQjFFTlJfVVNBUlQyRU4gICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDIwMDAwKQorI2RlZmluZSAgUkNDX0FQQjFFTlJfVVNBUlQzRU4gICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDQwMDAwKQorI2RlZmluZSAgUkNDX0FQQjFFTlJfVUFSVDRFTiAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDgwMDAwKQorI2RlZmluZSAgUkNDX0FQQjFFTlJfVUFSVDVFTiAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMTAwMDAwKQorI2RlZmluZSAgUkNDX0FQQjFFTlJfSTJDMUVOICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMjAwMDAwKQorI2RlZmluZSAgUkNDX0FQQjFFTlJfSTJDMkVOICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwNDAwMDAwKQorI2RlZmluZSAgUkNDX0FQQjFFTlJfSTJDM0VOICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwODAwMDAwKQorI2RlZmluZSAgUkNDX0FQQjFFTlJfQ0FOMUVOICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAyMDAwMDAwKQorI2RlZmluZSAgUkNDX0FQQjFFTlJfQ0FOMkVOICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDA0MDAwMDAwKQorI2RlZmluZSAgUkNDX0FQQjFFTlJfUFdSRU4gICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDEwMDAwMDAwKQorI2RlZmluZSAgUkNDX0FQQjFFTlJfREFDRU4gICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDIwMDAwMDAwKQorCisvKioqKioqKioqKioqKioqKioqKiogIEJpdCBkZWZpbml0aW9uIGZvciBSQ0NfQVBCMkVOUiByZWdpc3RlciAgKioqKioqKioqKioqKioqLworI2RlZmluZSAgUkNDX0FQQjJFTlJfVElNMUVOICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwMDAxKQorI2RlZmluZSAgUkNDX0FQQjJFTlJfVElNOEVOICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwMDAyKQorI2RlZmluZSAgUkNDX0FQQjJFTlJfVVNBUlQxRU4gICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwMDEwKQorI2RlZmluZSAgUkNDX0FQQjJFTlJfVVNBUlQ2RU4gICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwMDIwKQorI2RlZmluZSAgUkNDX0FQQjJFTlJfQURDMUVOICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwMTAwKQorI2RlZmluZSAgUkNDX0FQQjJFTlJfQURDMkVOICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwMjAwKQorI2RlZmluZSAgUkNDX0FQQjJFTlJfQURDM0VOICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwNDAwKQorI2RlZmluZSAgUkNDX0FQQjJFTlJfU0RJT0VOICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwODAwKQorI2RlZmluZSAgUkNDX0FQQjJFTlJfU1BJMUVOICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAxMDAwKQorI2RlZmluZSAgUkNDX0FQQjJFTlJfU1lTQ0ZHRU4gICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDA0MDAwKQorI2RlZmluZSAgUkNDX0FQQjJFTlJfVElNMTFFTiAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDQwMDAwKQorI2RlZmluZSAgUkNDX0FQQjJFTlJfVElNMTBFTiAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDIwMDAwKQorI2RlZmluZSAgUkNDX0FQQjJFTlJfVElNOUVOICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDEwMDAwKQorCisvKioqKioqKioqKioqKioqKioqKiogIEJpdCBkZWZpbml0aW9uIGZvciBSQ0NfQUhCMUxQRU5SIHJlZ2lzdGVyICAqKioqKioqKioqKioqLworI2RlZmluZSAgUkNDX0FIQjFMUEVOUl9HUElPQUxQRU4gICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwMDAxKQorI2RlZmluZSAgUkNDX0FIQjFMUEVOUl9HUElPQkxQRU4gICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwMDAyKQorI2RlZmluZSAgUkNDX0FIQjFMUEVOUl9HUElPQ0xQRU4gICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwMDA0KQorI2RlZmluZSAgUkNDX0FIQjFMUEVOUl9HUElPRExQRU4gICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwMDA4KQorI2RlZmluZSAgUkNDX0FIQjFMUEVOUl9HUElPRUxQRU4gICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwMDEwKQorI2RlZmluZSAgUkNDX0FIQjFMUEVOUl9HUElPRkxQRU4gICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwMDIwKQorI2RlZmluZSAgUkNDX0FIQjFMUEVOUl9HUElPR0xQRU4gICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwMDQwKQorI2RlZmluZSAgUkNDX0FIQjFMUEVOUl9HUElPSExQRU4gICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwMDgwKQorI2RlZmluZSAgUkNDX0FIQjFMUEVOUl9HUElPSUxQRU4gICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwMTAwKQorI2RlZmluZSAgUkNDX0FIQjFMUEVOUl9DUkNMUEVOICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAxMDAwKQorI2RlZmluZSAgUkNDX0FIQjFMUEVOUl9GTElURkxQRU4gICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDA4MDAwKQorI2RlZmluZSAgUkNDX0FIQjFMUEVOUl9TUkFNMUxQRU4gICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDEwMDAwKQorI2RlZmluZSAgUkNDX0FIQjFMUEVOUl9TUkFNMkxQRU4gICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDIwMDAwKQorI2RlZmluZSAgUkNDX0FIQjFMUEVOUl9CS1BTUkFNTFBFTiAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDQwMDAwKQorI2RlZmluZSAgUkNDX0FIQjFMUEVOUl9ETUExTFBFTiAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMjAwMDAwKQorI2RlZmluZSAgUkNDX0FIQjFMUEVOUl9ETUEyTFBFTiAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwNDAwMDAwKQorI2RlZmluZSAgUkNDX0FIQjFMUEVOUl9FVEhNQUNMUEVOICAgICAgICAgICAgKCh1aW50MzJfdCkweDAyMDAwMDAwKQorI2RlZmluZSAgUkNDX0FIQjFMUEVOUl9FVEhNQUNUWExQRU4gICAgICAgICAgKCh1aW50MzJfdCkweDA0MDAwMDAwKQorI2RlZmluZSAgUkNDX0FIQjFMUEVOUl9FVEhNQUNSWExQRU4gICAgICAgICAgKCh1aW50MzJfdCkweDA4MDAwMDAwKQorI2RlZmluZSAgUkNDX0FIQjFMUEVOUl9FVEhNQUNQVFBMUEVOICAgICAgICAgKCh1aW50MzJfdCkweDEwMDAwMDAwKQorI2RlZmluZSAgUkNDX0FIQjFMUEVOUl9PVEdIU0xQRU4gICAgICAgICAgICAgKCh1aW50MzJfdCkweDIwMDAwMDAwKQorI2RlZmluZSAgUkNDX0FIQjFMUEVOUl9PVEdIU1VMUElMUEVOICAgICAgICAgKCh1aW50MzJfdCkweDQwMDAwMDAwKQorCisvKioqKioqKioqKioqKioqKioqKiogIEJpdCBkZWZpbml0aW9uIGZvciBSQ0NfQUhCMkxQRU5SIHJlZ2lzdGVyICAqKioqKioqKioqKioqLworI2RlZmluZSAgUkNDX0FIQjJMUEVOUl9EQ01JTFBFTiAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwMDAxKQorI2RlZmluZSAgUkNDX0FIQjJMUEVOUl9DUllQTFBFTiAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwMDEwKQorI2RlZmluZSAgUkNDX0FIQjJMUEVOUl9IQVNITFBFTiAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwMDIwKQorI2RlZmluZSAgUkNDX0FIQjJMUEVOUl9STkdMUEVOICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwMDQwKQorI2RlZmluZSAgUkNDX0FIQjJMUEVOUl9PVEdGU0xQRU4gICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwMDgwKQorCisvKioqKioqKioqKioqKioqKioqKiogIEJpdCBkZWZpbml0aW9uIGZvciBSQ0NfQUhCM0xQRU5SIHJlZ2lzdGVyICAqKioqKioqKioqKioqLworI2RlZmluZSAgUkNDX0FIQjNMUEVOUl9GU01DTFBFTiAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwMDAxKQorCisvKioqKioqKioqKioqKioqKioqKiogIEJpdCBkZWZpbml0aW9uIGZvciBSQ0NfQVBCMUxQRU5SIHJlZ2lzdGVyICAqKioqKioqKioqKioqLworI2RlZmluZSAgUkNDX0FQQjFMUEVOUl9USU0yTFBFTiAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwMDAxKQorI2RlZmluZSAgUkNDX0FQQjFMUEVOUl9USU0zTFBFTiAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwMDAyKQorI2RlZmluZSAgUkNDX0FQQjFMUEVOUl9USU00TFBFTiAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwMDA0KQorI2RlZmluZSAgUkNDX0FQQjFMUEVOUl9USU01TFBFTiAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwMDA4KQorI2RlZmluZSAgUkNDX0FQQjFMUEVOUl9USU02TFBFTiAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwMDEwKQorI2RlZmluZSAgUkNDX0FQQjFMUEVOUl9USU03TFBFTiAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwMDIwKQorI2RlZmluZSAgUkNDX0FQQjFMUEVOUl9USU0xMkxQRU4gICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwMDQwKQorI2RlZmluZSAgUkNDX0FQQjFMUEVOUl9USU0xM0xQRU4gICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwMDgwKQorI2RlZmluZSAgUkNDX0FQQjFMUEVOUl9USU0xNExQRU4gICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwMTAwKQorI2RlZmluZSAgUkNDX0FQQjFMUEVOUl9XV0RHTFBFTiAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwODAwKQorI2RlZmluZSAgUkNDX0FQQjFMUEVOUl9TUEkyTFBFTiAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDA0MDAwKQorI2RlZmluZSAgUkNDX0FQQjFMUEVOUl9TUEkzTFBFTiAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDA4MDAwKQorI2RlZmluZSAgUkNDX0FQQjFMUEVOUl9VU0FSVDJMUEVOICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDIwMDAwKQorI2RlZmluZSAgUkNDX0FQQjFMUEVOUl9VU0FSVDNMUEVOICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDQwMDAwKQorI2RlZmluZSAgUkNDX0FQQjFMUEVOUl9VQVJUNExQRU4gICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDgwMDAwKQorI2RlZmluZSAgUkNDX0FQQjFMUEVOUl9VQVJUNUxQRU4gICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMTAwMDAwKQorI2RlZmluZSAgUkNDX0FQQjFMUEVOUl9JMkMxTFBFTiAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMjAwMDAwKQorI2RlZmluZSAgUkNDX0FQQjFMUEVOUl9JMkMyTFBFTiAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwNDAwMDAwKQorI2RlZmluZSAgUkNDX0FQQjFMUEVOUl9JMkMzTFBFTiAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwODAwMDAwKQorI2RlZmluZSAgUkNDX0FQQjFMUEVOUl9DQU4xTFBFTiAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAyMDAwMDAwKQorI2RlZmluZSAgUkNDX0FQQjFMUEVOUl9DQU4yTFBFTiAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDA0MDAwMDAwKQorI2RlZmluZSAgUkNDX0FQQjFMUEVOUl9QV1JMUEVOICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDEwMDAwMDAwKQorI2RlZmluZSAgUkNDX0FQQjFMUEVOUl9EQUNMUEVOICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDIwMDAwMDAwKQorCisvKioqKioqKioqKioqKioqKioqKiogIEJpdCBkZWZpbml0aW9uIGZvciBSQ0NfQVBCMkxQRU5SIHJlZ2lzdGVyICAqKioqKioqKioqKioqLworI2RlZmluZSAgUkNDX0FQQjJMUEVOUl9USU0xTFBFTiAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwMDAxKQorI2RlZmluZSAgUkNDX0FQQjJMUEVOUl9USU04TFBFTiAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwMDAyKQorI2RlZmluZSAgUkNDX0FQQjJMUEVOUl9VU0FSVDFMUEVOICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwMDEwKQorI2RlZmluZSAgUkNDX0FQQjJMUEVOUl9VU0FSVDZMUEVOICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwMDIwKQorI2RlZmluZSAgUkNDX0FQQjJMUEVOUl9BREMxTFBFTiAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwMTAwKQorI2RlZmluZSAgUkNDX0FQQjJMUEVOUl9BREMyUEVOICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwMjAwKQorI2RlZmluZSAgUkNDX0FQQjJMUEVOUl9BREMzTFBFTiAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwNDAwKQorI2RlZmluZSAgUkNDX0FQQjJMUEVOUl9TRElPTFBFTiAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwODAwKQorI2RlZmluZSAgUkNDX0FQQjJMUEVOUl9TUEkxTFBFTiAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAxMDAwKQorI2RlZmluZSAgUkNDX0FQQjJMUEVOUl9TWVNDRkdMUEVOICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDA0MDAwKQorI2RlZmluZSAgUkNDX0FQQjJMUEVOUl9USU05TFBFTiAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDEwMDAwKQorI2RlZmluZSAgUkNDX0FQQjJMUEVOUl9USU0xMExQRU4gICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDIwMDAwKQorI2RlZmluZSAgUkNDX0FQQjJMUEVOUl9USU0xMUxQRU4gICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDQwMDAwKQorCisvKioqKioqKioqKioqKioqKioqKiogIEJpdCBkZWZpbml0aW9uIGZvciBSQ0NfQkRDUiByZWdpc3RlciAgKioqKioqKioqKioqKioqKioqLworI2RlZmluZSAgUkNDX0JEQ1JfTFNFT04gICAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwMDAxKQorI2RlZmluZSAgUkNDX0JEQ1JfTFNFUkRZICAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwMDAyKQorI2RlZmluZSAgUkNDX0JEQ1JfTFNFQllQICAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwMDA0KQorCisjZGVmaW5lICBSQ0NfQkRDUl9SVENTRUwgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMDMwMCkKKyNkZWZpbmUgIFJDQ19CRENSX1JUQ1NFTF8wICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwMTAwKQorI2RlZmluZSAgUkNDX0JEQ1JfUlRDU0VMXzEgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDAyMDApCisKKyNkZWZpbmUgIFJDQ19CRENSX1JUQ0VOICAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwODAwMCkKKyNkZWZpbmUgIFJDQ19CRENSX0JEUlNUICAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAxMDAwMCkKKworLyoqKioqKioqKioqKioqKioqKioqICBCaXQgZGVmaW5pdGlvbiBmb3IgUkNDX0NTUiByZWdpc3RlciAgKioqKioqKioqKioqKioqKioqKi8KKyNkZWZpbmUgIFJDQ19DU1JfTFNJT04gICAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMDAwMSkKKyNkZWZpbmUgIFJDQ19DU1JfTFNJUkRZICAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMDAwMikKKyNkZWZpbmUgIFJDQ19DU1JfUk1WRiAgICAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMTAwMDAwMCkKKyNkZWZpbmUgIFJDQ19DU1JfQk9SUlNURiAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMjAwMDAwMCkKKyNkZWZpbmUgIFJDQ19DU1JfUEFEUlNURiAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwNDAwMDAwMCkKKyNkZWZpbmUgIFJDQ19DU1JfUE9SUlNURiAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwODAwMDAwMCkKKyNkZWZpbmUgIFJDQ19DU1JfU0ZUUlNURiAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgxMDAwMDAwMCkKKyNkZWZpbmUgIFJDQ19DU1JfV0RHUlNURiAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgyMDAwMDAwMCkKKyNkZWZpbmUgIFJDQ19DU1JfV1dER1JTVEYgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHg0MDAwMDAwMCkKKyNkZWZpbmUgIFJDQ19DU1JfTFBXUlJTVEYgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHg4MDAwMDAwMCkKKworLyoqKioqKioqKioqKioqKioqKioqICBCaXQgZGVmaW5pdGlvbiBmb3IgUkNDX1NTQ0dSIHJlZ2lzdGVyICAqKioqKioqKioqKioqKioqKi8KKyNkZWZpbmUgIFJDQ19TU0NHUl9NT0RQRVIgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMUZGRikKKyNkZWZpbmUgIFJDQ19TU0NHUl9JTkNTVEVQICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwRkZGRTAwMCkKKyNkZWZpbmUgIFJDQ19TU0NHUl9TUFJFQURTRUwgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHg0MDAwMDAwMCkKKyNkZWZpbmUgIFJDQ19TU0NHUl9TU0NHRU4gICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHg4MDAwMDAwMCkKKworLyoqKioqKioqKioqKioqKioqKioqICBCaXQgZGVmaW5pdGlvbiBmb3IgUkNDX1BMTEkyU0NGR1IgcmVnaXN0ZXIgICoqKioqKioqKioqKi8KKyNkZWZpbmUgIFJDQ19QTExJMlNDRkdSX1BMTEkyU04gICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwN0ZDMCkKKyNkZWZpbmUgIFJDQ19QTExJMlNDRkdSX1BMTEkyU1IgICAgICAgICAgICAgICgodWludDMyX3QpMHg3MDAwMDAwMCkKKworLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KKy8qICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICovCisvKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFJORyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqLworLyogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKi8KKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCisvKioqKioqKioqKioqKioqKioqKiogIEJpdHMgZGVmaW5pdGlvbiBmb3IgUk5HX0NSIHJlZ2lzdGVyICAqKioqKioqKioqKioqKioqKioqLworI2RlZmluZSBSTkdfQ1JfUk5HRU4gICAgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwMDA0KQorI2RlZmluZSBSTkdfQ1JfSUUgICAgICAgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwMDA4KQorCisvKioqKioqKioqKioqKioqKioqKiogIEJpdHMgZGVmaW5pdGlvbiBmb3IgUk5HX1NSIHJlZ2lzdGVyICAqKioqKioqKioqKioqKioqKioqLworI2RlZmluZSBSTkdfU1JfRFJEWSAgICAgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwMDAxKQorI2RlZmluZSBSTkdfU1JfQ0VDUyAgICAgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwMDAyKQorI2RlZmluZSBSTkdfU1JfU0VDUyAgICAgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwMDA0KQorI2RlZmluZSBSTkdfU1JfQ0VJUyAgICAgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwMDIwKQorI2RlZmluZSBSTkdfU1JfU0VJUyAgICAgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwMDQwKQorCisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLworLyogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKi8KKy8qICAgICAgICAgICAgICAgICAgICAgICAgICAgUmVhbC1UaW1lIENsb2NrIChSVEMpICAgICAgICAgICAgICAgICAgICAgICAgICAgICovCisvKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqLworLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KKy8qKioqKioqKioqKioqKioqKioqKiAgQml0cyBkZWZpbml0aW9uIGZvciBSVENfVFIgcmVnaXN0ZXIgICoqKioqKioqKioqKioqKioqKiovCisjZGVmaW5lIFJUQ19UUl9QTSAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDA0MDAwMDApCisjZGVmaW5lIFJUQ19UUl9IVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAzMDAwMDApCisjZGVmaW5lIFJUQ19UUl9IVF8wICAgICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAxMDAwMDApCisjZGVmaW5lIFJUQ19UUl9IVF8xICAgICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAyMDAwMDApCisjZGVmaW5lIFJUQ19UUl9IVSAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwRjAwMDApCisjZGVmaW5lIFJUQ19UUl9IVV8wICAgICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMTAwMDApCisjZGVmaW5lIFJUQ19UUl9IVV8xICAgICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMjAwMDApCisjZGVmaW5lIFJUQ19UUl9IVV8yICAgICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwNDAwMDApCisjZGVmaW5lIFJUQ19UUl9IVV8zICAgICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwODAwMDApCisjZGVmaW5lIFJUQ19UUl9NTlQgICAgICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDcwMDApCisjZGVmaW5lIFJUQ19UUl9NTlRfMCAgICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDEwMDApCisjZGVmaW5lIFJUQ19UUl9NTlRfMSAgICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDIwMDApCisjZGVmaW5lIFJUQ19UUl9NTlRfMiAgICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDQwMDApCisjZGVmaW5lIFJUQ19UUl9NTlUgICAgICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDBGMDApCisjZGVmaW5lIFJUQ19UUl9NTlVfMCAgICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDAxMDApCisjZGVmaW5lIFJUQ19UUl9NTlVfMSAgICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDAyMDApCisjZGVmaW5lIFJUQ19UUl9NTlVfMiAgICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDA0MDApCisjZGVmaW5lIFJUQ19UUl9NTlVfMyAgICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDA4MDApCisjZGVmaW5lIFJUQ19UUl9TVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDAwNzApCisjZGVmaW5lIFJUQ19UUl9TVF8wICAgICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDAwMTApCisjZGVmaW5lIFJUQ19UUl9TVF8xICAgICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDAwMjApCisjZGVmaW5lIFJUQ19UUl9TVF8yICAgICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDAwNDApCisjZGVmaW5lIFJUQ19UUl9TVSAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDAwMEYpCisjZGVmaW5lIFJUQ19UUl9TVV8wICAgICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDAwMDEpCisjZGVmaW5lIFJUQ19UUl9TVV8xICAgICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDAwMDIpCisjZGVmaW5lIFJUQ19UUl9TVV8yICAgICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDAwMDQpCisjZGVmaW5lIFJUQ19UUl9TVV8zICAgICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDAwMDgpCisKKy8qKioqKioqKioqKioqKioqKioqKiAgQml0cyBkZWZpbml0aW9uIGZvciBSVENfRFIgcmVnaXN0ZXIgICoqKioqKioqKioqKioqKioqKiovCisjZGVmaW5lIFJUQ19EUl9ZVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDBGMDAwMDApCisjZGVmaW5lIFJUQ19EUl9ZVF8wICAgICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAxMDAwMDApCisjZGVmaW5lIFJUQ19EUl9ZVF8xICAgICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAyMDAwMDApCisjZGVmaW5lIFJUQ19EUl9ZVF8yICAgICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDA0MDAwMDApCisjZGVmaW5lIFJUQ19EUl9ZVF8zICAgICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDA4MDAwMDApCisjZGVmaW5lIFJUQ19EUl9ZVSAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwRjAwMDApCisjZGVmaW5lIFJUQ19EUl9ZVV8wICAgICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMTAwMDApCisjZGVmaW5lIFJUQ19EUl9ZVV8xICAgICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMjAwMDApCisjZGVmaW5lIFJUQ19EUl9ZVV8yICAgICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwNDAwMDApCisjZGVmaW5lIFJUQ19EUl9ZVV8zICAgICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwODAwMDApCisjZGVmaW5lIFJUQ19EUl9XRFUgICAgICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMEUwMDApCisjZGVmaW5lIFJUQ19EUl9XRFVfMCAgICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDIwMDApCisjZGVmaW5lIFJUQ19EUl9XRFVfMSAgICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDQwMDApCisjZGVmaW5lIFJUQ19EUl9XRFVfMiAgICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDgwMDApCisjZGVmaW5lIFJUQ19EUl9NVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDEwMDApCisjZGVmaW5lIFJUQ19EUl9NVSAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDBGMDApCisjZGVmaW5lIFJUQ19EUl9NVV8wICAgICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDAxMDApCisjZGVmaW5lIFJUQ19EUl9NVV8xICAgICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDAyMDApCisjZGVmaW5lIFJUQ19EUl9NVV8yICAgICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDA0MDApCisjZGVmaW5lIFJUQ19EUl9NVV8zICAgICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDA4MDApCisjZGVmaW5lIFJUQ19EUl9EVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDAwMzApCisjZGVmaW5lIFJUQ19EUl9EVF8wICAgICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDAwMTApCisjZGVmaW5lIFJUQ19EUl9EVF8xICAgICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDAwMjApCisjZGVmaW5lIFJUQ19EUl9EVSAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDAwMEYpCisjZGVmaW5lIFJUQ19EUl9EVV8wICAgICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDAwMDEpCisjZGVmaW5lIFJUQ19EUl9EVV8xICAgICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDAwMDIpCisjZGVmaW5lIFJUQ19EUl9EVV8yICAgICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDAwMDQpCisjZGVmaW5lIFJUQ19EUl9EVV8zICAgICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDAwMDgpCisKKy8qKioqKioqKioqKioqKioqKioqKiAgQml0cyBkZWZpbml0aW9uIGZvciBSVENfQ1IgcmVnaXN0ZXIgICoqKioqKioqKioqKioqKioqKiovCisjZGVmaW5lIFJUQ19DUl9DT0UgICAgICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDA4MDAwMDApCisjZGVmaW5lIFJUQ19DUl9PU0VMICAgICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDA2MDAwMDApCisjZGVmaW5lIFJUQ19DUl9PU0VMXzAgICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAyMDAwMDApCisjZGVmaW5lIFJUQ19DUl9PU0VMXzEgICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDA0MDAwMDApCisjZGVmaW5lIFJUQ19DUl9QT0wgICAgICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAxMDAwMDApCisjZGVmaW5lIFJUQ19DUl9CQ0sgICAgICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwNDAwMDApCisjZGVmaW5lIFJUQ19DUl9TVUIxSCAgICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMjAwMDApCisjZGVmaW5lIFJUQ19DUl9BREQxSCAgICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMTAwMDApCisjZGVmaW5lIFJUQ19DUl9UU0lFICAgICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDgwMDApCisjZGVmaW5lIFJUQ19DUl9XVVRJRSAgICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDQwMDApCisjZGVmaW5lIFJUQ19DUl9BTFJCSUUgICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDIwMDApCisjZGVmaW5lIFJUQ19DUl9BTFJBSUUgICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDEwMDApCisjZGVmaW5lIFJUQ19DUl9UU0UgICAgICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDA4MDApCisjZGVmaW5lIFJUQ19DUl9XVVRFICAgICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDA0MDApCisjZGVmaW5lIFJUQ19DUl9BTFJCRSAgICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDAyMDApCisjZGVmaW5lIFJUQ19DUl9BTFJBRSAgICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDAxMDApCisjZGVmaW5lIFJUQ19DUl9EQ0UgICAgICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDAwODApCisjZGVmaW5lIFJUQ19DUl9GTVQgICAgICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDAwNDApCisjZGVmaW5lIFJUQ19DUl9SRUZDS09OICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDAwMTApCisjZGVmaW5lIFJUQ19DUl9UU0VER0UgICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDAwMDgpCisjZGVmaW5lIFJUQ19DUl9XVUNLU0VMICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDAwMDcpCisjZGVmaW5lIFJUQ19DUl9XVUNLU0VMXzAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDAwMDEpCisjZGVmaW5lIFJUQ19DUl9XVUNLU0VMXzEgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDAwMDIpCisjZGVmaW5lIFJUQ19DUl9XVUNLU0VMXzIgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDAwMDQpCisKKy8qKioqKioqKioqKioqKioqKioqKiAgQml0cyBkZWZpbml0aW9uIGZvciBSVENfSVNSIHJlZ2lzdGVyICAqKioqKioqKioqKioqKioqKiovCisjZGVmaW5lIFJUQ19JU1JfVEFNUDFGICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDIwMDApCisjZGVmaW5lIFJUQ19JU1JfVFNPVkYgICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDEwMDApCisjZGVmaW5lIFJUQ19JU1JfVFNGICAgICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDA4MDApCisjZGVmaW5lIFJUQ19JU1JfV1VURiAgICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDA0MDApCisjZGVmaW5lIFJUQ19JU1JfQUxSQkYgICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDAyMDApCisjZGVmaW5lIFJUQ19JU1JfQUxSQUYgICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDAxMDApCisjZGVmaW5lIFJUQ19JU1JfSU5JVCAgICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDAwODApCisjZGVmaW5lIFJUQ19JU1JfSU5JVEYgICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDAwNDApCisjZGVmaW5lIFJUQ19JU1JfUlNGICAgICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDAwMjApCisjZGVmaW5lIFJUQ19JU1JfSU5JVFMgICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDAwMTApCisjZGVmaW5lIFJUQ19JU1JfV1VUV0YgICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDAwMDQpCisjZGVmaW5lIFJUQ19JU1JfQUxSQldGICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDAwMDIpCisjZGVmaW5lIFJUQ19JU1JfQUxSQVdGICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDAwMDEpCisKKy8qKioqKioqKioqKioqKioqKioqKiAgQml0cyBkZWZpbml0aW9uIGZvciBSVENfUFJFUiByZWdpc3RlciAgKioqKioqKioqKioqKioqKiovCisjZGVmaW5lIFJUQ19QUkVSX1BSRURJVl9BICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDA3RjAwMDApCisjZGVmaW5lIFJUQ19QUkVSX1BSRURJVl9TICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDFGRkYpCisKKy8qKioqKioqKioqKioqKioqKioqKiAgQml0cyBkZWZpbml0aW9uIGZvciBSVENfV1VUUiByZWdpc3RlciAgKioqKioqKioqKioqKioqKiovCisjZGVmaW5lIFJUQ19XVVRSX1dVVCAgICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMEZGRkYpCisKKy8qKioqKioqKioqKioqKioqKioqKiAgQml0cyBkZWZpbml0aW9uIGZvciBSVENfQ0FMSUJSIHJlZ2lzdGVyICAqKioqKioqKioqKioqKiovCisjZGVmaW5lIFJUQ19DQUxJQlJfRENTICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDAwODApCisjZGVmaW5lIFJUQ19DQUxJQlJfREMgICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDAwMUYpCisKKy8qKioqKioqKioqKioqKioqKioqKiAgQml0cyBkZWZpbml0aW9uIGZvciBSVENfQUxSTUFSIHJlZ2lzdGVyICAqKioqKioqKioqKioqKiovCisjZGVmaW5lIFJUQ19BTFJNQVJfTVNLNCAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4ODAwMDAwMDApCisjZGVmaW5lIFJUQ19BTFJNQVJfV0RTRUwgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4NDAwMDAwMDApCisjZGVmaW5lIFJUQ19BTFJNQVJfRFQgICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MzAwMDAwMDApCisjZGVmaW5lIFJUQ19BTFJNQVJfRFRfMCAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MTAwMDAwMDApCisjZGVmaW5lIFJUQ19BTFJNQVJfRFRfMSAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MjAwMDAwMDApCisjZGVmaW5lIFJUQ19BTFJNQVJfRFUgICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MEYwMDAwMDApCisjZGVmaW5lIFJUQ19BTFJNQVJfRFVfMCAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDEwMDAwMDApCisjZGVmaW5lIFJUQ19BTFJNQVJfRFVfMSAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDIwMDAwMDApCisjZGVmaW5lIFJUQ19BTFJNQVJfRFVfMiAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDQwMDAwMDApCisjZGVmaW5lIFJUQ19BTFJNQVJfRFVfMyAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDgwMDAwMDApCisjZGVmaW5lIFJUQ19BTFJNQVJfTVNLMyAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDA4MDAwMDApCisjZGVmaW5lIFJUQ19BTFJNQVJfUE0gICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDA0MDAwMDApCisjZGVmaW5lIFJUQ19BTFJNQVJfSFQgICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAzMDAwMDApCisjZGVmaW5lIFJUQ19BTFJNQVJfSFRfMCAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAxMDAwMDApCisjZGVmaW5lIFJUQ19BTFJNQVJfSFRfMSAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAyMDAwMDApCisjZGVmaW5lIFJUQ19BTFJNQVJfSFUgICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwRjAwMDApCisjZGVmaW5lIFJUQ19BTFJNQVJfSFVfMCAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMTAwMDApCisjZGVmaW5lIFJUQ19BTFJNQVJfSFVfMSAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMjAwMDApCisjZGVmaW5lIFJUQ19BTFJNQVJfSFVfMiAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwNDAwMDApCisjZGVmaW5lIFJUQ19BTFJNQVJfSFVfMyAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwODAwMDApCisjZGVmaW5lIFJUQ19BTFJNQVJfTVNLMiAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDgwMDApCisjZGVmaW5lIFJUQ19BTFJNQVJfTU5UICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDcwMDApCisjZGVmaW5lIFJUQ19BTFJNQVJfTU5UXzAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDEwMDApCisjZGVmaW5lIFJUQ19BTFJNQVJfTU5UXzEgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDIwMDApCisjZGVmaW5lIFJUQ19BTFJNQVJfTU5UXzIgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDQwMDApCisjZGVmaW5lIFJUQ19BTFJNQVJfTU5VICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDBGMDApCisjZGVmaW5lIFJUQ19BTFJNQVJfTU5VXzAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDAxMDApCisjZGVmaW5lIFJUQ19BTFJNQVJfTU5VXzEgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDAyMDApCisjZGVmaW5lIFJUQ19BTFJNQVJfTU5VXzIgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDA0MDApCisjZGVmaW5lIFJUQ19BTFJNQVJfTU5VXzMgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDA4MDApCisjZGVmaW5lIFJUQ19BTFJNQVJfTVNLMSAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDAwODApCisjZGVmaW5lIFJUQ19BTFJNQVJfU1QgICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDAwNzApCisjZGVmaW5lIFJUQ19BTFJNQVJfU1RfMCAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDAwMTApCisjZGVmaW5lIFJUQ19BTFJNQVJfU1RfMSAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDAwMjApCisjZGVmaW5lIFJUQ19BTFJNQVJfU1RfMiAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDAwNDApCisjZGVmaW5lIFJUQ19BTFJNQVJfU1UgICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDAwMEYpCisjZGVmaW5lIFJUQ19BTFJNQVJfU1VfMCAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDAwMDEpCisjZGVmaW5lIFJUQ19BTFJNQVJfU1VfMSAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDAwMDIpCisjZGVmaW5lIFJUQ19BTFJNQVJfU1VfMiAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDAwMDQpCisjZGVmaW5lIFJUQ19BTFJNQVJfU1VfMyAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDAwMDgpCisKKy8qKioqKioqKioqKioqKioqKioqKiAgQml0cyBkZWZpbml0aW9uIGZvciBSVENfQUxSTUJSIHJlZ2lzdGVyICAqKioqKioqKioqKioqKiovCisjZGVmaW5lIFJUQ19BTFJNQlJfTVNLNCAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4ODAwMDAwMDApCisjZGVmaW5lIFJUQ19BTFJNQlJfV0RTRUwgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4NDAwMDAwMDApCisjZGVmaW5lIFJUQ19BTFJNQlJfRFQgICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MzAwMDAwMDApCisjZGVmaW5lIFJUQ19BTFJNQlJfRFRfMCAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MTAwMDAwMDApCisjZGVmaW5lIFJUQ19BTFJNQlJfRFRfMSAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MjAwMDAwMDApCisjZGVmaW5lIFJUQ19BTFJNQlJfRFUgICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MEYwMDAwMDApCisjZGVmaW5lIFJUQ19BTFJNQlJfRFVfMCAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDEwMDAwMDApCisjZGVmaW5lIFJUQ19BTFJNQlJfRFVfMSAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDIwMDAwMDApCisjZGVmaW5lIFJUQ19BTFJNQlJfRFVfMiAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDQwMDAwMDApCisjZGVmaW5lIFJUQ19BTFJNQlJfRFVfMyAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDgwMDAwMDApCisjZGVmaW5lIFJUQ19BTFJNQlJfTVNLMyAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDA4MDAwMDApCisjZGVmaW5lIFJUQ19BTFJNQlJfUE0gICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDA0MDAwMDApCisjZGVmaW5lIFJUQ19BTFJNQlJfSFQgICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAzMDAwMDApCisjZGVmaW5lIFJUQ19BTFJNQlJfSFRfMCAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAxMDAwMDApCisjZGVmaW5lIFJUQ19BTFJNQlJfSFRfMSAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAyMDAwMDApCisjZGVmaW5lIFJUQ19BTFJNQlJfSFUgICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwRjAwMDApCisjZGVmaW5lIFJUQ19BTFJNQlJfSFVfMCAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMTAwMDApCisjZGVmaW5lIFJUQ19BTFJNQlJfSFVfMSAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMjAwMDApCisjZGVmaW5lIFJUQ19BTFJNQlJfSFVfMiAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwNDAwMDApCisjZGVmaW5lIFJUQ19BTFJNQlJfSFVfMyAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwODAwMDApCisjZGVmaW5lIFJUQ19BTFJNQlJfTVNLMiAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDgwMDApCisjZGVmaW5lIFJUQ19BTFJNQlJfTU5UICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDcwMDApCisjZGVmaW5lIFJUQ19BTFJNQlJfTU5UXzAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDEwMDApCisjZGVmaW5lIFJUQ19BTFJNQlJfTU5UXzEgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDIwMDApCisjZGVmaW5lIFJUQ19BTFJNQlJfTU5UXzIgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDQwMDApCisjZGVmaW5lIFJUQ19BTFJNQlJfTU5VICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDBGMDApCisjZGVmaW5lIFJUQ19BTFJNQlJfTU5VXzAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDAxMDApCisjZGVmaW5lIFJUQ19BTFJNQlJfTU5VXzEgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDAyMDApCisjZGVmaW5lIFJUQ19BTFJNQlJfTU5VXzIgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDA0MDApCisjZGVmaW5lIFJUQ19BTFJNQlJfTU5VXzMgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDA4MDApCisjZGVmaW5lIFJUQ19BTFJNQlJfTVNLMSAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDAwODApCisjZGVmaW5lIFJUQ19BTFJNQlJfU1QgICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDAwNzApCisjZGVmaW5lIFJUQ19BTFJNQlJfU1RfMCAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDAwMTApCisjZGVmaW5lIFJUQ19BTFJNQlJfU1RfMSAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDAwMjApCisjZGVmaW5lIFJUQ19BTFJNQlJfU1RfMiAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDAwNDApCisjZGVmaW5lIFJUQ19BTFJNQlJfU1UgICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDAwMEYpCisjZGVmaW5lIFJUQ19BTFJNQlJfU1VfMCAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDAwMDEpCisjZGVmaW5lIFJUQ19BTFJNQlJfU1VfMSAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDAwMDIpCisjZGVmaW5lIFJUQ19BTFJNQlJfU1VfMiAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDAwMDQpCisjZGVmaW5lIFJUQ19BTFJNQlJfU1VfMyAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDAwMDgpCisKKy8qKioqKioqKioqKioqKioqKioqKiAgQml0cyBkZWZpbml0aW9uIGZvciBSVENfV1BSIHJlZ2lzdGVyICAqKioqKioqKioqKioqKioqKiovCisjZGVmaW5lIFJUQ19XUFJfS0VZICAgICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDAwRkYpCisKKy8qKioqKioqKioqKioqKioqKioqKiAgQml0cyBkZWZpbml0aW9uIGZvciBSVENfVFNUUiByZWdpc3RlciAgKioqKioqKioqKioqKioqKiovCisjZGVmaW5lIFJUQ19UU1RSX1BNICAgICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDA0MDAwMDApCisjZGVmaW5lIFJUQ19UU1RSX0hUICAgICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAzMDAwMDApCisjZGVmaW5lIFJUQ19UU1RSX0hUXzAgICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAxMDAwMDApCisjZGVmaW5lIFJUQ19UU1RSX0hUXzEgICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAyMDAwMDApCisjZGVmaW5lIFJUQ19UU1RSX0hVICAgICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwRjAwMDApCisjZGVmaW5lIFJUQ19UU1RSX0hVXzAgICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMTAwMDApCisjZGVmaW5lIFJUQ19UU1RSX0hVXzEgICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMjAwMDApCisjZGVmaW5lIFJUQ19UU1RSX0hVXzIgICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwNDAwMDApCisjZGVmaW5lIFJUQ19UU1RSX0hVXzMgICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwODAwMDApCisjZGVmaW5lIFJUQ19UU1RSX01OVCAgICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDcwMDApCisjZGVmaW5lIFJUQ19UU1RSX01OVF8wICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDEwMDApCisjZGVmaW5lIFJUQ19UU1RSX01OVF8xICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDIwMDApCisjZGVmaW5lIFJUQ19UU1RSX01OVF8yICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDQwMDApCisjZGVmaW5lIFJUQ19UU1RSX01OVSAgICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDBGMDApCisjZGVmaW5lIFJUQ19UU1RSX01OVV8wICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDAxMDApCisjZGVmaW5lIFJUQ19UU1RSX01OVV8xICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDAyMDApCisjZGVmaW5lIFJUQ19UU1RSX01OVV8yICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDA0MDApCisjZGVmaW5lIFJUQ19UU1RSX01OVV8zICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDA4MDApCisjZGVmaW5lIFJUQ19UU1RSX1NUICAgICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDAwNzApCisjZGVmaW5lIFJUQ19UU1RSX1NUXzAgICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDAwMTApCisjZGVmaW5lIFJUQ19UU1RSX1NUXzEgICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDAwMjApCisjZGVmaW5lIFJUQ19UU1RSX1NUXzIgICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDAwNDApCisjZGVmaW5lIFJUQ19UU1RSX1NVICAgICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDAwMEYpCisjZGVmaW5lIFJUQ19UU1RSX1NVXzAgICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDAwMDEpCisjZGVmaW5lIFJUQ19UU1RSX1NVXzEgICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDAwMDIpCisjZGVmaW5lIFJUQ19UU1RSX1NVXzIgICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDAwMDQpCisjZGVmaW5lIFJUQ19UU1RSX1NVXzMgICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDAwMDgpCisKKy8qKioqKioqKioqKioqKioqKioqKiAgQml0cyBkZWZpbml0aW9uIGZvciBSVENfVFNEUiByZWdpc3RlciAgKioqKioqKioqKioqKioqKiovCisjZGVmaW5lIFJUQ19UU0RSX1dEVSAgICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMEUwMDApCisjZGVmaW5lIFJUQ19UU0RSX1dEVV8wICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDIwMDApCisjZGVmaW5lIFJUQ19UU0RSX1dEVV8xICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDQwMDApCisjZGVmaW5lIFJUQ19UU0RSX1dEVV8yICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDgwMDApCisjZGVmaW5lIFJUQ19UU0RSX01UICAgICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDEwMDApCisjZGVmaW5lIFJUQ19UU0RSX01VICAgICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDBGMDApCisjZGVmaW5lIFJUQ19UU0RSX01VXzAgICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDAxMDApCisjZGVmaW5lIFJUQ19UU0RSX01VXzEgICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDAyMDApCisjZGVmaW5lIFJUQ19UU0RSX01VXzIgICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDA0MDApCisjZGVmaW5lIFJUQ19UU0RSX01VXzMgICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDA4MDApCisjZGVmaW5lIFJUQ19UU0RSX0RUICAgICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDAwMzApCisjZGVmaW5lIFJUQ19UU0RSX0RUXzAgICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDAwMTApCisjZGVmaW5lIFJUQ19UU0RSX0RUXzEgICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDAwMjApCisjZGVmaW5lIFJUQ19UU0RSX0RVICAgICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDAwMEYpCisjZGVmaW5lIFJUQ19UU0RSX0RVXzAgICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDAwMDEpCisjZGVmaW5lIFJUQ19UU0RSX0RVXzEgICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDAwMDIpCisjZGVmaW5lIFJUQ19UU0RSX0RVXzIgICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDAwMDQpCisjZGVmaW5lIFJUQ19UU0RSX0RVXzMgICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDAwMDgpCisKKy8qKioqKioqKioqKioqKioqKioqKiAgQml0cyBkZWZpbml0aW9uIGZvciBSVENfVEFGQ1IgcmVnaXN0ZXIgICoqKioqKioqKioqKioqKiovCisjZGVmaW5lIFJUQ19UQUZDUl9BTEFSTU9VVFRZUEUgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwNDAwMDApCisjZGVmaW5lIFJUQ19UQUZDUl9UU0lOU0VMICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMjAwMDApCisjZGVmaW5lIFJUQ19UQUZDUl9UQU1QSU5TRUwgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMTAwMDApCisjZGVmaW5lIFJUQ19UQUZDUl9UQU1QSUUgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDAwMDQpCisjZGVmaW5lIFJUQ19UQUZDUl9UQU1QMVRSRyAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDAwMDIpCisjZGVmaW5lIFJUQ19UQUZDUl9UQU1QMUUgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDAwMDEpCisKKy8qKioqKioqKioqKioqKioqKioqKiAgQml0cyBkZWZpbml0aW9uIGZvciBSVENfQktQMFIgcmVnaXN0ZXIgICoqKioqKioqKioqKioqKiovCisjZGVmaW5lIFJUQ19CS1AwUiAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4RkZGRkZGRkYpCisKKy8qKioqKioqKioqKioqKioqKioqKiAgQml0cyBkZWZpbml0aW9uIGZvciBSVENfQktQMVIgcmVnaXN0ZXIgICoqKioqKioqKioqKioqKiovCisjZGVmaW5lIFJUQ19CS1AxUiAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4RkZGRkZGRkYpCisKKy8qKioqKioqKioqKioqKioqKioqKiAgQml0cyBkZWZpbml0aW9uIGZvciBSVENfQktQMlIgcmVnaXN0ZXIgICoqKioqKioqKioqKioqKiovCisjZGVmaW5lIFJUQ19CS1AyUiAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4RkZGRkZGRkYpCisKKy8qKioqKioqKioqKioqKioqKioqKiAgQml0cyBkZWZpbml0aW9uIGZvciBSVENfQktQM1IgcmVnaXN0ZXIgICoqKioqKioqKioqKioqKiovCisjZGVmaW5lIFJUQ19CS1AzUiAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4RkZGRkZGRkYpCisKKy8qKioqKioqKioqKioqKioqKioqKiAgQml0cyBkZWZpbml0aW9uIGZvciBSVENfQktQNFIgcmVnaXN0ZXIgICoqKioqKioqKioqKioqKiovCisjZGVmaW5lIFJUQ19CS1A0UiAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4RkZGRkZGRkYpCisKKy8qKioqKioqKioqKioqKioqKioqKiAgQml0cyBkZWZpbml0aW9uIGZvciBSVENfQktQNVIgcmVnaXN0ZXIgICoqKioqKioqKioqKioqKiovCisjZGVmaW5lIFJUQ19CS1A1UiAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4RkZGRkZGRkYpCisKKy8qKioqKioqKioqKioqKioqKioqKiAgQml0cyBkZWZpbml0aW9uIGZvciBSVENfQktQNlIgcmVnaXN0ZXIgICoqKioqKioqKioqKioqKiovCisjZGVmaW5lIFJUQ19CS1A2UiAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4RkZGRkZGRkYpCisKKy8qKioqKioqKioqKioqKioqKioqKiAgQml0cyBkZWZpbml0aW9uIGZvciBSVENfQktQN1IgcmVnaXN0ZXIgICoqKioqKioqKioqKioqKiovCisjZGVmaW5lIFJUQ19CS1A3UiAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4RkZGRkZGRkYpCisKKy8qKioqKioqKioqKioqKioqKioqKiAgQml0cyBkZWZpbml0aW9uIGZvciBSVENfQktQOFIgcmVnaXN0ZXIgICoqKioqKioqKioqKioqKiovCisjZGVmaW5lIFJUQ19CS1A4UiAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4RkZGRkZGRkYpCisKKy8qKioqKioqKioqKioqKioqKioqKiAgQml0cyBkZWZpbml0aW9uIGZvciBSVENfQktQOVIgcmVnaXN0ZXIgICoqKioqKioqKioqKioqKiovCisjZGVmaW5lIFJUQ19CS1A5UiAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4RkZGRkZGRkYpCisKKy8qKioqKioqKioqKioqKioqKioqKiAgQml0cyBkZWZpbml0aW9uIGZvciBSVENfQktQMTBSIHJlZ2lzdGVyICAqKioqKioqKioqKioqKiovCisjZGVmaW5lIFJUQ19CS1AxMFIgICAgICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4RkZGRkZGRkYpCisKKy8qKioqKioqKioqKioqKioqKioqKiAgQml0cyBkZWZpbml0aW9uIGZvciBSVENfQktQMTFSIHJlZ2lzdGVyICAqKioqKioqKioqKioqKiovCisjZGVmaW5lIFJUQ19CS1AxMVIgICAgICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4RkZGRkZGRkYpCisKKy8qKioqKioqKioqKioqKioqKioqKiAgQml0cyBkZWZpbml0aW9uIGZvciBSVENfQktQMTJSIHJlZ2lzdGVyICAqKioqKioqKioqKioqKiovCisjZGVmaW5lIFJUQ19CS1AxMlIgICAgICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4RkZGRkZGRkYpCisKKy8qKioqKioqKioqKioqKioqKioqKiAgQml0cyBkZWZpbml0aW9uIGZvciBSVENfQktQMTNSIHJlZ2lzdGVyICAqKioqKioqKioqKioqKiovCisjZGVmaW5lIFJUQ19CS1AxM1IgICAgICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4RkZGRkZGRkYpCisKKy8qKioqKioqKioqKioqKioqKioqKiAgQml0cyBkZWZpbml0aW9uIGZvciBSVENfQktQMTRSIHJlZ2lzdGVyICAqKioqKioqKioqKioqKiovCisjZGVmaW5lIFJUQ19CS1AxNFIgICAgICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4RkZGRkZGRkYpCisKKy8qKioqKioqKioqKioqKioqKioqKiAgQml0cyBkZWZpbml0aW9uIGZvciBSVENfQktQMTVSIHJlZ2lzdGVyICAqKioqKioqKioqKioqKiovCisjZGVmaW5lIFJUQ19CS1AxNVIgICAgICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4RkZGRkZGRkYpCisKKy8qKioqKioqKioqKioqKioqKioqKiAgQml0cyBkZWZpbml0aW9uIGZvciBSVENfQktQMTZSIHJlZ2lzdGVyICAqKioqKioqKioqKioqKiovCisjZGVmaW5lIFJUQ19CS1AxNlIgICAgICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4RkZGRkZGRkYpCisKKy8qKioqKioqKioqKioqKioqKioqKiAgQml0cyBkZWZpbml0aW9uIGZvciBSVENfQktQMTdSIHJlZ2lzdGVyICAqKioqKioqKioqKioqKiovCisjZGVmaW5lIFJUQ19CS1AxN1IgICAgICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4RkZGRkZGRkYpCisKKy8qKioqKioqKioqKioqKioqKioqKiAgQml0cyBkZWZpbml0aW9uIGZvciBSVENfQktQMThSIHJlZ2lzdGVyICAqKioqKioqKioqKioqKiovCisjZGVmaW5lIFJUQ19CS1AxOFIgICAgICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4RkZGRkZGRkYpCisKKy8qKioqKioqKioqKioqKioqKioqKiAgQml0cyBkZWZpbml0aW9uIGZvciBSVENfQktQMTlSIHJlZ2lzdGVyICAqKioqKioqKioqKioqKiovCisjZGVmaW5lIFJUQ19CS1AxOVIgICAgICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4RkZGRkZGRkYpCisKKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCisvKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqLworLyogICAgICAgICAgICAgICAgICAgICAgICAgIFNEIGhvc3QgSW50ZXJmYWNlICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKi8KKy8qICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICovCisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLworLyoqKioqKioqKioqKioqKioqKiAgQml0IGRlZmluaXRpb24gZm9yIFNESU9fUE9XRVIgcmVnaXN0ZXIgICoqKioqKioqKioqKioqKioqKi8KKyNkZWZpbmUgIFNESU9fUE9XRVJfUFdSQ1RSTCAgICAgICAgICAgICAgICAgICgodWludDhfdCkweDAzKSAgICAgICAgICAgICAgIC8qITxQV1JDVFJMWzE6MF0gYml0cyAoUG93ZXIgc3VwcGx5IGNvbnRyb2wgYml0cykgKi8KKyNkZWZpbmUgIFNESU9fUE9XRVJfUFdSQ1RSTF8wICAgICAgICAgICAgICAgICgodWludDhfdCkweDAxKSAgICAgICAgICAgICAgIC8qITxCaXQgMCAqLworI2RlZmluZSAgU0RJT19QT1dFUl9QV1JDVFJMXzEgICAgICAgICAgICAgICAgKCh1aW50OF90KTB4MDIpICAgICAgICAgICAgICAgLyohPEJpdCAxICovCisKKy8qKioqKioqKioqKioqKioqKiogIEJpdCBkZWZpbml0aW9uIGZvciBTRElPX0NMS0NSIHJlZ2lzdGVyICAqKioqKioqKioqKioqKioqKiovCisjZGVmaW5lICBTRElPX0NMS0NSX0NMS0RJViAgICAgICAgICAgICAgICAgICAoKHVpbnQxNl90KTB4MDBGRikgICAgICAgICAgICAvKiE8Q2xvY2sgZGl2aWRlIGZhY3RvciAqLworI2RlZmluZSAgU0RJT19DTEtDUl9DTEtFTiAgICAgICAgICAgICAgICAgICAgKCh1aW50MTZfdCkweDAxMDApICAgICAgICAgICAgLyohPENsb2NrIGVuYWJsZSBiaXQgKi8KKyNkZWZpbmUgIFNESU9fQ0xLQ1JfUFdSU0FWICAgICAgICAgICAgICAgICAgICgodWludDE2X3QpMHgwMjAwKSAgICAgICAgICAgIC8qITxQb3dlciBzYXZpbmcgY29uZmlndXJhdGlvbiBiaXQgKi8KKyNkZWZpbmUgIFNESU9fQ0xLQ1JfQllQQVNTICAgICAgICAgICAgICAgICAgICgodWludDE2X3QpMHgwNDAwKSAgICAgICAgICAgIC8qITxDbG9jayBkaXZpZGVyIGJ5cGFzcyBlbmFibGUgYml0ICovCisKKyNkZWZpbmUgIFNESU9fQ0xLQ1JfV0lEQlVTICAgICAgICAgICAgICAgICAgICgodWludDE2X3QpMHgxODAwKSAgICAgICAgICAgIC8qITxXSURCVVNbMTowXSBiaXRzIChXaWRlIGJ1cyBtb2RlIGVuYWJsZSBiaXQpICovCisjZGVmaW5lICBTRElPX0NMS0NSX1dJREJVU18wICAgICAgICAgICAgICAgICAoKHVpbnQxNl90KTB4MDgwMCkgICAgICAgICAgICAvKiE8Qml0IDAgKi8KKyNkZWZpbmUgIFNESU9fQ0xLQ1JfV0lEQlVTXzEgICAgICAgICAgICAgICAgICgodWludDE2X3QpMHgxMDAwKSAgICAgICAgICAgIC8qITxCaXQgMSAqLworCisjZGVmaW5lICBTRElPX0NMS0NSX05FR0VER0UgICAgICAgICAgICAgICAgICAoKHVpbnQxNl90KTB4MjAwMCkgICAgICAgICAgICAvKiE8U0RJT19DSyBkZXBoYXNpbmcgc2VsZWN0aW9uIGJpdCAqLworI2RlZmluZSAgU0RJT19DTEtDUl9IV0ZDX0VOICAgICAgICAgICAgICAgICAgKCh1aW50MTZfdCkweDQwMDApICAgICAgICAgICAgLyohPEhXIEZsb3cgQ29udHJvbCBlbmFibGUgKi8KKworLyoqKioqKioqKioqKioqKioqKiogIEJpdCBkZWZpbml0aW9uIGZvciBTRElPX0FSRyByZWdpc3RlciAgKioqKioqKioqKioqKioqKioqKi8KKyNkZWZpbmUgIFNESU9fQVJHX0NNREFSRyAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHhGRkZGRkZGRikgICAgICAgICAgICAvKiE8Q29tbWFuZCBhcmd1bWVudCAqLworCisvKioqKioqKioqKioqKioqKioqKiAgQml0IGRlZmluaXRpb24gZm9yIFNESU9fQ01EIHJlZ2lzdGVyICAqKioqKioqKioqKioqKioqKioqLworI2RlZmluZSAgU0RJT19DTURfQ01ESU5ERVggICAgICAgICAgICAgICAgICAgKCh1aW50MTZfdCkweDAwM0YpICAgICAgICAgICAgLyohPENvbW1hbmQgSW5kZXggKi8KKworI2RlZmluZSAgU0RJT19DTURfV0FJVFJFU1AgICAgICAgICAgICAgICAgICAgKCh1aW50MTZfdCkweDAwQzApICAgICAgICAgICAgLyohPFdBSVRSRVNQWzE6MF0gYml0cyAoV2FpdCBmb3IgcmVzcG9uc2UgYml0cykgKi8KKyNkZWZpbmUgIFNESU9fQ01EX1dBSVRSRVNQXzAgICAgICAgICAgICAgICAgICgodWludDE2X3QpMHgwMDQwKSAgICAgICAgICAgIC8qITwgQml0IDAgKi8KKyNkZWZpbmUgIFNESU9fQ01EX1dBSVRSRVNQXzEgICAgICAgICAgICAgICAgICgodWludDE2X3QpMHgwMDgwKSAgICAgICAgICAgIC8qITwgQml0IDEgKi8KKworI2RlZmluZSAgU0RJT19DTURfV0FJVElOVCAgICAgICAgICAgICAgICAgICAgKCh1aW50MTZfdCkweDAxMDApICAgICAgICAgICAgLyohPENQU00gV2FpdHMgZm9yIEludGVycnVwdCBSZXF1ZXN0ICovCisjZGVmaW5lICBTRElPX0NNRF9XQUlUUEVORCAgICAgICAgICAgICAgICAgICAoKHVpbnQxNl90KTB4MDIwMCkgICAgICAgICAgICAvKiE8Q1BTTSBXYWl0cyBmb3IgZW5kcyBvZiBkYXRhIHRyYW5zZmVyIChDbWRQZW5kIGludGVybmFsIHNpZ25hbCkgKi8KKyNkZWZpbmUgIFNESU9fQ01EX0NQU01FTiAgICAgICAgICAgICAgICAgICAgICgodWludDE2X3QpMHgwNDAwKSAgICAgICAgICAgIC8qITxDb21tYW5kIHBhdGggc3RhdGUgbWFjaGluZSAoQ1BTTSkgRW5hYmxlIGJpdCAqLworI2RlZmluZSAgU0RJT19DTURfU0RJT1NVU1BFTkQgICAgICAgICAgICAgICAgKCh1aW50MTZfdCkweDA4MDApICAgICAgICAgICAgLyohPFNEIEkvTyBzdXNwZW5kIGNvbW1hbmQgKi8KKyNkZWZpbmUgIFNESU9fQ01EX0VOQ01EQ09NUEwgICAgICAgICAgICAgICAgICgodWludDE2X3QpMHgxMDAwKSAgICAgICAgICAgIC8qITxFbmFibGUgQ01EIGNvbXBsZXRpb24gKi8KKyNkZWZpbmUgIFNESU9fQ01EX05JRU4gICAgICAgICAgICAgICAgICAgICAgICgodWludDE2X3QpMHgyMDAwKSAgICAgICAgICAgIC8qITxOb3QgSW50ZXJydXB0IEVuYWJsZSAqLworI2RlZmluZSAgU0RJT19DTURfQ0VBVEFDTUQgICAgICAgICAgICAgICAgICAgKCh1aW50MTZfdCkweDQwMDApICAgICAgICAgICAgLyohPENFLUFUQSBjb21tYW5kICovCisKKy8qKioqKioqKioqKioqKioqKiAgQml0IGRlZmluaXRpb24gZm9yIFNESU9fUkVTUENNRCByZWdpc3RlciAgKioqKioqKioqKioqKioqKiovCisjZGVmaW5lICBTRElPX1JFU1BDTURfUkVTUENNRCAgICAgICAgICAgICAgICAoKHVpbnQ4X3QpMHgzRikgICAgICAgICAgICAgICAvKiE8UmVzcG9uc2UgY29tbWFuZCBpbmRleCAqLworCisvKioqKioqKioqKioqKioqKioqICBCaXQgZGVmaW5pdGlvbiBmb3IgU0RJT19SRVNQMCByZWdpc3RlciAgKioqKioqKioqKioqKioqKioqLworI2RlZmluZSAgU0RJT19SRVNQMF9DQVJEU1RBVFVTMCAgICAgICAgICAgICAgKCh1aW50MzJfdCkweEZGRkZGRkZGKSAgICAgICAgLyohPENhcmQgU3RhdHVzICovCisKKy8qKioqKioqKioqKioqKioqKiogIEJpdCBkZWZpbml0aW9uIGZvciBTRElPX1JFU1AxIHJlZ2lzdGVyICAqKioqKioqKioqKioqKioqKiovCisjZGVmaW5lICBTRElPX1JFU1AxX0NBUkRTVEFUVVMxICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4RkZGRkZGRkYpICAgICAgICAvKiE8Q2FyZCBTdGF0dXMgKi8KKworLyoqKioqKioqKioqKioqKioqKiAgQml0IGRlZmluaXRpb24gZm9yIFNESU9fUkVTUDIgcmVnaXN0ZXIgICoqKioqKioqKioqKioqKioqKi8KKyNkZWZpbmUgIFNESU9fUkVTUDJfQ0FSRFNUQVRVUzIgICAgICAgICAgICAgICgodWludDMyX3QpMHhGRkZGRkZGRikgICAgICAgIC8qITxDYXJkIFN0YXR1cyAqLworCisvKioqKioqKioqKioqKioqKioqICBCaXQgZGVmaW5pdGlvbiBmb3IgU0RJT19SRVNQMyByZWdpc3RlciAgKioqKioqKioqKioqKioqKioqLworI2RlZmluZSAgU0RJT19SRVNQM19DQVJEU1RBVFVTMyAgICAgICAgICAgICAgKCh1aW50MzJfdCkweEZGRkZGRkZGKSAgICAgICAgLyohPENhcmQgU3RhdHVzICovCisKKy8qKioqKioqKioqKioqKioqKiogIEJpdCBkZWZpbml0aW9uIGZvciBTRElPX1JFU1A0IHJlZ2lzdGVyICAqKioqKioqKioqKioqKioqKiovCisjZGVmaW5lICBTRElPX1JFU1A0X0NBUkRTVEFUVVM0ICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4RkZGRkZGRkYpICAgICAgICAvKiE8Q2FyZCBTdGF0dXMgKi8KKworLyoqKioqKioqKioqKioqKioqKiAgQml0IGRlZmluaXRpb24gZm9yIFNESU9fRFRJTUVSIHJlZ2lzdGVyICAqKioqKioqKioqKioqKioqKi8KKyNkZWZpbmUgIFNESU9fRFRJTUVSX0RBVEFUSU1FICAgICAgICAgICAgICAgICgodWludDMyX3QpMHhGRkZGRkZGRikgICAgICAgIC8qITxEYXRhIHRpbWVvdXQgcGVyaW9kLiAqLworCisvKioqKioqKioqKioqKioqKioqICBCaXQgZGVmaW5pdGlvbiBmb3IgU0RJT19ETEVOIHJlZ2lzdGVyICAqKioqKioqKioqKioqKioqKioqLworI2RlZmluZSAgU0RJT19ETEVOX0RBVEFMRU5HVEggICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAxRkZGRkZGKSAgICAgICAgLyohPERhdGEgbGVuZ3RoIHZhbHVlICovCisKKy8qKioqKioqKioqKioqKioqKiogIEJpdCBkZWZpbml0aW9uIGZvciBTRElPX0RDVFJMIHJlZ2lzdGVyICAqKioqKioqKioqKioqKioqKiovCisjZGVmaW5lICBTRElPX0RDVFJMX0RURU4gICAgICAgICAgICAgICAgICAgICAoKHVpbnQxNl90KTB4MDAwMSkgICAgICAgICAgICAvKiE8RGF0YSB0cmFuc2ZlciBlbmFibGVkIGJpdCAqLworI2RlZmluZSAgU0RJT19EQ1RSTF9EVERJUiAgICAgICAgICAgICAgICAgICAgKCh1aW50MTZfdCkweDAwMDIpICAgICAgICAgICAgLyohPERhdGEgdHJhbnNmZXIgZGlyZWN0aW9uIHNlbGVjdGlvbiAqLworI2RlZmluZSAgU0RJT19EQ1RSTF9EVE1PREUgICAgICAgICAgICAgICAgICAgKCh1aW50MTZfdCkweDAwMDQpICAgICAgICAgICAgLyohPERhdGEgdHJhbnNmZXIgbW9kZSBzZWxlY3Rpb24gKi8KKyNkZWZpbmUgIFNESU9fRENUUkxfRE1BRU4gICAgICAgICAgICAgICAgICAgICgodWludDE2X3QpMHgwMDA4KSAgICAgICAgICAgIC8qITxETUEgZW5hYmxlZCBiaXQgKi8KKworI2RlZmluZSAgU0RJT19EQ1RSTF9EQkxPQ0tTSVpFICAgICAgICAgICAgICAgKCh1aW50MTZfdCkweDAwRjApICAgICAgICAgICAgLyohPERCTE9DS1NJWkVbMzowXSBiaXRzIChEYXRhIGJsb2NrIHNpemUpICovCisjZGVmaW5lICBTRElPX0RDVFJMX0RCTE9DS1NJWkVfMCAgICAgICAgICAgICAoKHVpbnQxNl90KTB4MDAxMCkgICAgICAgICAgICAvKiE8Qml0IDAgKi8KKyNkZWZpbmUgIFNESU9fRENUUkxfREJMT0NLU0laRV8xICAgICAgICAgICAgICgodWludDE2X3QpMHgwMDIwKSAgICAgICAgICAgIC8qITxCaXQgMSAqLworI2RlZmluZSAgU0RJT19EQ1RSTF9EQkxPQ0tTSVpFXzIgICAgICAgICAgICAgKCh1aW50MTZfdCkweDAwNDApICAgICAgICAgICAgLyohPEJpdCAyICovCisjZGVmaW5lICBTRElPX0RDVFJMX0RCTE9DS1NJWkVfMyAgICAgICAgICAgICAoKHVpbnQxNl90KTB4MDA4MCkgICAgICAgICAgICAvKiE8Qml0IDMgKi8KKworI2RlZmluZSAgU0RJT19EQ1RSTF9SV1NUQVJUICAgICAgICAgICAgICAgICAgKCh1aW50MTZfdCkweDAxMDApICAgICAgICAgICAgLyohPFJlYWQgd2FpdCBzdGFydCAqLworI2RlZmluZSAgU0RJT19EQ1RSTF9SV1NUT1AgICAgICAgICAgICAgICAgICAgKCh1aW50MTZfdCkweDAyMDApICAgICAgICAgICAgLyohPFJlYWQgd2FpdCBzdG9wICovCisjZGVmaW5lICBTRElPX0RDVFJMX1JXTU9EICAgICAgICAgICAgICAgICAgICAoKHVpbnQxNl90KTB4MDQwMCkgICAgICAgICAgICAvKiE8UmVhZCB3YWl0IG1vZGUgKi8KKyNkZWZpbmUgIFNESU9fRENUUkxfU0RJT0VOICAgICAgICAgICAgICAgICAgICgodWludDE2X3QpMHgwODAwKSAgICAgICAgICAgIC8qITxTRCBJL08gZW5hYmxlIGZ1bmN0aW9ucyAqLworCisvKioqKioqKioqKioqKioqKioqICBCaXQgZGVmaW5pdGlvbiBmb3IgU0RJT19EQ09VTlQgcmVnaXN0ZXIgICoqKioqKioqKioqKioqKioqLworI2RlZmluZSAgU0RJT19EQ09VTlRfREFUQUNPVU5UICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAxRkZGRkZGKSAgICAgICAgLyohPERhdGEgY291bnQgdmFsdWUgKi8KKworLyoqKioqKioqKioqKioqKioqKiAgQml0IGRlZmluaXRpb24gZm9yIFNESU9fU1RBIHJlZ2lzdGVyICAqKioqKioqKioqKioqKioqKioqKi8KKyNkZWZpbmUgIFNESU9fU1RBX0NDUkNGQUlMICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMDAwMSkgICAgICAgIC8qITxDb21tYW5kIHJlc3BvbnNlIHJlY2VpdmVkIChDUkMgY2hlY2sgZmFpbGVkKSAqLworI2RlZmluZSAgU0RJT19TVEFfRENSQ0ZBSUwgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwMDAyKSAgICAgICAgLyohPERhdGEgYmxvY2sgc2VudC9yZWNlaXZlZCAoQ1JDIGNoZWNrIGZhaWxlZCkgKi8KKyNkZWZpbmUgIFNESU9fU1RBX0NUSU1FT1VUICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMDAwNCkgICAgICAgIC8qITxDb21tYW5kIHJlc3BvbnNlIHRpbWVvdXQgKi8KKyNkZWZpbmUgIFNESU9fU1RBX0RUSU1FT1VUICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMDAwOCkgICAgICAgIC8qITxEYXRhIHRpbWVvdXQgKi8KKyNkZWZpbmUgIFNESU9fU1RBX1RYVU5ERVJSICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMDAxMCkgICAgICAgIC8qITxUcmFuc21pdCBGSUZPIHVuZGVycnVuIGVycm9yICovCisjZGVmaW5lICBTRElPX1NUQV9SWE9WRVJSICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDAwMjApICAgICAgICAvKiE8UmVjZWl2ZWQgRklGTyBvdmVycnVuIGVycm9yICovCisjZGVmaW5lICBTRElPX1NUQV9DTURSRU5EICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDAwNDApICAgICAgICAvKiE8Q29tbWFuZCByZXNwb25zZSByZWNlaXZlZCAoQ1JDIGNoZWNrIHBhc3NlZCkgKi8KKyNkZWZpbmUgIFNESU9fU1RBX0NNRFNFTlQgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMDA4MCkgICAgICAgIC8qITxDb21tYW5kIHNlbnQgKG5vIHJlc3BvbnNlIHJlcXVpcmVkKSAqLworI2RlZmluZSAgU0RJT19TVEFfREFUQUVORCAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwMTAwKSAgICAgICAgLyohPERhdGEgZW5kIChkYXRhIGNvdW50ZXIsIFNESURDT1VOVCwgaXMgemVybykgKi8KKyNkZWZpbmUgIFNESU9fU1RBX1NUQklURVJSICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMDIwMCkgICAgICAgIC8qITxTdGFydCBiaXQgbm90IGRldGVjdGVkIG9uIGFsbCBkYXRhIHNpZ25hbHMgaW4gd2lkZSBidXMgbW9kZSAqLworI2RlZmluZSAgU0RJT19TVEFfREJDS0VORCAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwNDAwKSAgICAgICAgLyohPERhdGEgYmxvY2sgc2VudC9yZWNlaXZlZCAoQ1JDIGNoZWNrIHBhc3NlZCkgKi8KKyNkZWZpbmUgIFNESU9fU1RBX0NNREFDVCAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMDgwMCkgICAgICAgIC8qITxDb21tYW5kIHRyYW5zZmVyIGluIHByb2dyZXNzICovCisjZGVmaW5lICBTRElPX1NUQV9UWEFDVCAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDEwMDApICAgICAgICAvKiE8RGF0YSB0cmFuc21pdCBpbiBwcm9ncmVzcyAqLworI2RlZmluZSAgU0RJT19TVEFfUlhBQ1QgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAyMDAwKSAgICAgICAgLyohPERhdGEgcmVjZWl2ZSBpbiBwcm9ncmVzcyAqLworI2RlZmluZSAgU0RJT19TVEFfVFhGSUZPSEUgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDA0MDAwKSAgICAgICAgLyohPFRyYW5zbWl0IEZJRk8gSGFsZiBFbXB0eTogYXQgbGVhc3QgOCB3b3JkcyBjYW4gYmUgd3JpdHRlbiBpbnRvIHRoZSBGSUZPICovCisjZGVmaW5lICBTRElPX1NUQV9SWEZJRk9IRiAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDgwMDApICAgICAgICAvKiE8UmVjZWl2ZSBGSUZPIEhhbGYgRnVsbDogdGhlcmUgYXJlIGF0IGxlYXN0IDggd29yZHMgaW4gdGhlIEZJRk8gKi8KKyNkZWZpbmUgIFNESU9fU1RBX1RYRklGT0YgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAxMDAwMCkgICAgICAgIC8qITxUcmFuc21pdCBGSUZPIGZ1bGwgKi8KKyNkZWZpbmUgIFNESU9fU1RBX1JYRklGT0YgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAyMDAwMCkgICAgICAgIC8qITxSZWNlaXZlIEZJRk8gZnVsbCAqLworI2RlZmluZSAgU0RJT19TVEFfVFhGSUZPRSAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDQwMDAwKSAgICAgICAgLyohPFRyYW5zbWl0IEZJRk8gZW1wdHkgKi8KKyNkZWZpbmUgIFNESU9fU1RBX1JYRklGT0UgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDA4MDAwMCkgICAgICAgIC8qITxSZWNlaXZlIEZJRk8gZW1wdHkgKi8KKyNkZWZpbmUgIFNESU9fU1RBX1RYREFWTCAgICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDEwMDAwMCkgICAgICAgIC8qITxEYXRhIGF2YWlsYWJsZSBpbiB0cmFuc21pdCBGSUZPICovCisjZGVmaW5lICBTRElPX1NUQV9SWERBVkwgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAyMDAwMDApICAgICAgICAvKiE8RGF0YSBhdmFpbGFibGUgaW4gcmVjZWl2ZSBGSUZPICovCisjZGVmaW5lICBTRElPX1NUQV9TRElPSVQgICAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDA0MDAwMDApICAgICAgICAvKiE8U0RJTyBpbnRlcnJ1cHQgcmVjZWl2ZWQgKi8KKyNkZWZpbmUgIFNESU9fU1RBX0NFQVRBRU5EICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDgwMDAwMCkgICAgICAgIC8qITxDRS1BVEEgY29tbWFuZCBjb21wbGV0aW9uIHNpZ25hbCByZWNlaXZlZCBmb3IgQ01ENjEgKi8KKworLyoqKioqKioqKioqKioqKioqKiogIEJpdCBkZWZpbml0aW9uIGZvciBTRElPX0lDUiByZWdpc3RlciAgKioqKioqKioqKioqKioqKioqKi8KKyNkZWZpbmUgIFNESU9fSUNSX0NDUkNGQUlMQyAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMDAwMSkgICAgICAgIC8qITxDQ1JDRkFJTCBmbGFnIGNsZWFyIGJpdCAqLworI2RlZmluZSAgU0RJT19JQ1JfRENSQ0ZBSUxDICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwMDAyKSAgICAgICAgLyohPERDUkNGQUlMIGZsYWcgY2xlYXIgYml0ICovCisjZGVmaW5lICBTRElPX0lDUl9DVElNRU9VVEMgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDAwMDQpICAgICAgICAvKiE8Q1RJTUVPVVQgZmxhZyBjbGVhciBiaXQgKi8KKyNkZWZpbmUgIFNESU9fSUNSX0RUSU1FT1VUQyAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMDAwOCkgICAgICAgIC8qITxEVElNRU9VVCBmbGFnIGNsZWFyIGJpdCAqLworI2RlZmluZSAgU0RJT19JQ1JfVFhVTkRFUlJDICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwMDEwKSAgICAgICAgLyohPFRYVU5ERVJSIGZsYWcgY2xlYXIgYml0ICovCisjZGVmaW5lICBTRElPX0lDUl9SWE9WRVJSQyAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDAwMjApICAgICAgICAvKiE8UlhPVkVSUiBmbGFnIGNsZWFyIGJpdCAqLworI2RlZmluZSAgU0RJT19JQ1JfQ01EUkVOREMgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwMDQwKSAgICAgICAgLyohPENNRFJFTkQgZmxhZyBjbGVhciBiaXQgKi8KKyNkZWZpbmUgIFNESU9fSUNSX0NNRFNFTlRDICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMDA4MCkgICAgICAgIC8qITxDTURTRU5UIGZsYWcgY2xlYXIgYml0ICovCisjZGVmaW5lICBTRElPX0lDUl9EQVRBRU5EQyAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDAxMDApICAgICAgICAvKiE8REFUQUVORCBmbGFnIGNsZWFyIGJpdCAqLworI2RlZmluZSAgU0RJT19JQ1JfU1RCSVRFUlJDICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwMjAwKSAgICAgICAgLyohPFNUQklURVJSIGZsYWcgY2xlYXIgYml0ICovCisjZGVmaW5lICBTRElPX0lDUl9EQkNLRU5EQyAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDA0MDApICAgICAgICAvKiE8REJDS0VORCBmbGFnIGNsZWFyIGJpdCAqLworI2RlZmluZSAgU0RJT19JQ1JfU0RJT0lUQyAgICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwNDAwMDAwKSAgICAgICAgLyohPFNESU9JVCBmbGFnIGNsZWFyIGJpdCAqLworI2RlZmluZSAgU0RJT19JQ1JfQ0VBVEFFTkRDICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwODAwMDAwKSAgICAgICAgLyohPENFQVRBRU5EIGZsYWcgY2xlYXIgYml0ICovCisKKy8qKioqKioqKioqKioqKioqKiogIEJpdCBkZWZpbml0aW9uIGZvciBTRElPX01BU0sgcmVnaXN0ZXIgICoqKioqKioqKioqKioqKioqKiovCisjZGVmaW5lICBTRElPX01BU0tfQ0NSQ0ZBSUxJRSAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDAwMDEpICAgICAgICAvKiE8Q29tbWFuZCBDUkMgRmFpbCBJbnRlcnJ1cHQgRW5hYmxlICovCisjZGVmaW5lICBTRElPX01BU0tfRENSQ0ZBSUxJRSAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDAwMDIpICAgICAgICAvKiE8RGF0YSBDUkMgRmFpbCBJbnRlcnJ1cHQgRW5hYmxlICovCisjZGVmaW5lICBTRElPX01BU0tfQ1RJTUVPVVRJRSAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDAwMDQpICAgICAgICAvKiE8Q29tbWFuZCBUaW1lT3V0IEludGVycnVwdCBFbmFibGUgKi8KKyNkZWZpbmUgIFNESU9fTUFTS19EVElNRU9VVElFICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMDAwOCkgICAgICAgIC8qITxEYXRhIFRpbWVPdXQgSW50ZXJydXB0IEVuYWJsZSAqLworI2RlZmluZSAgU0RJT19NQVNLX1RYVU5ERVJSSUUgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwMDEwKSAgICAgICAgLyohPFR4IEZJRk8gVW5kZXJSdW4gRXJyb3IgSW50ZXJydXB0IEVuYWJsZSAqLworI2RlZmluZSAgU0RJT19NQVNLX1JYT1ZFUlJJRSAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwMDIwKSAgICAgICAgLyohPFJ4IEZJRk8gT3ZlclJ1biBFcnJvciBJbnRlcnJ1cHQgRW5hYmxlICovCisjZGVmaW5lICBTRElPX01BU0tfQ01EUkVORElFICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDAwNDApICAgICAgICAvKiE8Q29tbWFuZCBSZXNwb25zZSBSZWNlaXZlZCBJbnRlcnJ1cHQgRW5hYmxlICovCisjZGVmaW5lICBTRElPX01BU0tfQ01EU0VOVElFICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDAwODApICAgICAgICAvKiE8Q29tbWFuZCBTZW50IEludGVycnVwdCBFbmFibGUgKi8KKyNkZWZpbmUgIFNESU9fTUFTS19EQVRBRU5ESUUgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMDEwMCkgICAgICAgIC8qITxEYXRhIEVuZCBJbnRlcnJ1cHQgRW5hYmxlICovCisjZGVmaW5lICBTRElPX01BU0tfU1RCSVRFUlJJRSAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDAyMDApICAgICAgICAvKiE8U3RhcnQgQml0IEVycm9yIEludGVycnVwdCBFbmFibGUgKi8KKyNkZWZpbmUgIFNESU9fTUFTS19EQkNLRU5ESUUgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMDQwMCkgICAgICAgIC8qITxEYXRhIEJsb2NrIEVuZCBJbnRlcnJ1cHQgRW5hYmxlICovCisjZGVmaW5lICBTRElPX01BU0tfQ01EQUNUSUUgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDA4MDApICAgICAgICAvKiE8Q0NvbW1hbmQgQWN0aW5nIEludGVycnVwdCBFbmFibGUgKi8KKyNkZWZpbmUgIFNESU9fTUFTS19UWEFDVElFICAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMTAwMCkgICAgICAgIC8qITxEYXRhIFRyYW5zbWl0IEFjdGluZyBJbnRlcnJ1cHQgRW5hYmxlICovCisjZGVmaW5lICBTRElPX01BU0tfUlhBQ1RJRSAgICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDIwMDApICAgICAgICAvKiE8RGF0YSByZWNlaXZlIGFjdGluZyBpbnRlcnJ1cHQgZW5hYmxlZCAqLworI2RlZmluZSAgU0RJT19NQVNLX1RYRklGT0hFSUUgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDA0MDAwKSAgICAgICAgLyohPFR4IEZJRk8gSGFsZiBFbXB0eSBpbnRlcnJ1cHQgRW5hYmxlICovCisjZGVmaW5lICBTRElPX01BU0tfUlhGSUZPSEZJRSAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDgwMDApICAgICAgICAvKiE8UnggRklGTyBIYWxmIEZ1bGwgaW50ZXJydXB0IEVuYWJsZSAqLworI2RlZmluZSAgU0RJT19NQVNLX1RYRklGT0ZJRSAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDEwMDAwKSAgICAgICAgLyohPFR4IEZJRk8gRnVsbCBpbnRlcnJ1cHQgRW5hYmxlICovCisjZGVmaW5lICBTRElPX01BU0tfUlhGSUZPRklFICAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMjAwMDApICAgICAgICAvKiE8UnggRklGTyBGdWxsIGludGVycnVwdCBFbmFibGUgKi8KKyNkZWZpbmUgIFNESU9fTUFTS19UWEZJRk9FSUUgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDA0MDAwMCkgICAgICAgIC8qITxUeCBGSUZPIEVtcHR5IGludGVycnVwdCBFbmFibGUgKi8KKyNkZWZpbmUgIFNESU9fTUFTS19SWEZJRk9FSUUgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDA4MDAwMCkgICAgICAgIC8qITxSeCBGSUZPIEVtcHR5IGludGVycnVwdCBFbmFibGUgKi8KKyNkZWZpbmUgIFNESU9fTUFTS19UWERBVkxJRSAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDEwMDAwMCkgICAgICAgIC8qITxEYXRhIGF2YWlsYWJsZSBpbiBUeCBGSUZPIGludGVycnVwdCBFbmFibGUgKi8KKyNkZWZpbmUgIFNESU9fTUFTS19SWERBVkxJRSAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDIwMDAwMCkgICAgICAgIC8qITxEYXRhIGF2YWlsYWJsZSBpbiBSeCBGSUZPIGludGVycnVwdCBFbmFibGUgKi8KKyNkZWZpbmUgIFNESU9fTUFTS19TRElPSVRJRSAgICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDQwMDAwMCkgICAgICAgIC8qITxTRElPIE1vZGUgSW50ZXJydXB0IFJlY2VpdmVkIGludGVycnVwdCBFbmFibGUgKi8KKyNkZWZpbmUgIFNESU9fTUFTS19DRUFUQUVORElFICAgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDgwMDAwMCkgICAgICAgIC8qITxDRS1BVEEgY29tbWFuZCBjb21wbGV0aW9uIHNpZ25hbCByZWNlaXZlZCBJbnRlcnJ1cHQgRW5hYmxlICovCisKKy8qKioqKioqKioqKioqKioqKiAgQml0IGRlZmluaXRpb24gZm9yIFNESU9fRklGT0NOVCByZWdpc3RlciAgKioqKioqKioqKioqKioqKiovCisjZGVmaW5lICBTRElPX0ZJRk9DTlRfRklGT0NPVU5UICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDBGRkZGRkYpICAgICAgICAvKiE8UmVtYWluaW5nIG51bWJlciBvZiB3b3JkcyB0byBiZSB3cml0dGVuIHRvIG9yIHJlYWQgZnJvbSB0aGUgRklGTyAqLworCisvKioqKioqKioqKioqKioqKioqICBCaXQgZGVmaW5pdGlvbiBmb3IgU0RJT19GSUZPIHJlZ2lzdGVyICAqKioqKioqKioqKioqKioqKioqLworI2RlZmluZSAgU0RJT19GSUZPX0ZJRk9EQVRBICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweEZGRkZGRkZGKSAgICAgICAgLyohPFJlY2VpdmUgYW5kIHRyYW5zbWl0IEZJRk8gZGF0YSAqLworCisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLworLyogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKi8KKy8qICAgICAgICAgICAgICAgICAgICAgICAgU2VyaWFsIFBlcmlwaGVyYWwgSW50ZXJmYWNlICAgICAgICAgICAgICAgICAgICAgICAgICovCisvKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqLworLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KKy8qKioqKioqKioqKioqKioqKioqICBCaXQgZGVmaW5pdGlvbiBmb3IgU1BJX0NSMSByZWdpc3RlciAgKioqKioqKioqKioqKioqKioqKiovCisjZGVmaW5lICBTUElfQ1IxX0NQSEEgICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQxNl90KTB4MDAwMSkgICAgICAgICAgICAvKiE8Q2xvY2sgUGhhc2UgKi8KKyNkZWZpbmUgIFNQSV9DUjFfQ1BPTCAgICAgICAgICAgICAgICAgICAgICAgICgodWludDE2X3QpMHgwMDAyKSAgICAgICAgICAgIC8qITxDbG9jayBQb2xhcml0eSAqLworI2RlZmluZSAgU1BJX0NSMV9NU1RSICAgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MTZfdCkweDAwMDQpICAgICAgICAgICAgLyohPE1hc3RlciBTZWxlY3Rpb24gKi8KKworI2RlZmluZSAgU1BJX0NSMV9CUiAgICAgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MTZfdCkweDAwMzgpICAgICAgICAgICAgLyohPEJSWzI6MF0gYml0cyAoQmF1ZCBSYXRlIENvbnRyb2wpICovCisjZGVmaW5lICBTUElfQ1IxX0JSXzAgICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQxNl90KTB4MDAwOCkgICAgICAgICAgICAvKiE8Qml0IDAgKi8KKyNkZWZpbmUgIFNQSV9DUjFfQlJfMSAgICAgICAgICAgICAgICAgICAgICAgICgodWludDE2X3QpMHgwMDEwKSAgICAgICAgICAgIC8qITxCaXQgMSAqLworI2RlZmluZSAgU1BJX0NSMV9CUl8yICAgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MTZfdCkweDAwMjApICAgICAgICAgICAgLyohPEJpdCAyICovCisKKyNkZWZpbmUgIFNQSV9DUjFfU1BFICAgICAgICAgICAgICAgICAgICAgICAgICgodWludDE2X3QpMHgwMDQwKSAgICAgICAgICAgIC8qITxTUEkgRW5hYmxlICovCisjZGVmaW5lICBTUElfQ1IxX0xTQkZJUlNUICAgICAgICAgICAgICAgICAgICAoKHVpbnQxNl90KTB4MDA4MCkgICAgICAgICAgICAvKiE8RnJhbWUgRm9ybWF0ICovCisjZGVmaW5lICBTUElfQ1IxX1NTSSAgICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQxNl90KTB4MDEwMCkgICAgICAgICAgICAvKiE8SW50ZXJuYWwgc2xhdmUgc2VsZWN0ICovCisjZGVmaW5lICBTUElfQ1IxX1NTTSAgICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQxNl90KTB4MDIwMCkgICAgICAgICAgICAvKiE8U29mdHdhcmUgc2xhdmUgbWFuYWdlbWVudCAqLworI2RlZmluZSAgU1BJX0NSMV9SWE9OTFkgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MTZfdCkweDA0MDApICAgICAgICAgICAgLyohPFJlY2VpdmUgb25seSAqLworI2RlZmluZSAgU1BJX0NSMV9ERkYgICAgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MTZfdCkweDA4MDApICAgICAgICAgICAgLyohPERhdGEgRnJhbWUgRm9ybWF0ICovCisjZGVmaW5lICBTUElfQ1IxX0NSQ05FWFQgICAgICAgICAgICAgICAgICAgICAoKHVpbnQxNl90KTB4MTAwMCkgICAgICAgICAgICAvKiE8VHJhbnNtaXQgQ1JDIG5leHQgKi8KKyNkZWZpbmUgIFNQSV9DUjFfQ1JDRU4gICAgICAgICAgICAgICAgICAgICAgICgodWludDE2X3QpMHgyMDAwKSAgICAgICAgICAgIC8qITxIYXJkd2FyZSBDUkMgY2FsY3VsYXRpb24gZW5hYmxlICovCisjZGVmaW5lICBTUElfQ1IxX0JJRElPRSAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQxNl90KTB4NDAwMCkgICAgICAgICAgICAvKiE8T3V0cHV0IGVuYWJsZSBpbiBiaWRpcmVjdGlvbmFsIG1vZGUgKi8KKyNkZWZpbmUgIFNQSV9DUjFfQklESU1PREUgICAgICAgICAgICAgICAgICAgICgodWludDE2X3QpMHg4MDAwKSAgICAgICAgICAgIC8qITxCaWRpcmVjdGlvbmFsIGRhdGEgbW9kZSBlbmFibGUgKi8KKworLyoqKioqKioqKioqKioqKioqKiogIEJpdCBkZWZpbml0aW9uIGZvciBTUElfQ1IyIHJlZ2lzdGVyICAqKioqKioqKioqKioqKioqKioqKi8KKyNkZWZpbmUgIFNQSV9DUjJfUlhETUFFTiAgICAgICAgICAgICAgICAgICAgICgodWludDhfdCkweDAxKSAgICAgICAgICAgICAgIC8qITxSeCBCdWZmZXIgRE1BIEVuYWJsZSAqLworI2RlZmluZSAgU1BJX0NSMl9UWERNQUVOICAgICAgICAgICAgICAgICAgICAgKCh1aW50OF90KTB4MDIpICAgICAgICAgICAgICAgLyohPFR4IEJ1ZmZlciBETUEgRW5hYmxlICovCisjZGVmaW5lICBTUElfQ1IyX1NTT0UgICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQ4X3QpMHgwNCkgICAgICAgICAgICAgICAvKiE8U1MgT3V0cHV0IEVuYWJsZSAqLworI2RlZmluZSAgU1BJX0NSMl9FUlJJRSAgICAgICAgICAgICAgICAgICAgICAgKCh1aW50OF90KTB4MjApICAgICAgICAgICAgICAgLyohPEVycm9yIEludGVycnVwdCBFbmFibGUgKi8KKyNkZWZpbmUgIFNQSV9DUjJfUlhORUlFICAgICAgICAgICAgICAgICAgICAgICgodWludDhfdCkweDQwKSAgICAgICAgICAgICAgIC8qITxSWCBidWZmZXIgTm90IEVtcHR5IEludGVycnVwdCBFbmFibGUgKi8KKyNkZWZpbmUgIFNQSV9DUjJfVFhFSUUgICAgICAgICAgICAgICAgICAgICAgICgodWludDhfdCkweDgwKSAgICAgICAgICAgICAgIC8qITxUeCBidWZmZXIgRW1wdHkgSW50ZXJydXB0IEVuYWJsZSAqLworCisvKioqKioqKioqKioqKioqKioqKiogIEJpdCBkZWZpbml0aW9uIGZvciBTUElfU1IgcmVnaXN0ZXIgICoqKioqKioqKioqKioqKioqKioqLworI2RlZmluZSAgU1BJX1NSX1JYTkUgICAgICAgICAgICAgICAgICAgICAgICAgKCh1aW50OF90KTB4MDEpICAgICAgICAgICAgICAgLyohPFJlY2VpdmUgYnVmZmVyIE5vdCBFbXB0eSAqLworI2RlZmluZSAgU1BJX1NSX1RYRSAgICAgICAgICAgICAgICAgICAgICAgICAgKCh1aW50OF90KTB4MDIpICAgICAgICAgICAgICAgLyohPFRyYW5zbWl0IGJ1ZmZlciBFbXB0eSAqLworI2RlZmluZSAgU1BJX1NSX0NIU0lERSAgICAgICAgICAgICAgICAgICAgICAgKCh1aW50OF90KTB4MDQpICAgICAgICAgICAgICAgLyohPENoYW5uZWwgc2lkZSAqLworI2RlZmluZSAgU1BJX1NSX1VEUiAgICAgICAgICAgICAgICAgICAgICAgICAgKCh1aW50OF90KTB4MDgpICAgICAgICAgICAgICAgLyohPFVuZGVycnVuIGZsYWcgKi8KKyNkZWZpbmUgIFNQSV9TUl9DUkNFUlIgICAgICAgICAgICAgICAgICAgICAgICgodWludDhfdCkweDEwKSAgICAgICAgICAgICAgIC8qITxDUkMgRXJyb3IgZmxhZyAqLworI2RlZmluZSAgU1BJX1NSX01PREYgICAgICAgICAgICAgICAgICAgICAgICAgKCh1aW50OF90KTB4MjApICAgICAgICAgICAgICAgLyohPE1vZGUgZmF1bHQgKi8KKyNkZWZpbmUgIFNQSV9TUl9PVlIgICAgICAgICAgICAgICAgICAgICAgICAgICgodWludDhfdCkweDQwKSAgICAgICAgICAgICAgIC8qITxPdmVycnVuIGZsYWcgKi8KKyNkZWZpbmUgIFNQSV9TUl9CU1kgICAgICAgICAgICAgICAgICAgICAgICAgICgodWludDhfdCkweDgwKSAgICAgICAgICAgICAgIC8qITxCdXN5IGZsYWcgKi8KKworLyoqKioqKioqKioqKioqKioqKioqICBCaXQgZGVmaW5pdGlvbiBmb3IgU1BJX0RSIHJlZ2lzdGVyICAqKioqKioqKioqKioqKioqKioqKi8KKyNkZWZpbmUgIFNQSV9EUl9EUiAgICAgICAgICAgICAgICAgICAgICAgICAgICgodWludDE2X3QpMHhGRkZGKSAgICAgICAgICAgIC8qITxEYXRhIFJlZ2lzdGVyICovCisKKy8qKioqKioqKioqKioqKioqKioqICBCaXQgZGVmaW5pdGlvbiBmb3IgU1BJX0NSQ1BSIHJlZ2lzdGVyICAqKioqKioqKioqKioqKioqKiovCisjZGVmaW5lICBTUElfQ1JDUFJfQ1JDUE9MWSAgICAgICAgICAgICAgICAgICAoKHVpbnQxNl90KTB4RkZGRikgICAgICAgICAgICAvKiE8Q1JDIHBvbHlub21pYWwgcmVnaXN0ZXIgKi8KKworLyoqKioqKioqKioqKioqKioqKiAgQml0IGRlZmluaXRpb24gZm9yIFNQSV9SWENSQ1IgcmVnaXN0ZXIgICoqKioqKioqKioqKioqKioqKi8KKyNkZWZpbmUgIFNQSV9SWENSQ1JfUlhDUkMgICAgICAgICAgICAgICAgICAgICgodWludDE2X3QpMHhGRkZGKSAgICAgICAgICAgIC8qITxSeCBDUkMgUmVnaXN0ZXIgKi8KKworLyoqKioqKioqKioqKioqKioqKiAgQml0IGRlZmluaXRpb24gZm9yIFNQSV9UWENSQ1IgcmVnaXN0ZXIgICoqKioqKioqKioqKioqKioqKi8KKyNkZWZpbmUgIFNQSV9UWENSQ1JfVFhDUkMgICAgICAgICAgICAgICAgICAgICgodWludDE2X3QpMHhGRkZGKSAgICAgICAgICAgIC8qITxUeCBDUkMgUmVnaXN0ZXIgKi8KKworLyoqKioqKioqKioqKioqKioqKiAgQml0IGRlZmluaXRpb24gZm9yIFNQSV9JMlNDRkdSIHJlZ2lzdGVyICAqKioqKioqKioqKioqKioqKi8KKyNkZWZpbmUgIFNQSV9JMlNDRkdSX0NITEVOICAgICAgICAgICAgICAgICAgICgodWludDE2X3QpMHgwMDAxKSAgICAgICAgICAgIC8qITxDaGFubmVsIGxlbmd0aCAobnVtYmVyIG9mIGJpdHMgcGVyIGF1ZGlvIGNoYW5uZWwpICovCisKKyNkZWZpbmUgIFNQSV9JMlNDRkdSX0RBVExFTiAgICAgICAgICAgICAgICAgICgodWludDE2X3QpMHgwMDA2KSAgICAgICAgICAgIC8qITxEQVRMRU5bMTowXSBiaXRzIChEYXRhIGxlbmd0aCB0byBiZSB0cmFuc2ZlcnJlZCkgKi8KKyNkZWZpbmUgIFNQSV9JMlNDRkdSX0RBVExFTl8wICAgICAgICAgICAgICAgICgodWludDE2X3QpMHgwMDAyKSAgICAgICAgICAgIC8qITxCaXQgMCAqLworI2RlZmluZSAgU1BJX0kyU0NGR1JfREFUTEVOXzEgICAgICAgICAgICAgICAgKCh1aW50MTZfdCkweDAwMDQpICAgICAgICAgICAgLyohPEJpdCAxICovCisKKyNkZWZpbmUgIFNQSV9JMlNDRkdSX0NLUE9MICAgICAgICAgICAgICAgICAgICgodWludDE2X3QpMHgwMDA4KSAgICAgICAgICAgIC8qITxzdGVhZHkgc3RhdGUgY2xvY2sgcG9sYXJpdHkgKi8KKworI2RlZmluZSAgU1BJX0kyU0NGR1JfSTJTU1REICAgICAgICAgICAgICAgICAgKCh1aW50MTZfdCkweDAwMzApICAgICAgICAgICAgLyohPEkyU1NURFsxOjBdIGJpdHMgKEkyUyBzdGFuZGFyZCBzZWxlY3Rpb24pICovCisjZGVmaW5lICBTUElfSTJTQ0ZHUl9JMlNTVERfMCAgICAgICAgICAgICAgICAoKHVpbnQxNl90KTB4MDAxMCkgICAgICAgICAgICAvKiE8Qml0IDAgKi8KKyNkZWZpbmUgIFNQSV9JMlNDRkdSX0kyU1NURF8xICAgICAgICAgICAgICAgICgodWludDE2X3QpMHgwMDIwKSAgICAgICAgICAgIC8qITxCaXQgMSAqLworCisjZGVmaW5lICBTUElfSTJTQ0ZHUl9QQ01TWU5DICAgICAgICAgICAgICAgICAoKHVpbnQxNl90KTB4MDA4MCkgICAgICAgICAgICAvKiE8UENNIGZyYW1lIHN5bmNocm9uaXphdGlvbiAqLworCisjZGVmaW5lICBTUElfSTJTQ0ZHUl9JMlNDRkcgICAgICAgICAgICAgICAgICAoKHVpbnQxNl90KTB4MDMwMCkgICAgICAgICAgICAvKiE8STJTQ0ZHWzE6MF0gYml0cyAoSTJTIGNvbmZpZ3VyYXRpb24gbW9kZSkgKi8KKyNkZWZpbmUgIFNQSV9JMlNDRkdSX0kyU0NGR18wICAgICAgICAgICAgICAgICgodWludDE2X3QpMHgwMTAwKSAgICAgICAgICAgIC8qITxCaXQgMCAqLworI2RlZmluZSAgU1BJX0kyU0NGR1JfSTJTQ0ZHXzEgICAgICAgICAgICAgICAgKCh1aW50MTZfdCkweDAyMDApICAgICAgICAgICAgLyohPEJpdCAxICovCisKKyNkZWZpbmUgIFNQSV9JMlNDRkdSX0kyU0UgICAgICAgICAgICAgICAgICAgICgodWludDE2X3QpMHgwNDAwKSAgICAgICAgICAgIC8qITxJMlMgRW5hYmxlICovCisjZGVmaW5lICBTUElfSTJTQ0ZHUl9JMlNNT0QgICAgICAgICAgICAgICAgICAoKHVpbnQxNl90KTB4MDgwMCkgICAgICAgICAgICAvKiE8STJTIG1vZGUgc2VsZWN0aW9uICovCisKKy8qKioqKioqKioqKioqKioqKiogIEJpdCBkZWZpbml0aW9uIGZvciBTUElfSTJTUFIgcmVnaXN0ZXIgICoqKioqKioqKioqKioqKioqKiovCisjZGVmaW5lICBTUElfSTJTUFJfSTJTRElWICAgICAgICAgICAgICAgICAgICAoKHVpbnQxNl90KTB4MDBGRikgICAgICAgICAgICAvKiE8STJTIExpbmVhciBwcmVzY2FsZXIgKi8KKyNkZWZpbmUgIFNQSV9JMlNQUl9PREQgICAgICAgICAgICAgICAgICAgICAgICgodWludDE2X3QpMHgwMTAwKSAgICAgICAgICAgIC8qITxPZGQgZmFjdG9yIGZvciB0aGUgcHJlc2NhbGVyICovCisjZGVmaW5lICBTUElfSTJTUFJfTUNLT0UgICAgICAgICAgICAgICAgICAgICAoKHVpbnQxNl90KTB4MDIwMCkgICAgICAgICAgICAvKiE8TWFzdGVyIENsb2NrIE91dHB1dCBFbmFibGUgKi8KKworLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KKy8qICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICovCisvKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFNZU0NGRyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqLworLyogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKi8KKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCisvKioqKioqKioqKioqKioqKioqICBCaXQgZGVmaW5pdGlvbiBmb3IgU1lTQ0ZHX01FTVJNUCByZWdpc3RlciAgKioqKioqKioqKioqKioqLyAgCisjZGVmaW5lIFNZU0NGR19NRU1STVBfTUVNX01PREUgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwMDAzKSAvKiE8U1lTQ0ZHX01lbW9yeSBSZW1hcCBDb25maWcgKi8KKyNkZWZpbmUgU1lTQ0ZHX01FTVJNUF9NRU1fTU9ERV8wICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDAwMDEpCisjZGVmaW5lIFNZU0NGR19NRU1STVBfTUVNX01PREVfMSAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwMDAyKQorCisvKioqKioqKioqKioqKioqKioqICBCaXQgZGVmaW5pdGlvbiBmb3IgU1lTQ0ZHX1BNQyByZWdpc3RlciAgKioqKioqKioqKioqKioqKioqLworI2RlZmluZSBTWVNDRkdfUE1DX01JSV9STUlJICAgICAgICAgICAgKCh1aW50MTZfdCkweDAwODApIC8qITxFdGhlcm5ldCBQSFkgaW50ZXJmYWNlIHNlbGVjdGlvbiAqLworCisvKioqKioqKioqKioqKioqKiogIEJpdCBkZWZpbml0aW9uIGZvciBTWVNDRkdfRVhUSUNSMSByZWdpc3RlciAgKioqKioqKioqKioqKioqLworI2RlZmluZSBTWVNDRkdfRVhUSUNSMV9FWFRJMCAgICAgICAgICAgICgodWludDE2X3QpMHgwMDBGKSAvKiE8RVhUSSAwIGNvbmZpZ3VyYXRpb24gKi8KKyNkZWZpbmUgU1lTQ0ZHX0VYVElDUjFfRVhUSTEgICAgICAgICAgICAoKHVpbnQxNl90KTB4MDBGMCkgLyohPEVYVEkgMSBjb25maWd1cmF0aW9uICovCisjZGVmaW5lIFNZU0NGR19FWFRJQ1IxX0VYVEkyICAgICAgICAgICAgKCh1aW50MTZfdCkweDBGMDApIC8qITxFWFRJIDIgY29uZmlndXJhdGlvbiAqLworI2RlZmluZSBTWVNDRkdfRVhUSUNSMV9FWFRJMyAgICAgICAgICAgICgodWludDE2X3QpMHhGMDAwKSAvKiE8RVhUSSAzIGNvbmZpZ3VyYXRpb24gKi8KKy8qKiAKKyAgKiBAYnJpZWYgICBFWFRJMCBjb25maWd1cmF0aW9uICAKKyAgKi8gCisjZGVmaW5lIFNZU0NGR19FWFRJQ1IxX0VYVEkwX1BBICAgICAgICAgKCh1aW50MTZfdCkweDAwMDApIC8qITxQQVswXSBwaW4gKi8KKyNkZWZpbmUgU1lTQ0ZHX0VYVElDUjFfRVhUSTBfUEIgICAgICAgICAoKHVpbnQxNl90KTB4MDAwMSkgLyohPFBCWzBdIHBpbiAqLworI2RlZmluZSBTWVNDRkdfRVhUSUNSMV9FWFRJMF9QQyAgICAgICAgICgodWludDE2X3QpMHgwMDAyKSAvKiE8UENbMF0gcGluICovCisjZGVmaW5lIFNZU0NGR19FWFRJQ1IxX0VYVEkwX1BEICAgICAgICAgKCh1aW50MTZfdCkweDAwMDMpIC8qITxQRFswXSBwaW4gKi8KKyNkZWZpbmUgU1lTQ0ZHX0VYVElDUjFfRVhUSTBfUEUgICAgICAgICAoKHVpbnQxNl90KTB4MDAwNCkgLyohPFBFWzBdIHBpbiAqLworI2RlZmluZSBTWVNDRkdfRVhUSUNSMV9FWFRJMF9QRiAgICAgICAgICgodWludDE2X3QpMHgwMDA1KSAvKiE8UEZbMF0gcGluICovCisjZGVmaW5lIFNZU0NGR19FWFRJQ1IxX0VYVEkwX1BHICAgICAgICAgKCh1aW50MTZfdCkweDAwMDYpIC8qITxQR1swXSBwaW4gKi8KKyNkZWZpbmUgU1lTQ0ZHX0VYVElDUjFfRVhUSTBfUEggICAgICAgICAoKHVpbnQxNl90KTB4MDAwNykgLyohPFBIWzBdIHBpbiAqLworI2RlZmluZSBTWVNDRkdfRVhUSUNSMV9FWFRJMF9QSSAgICAgICAgICgodWludDE2X3QpMHgwMDA4KSAvKiE8UElbMF0gcGluICovCisvKiogCisgICogQGJyaWVmICAgRVhUSTEgY29uZmlndXJhdGlvbiAgCisgICovIAorI2RlZmluZSBTWVNDRkdfRVhUSUNSMV9FWFRJMV9QQSAgICAgICAgICgodWludDE2X3QpMHgwMDAwKSAvKiE8UEFbMV0gcGluICovCisjZGVmaW5lIFNZU0NGR19FWFRJQ1IxX0VYVEkxX1BCICAgICAgICAgKCh1aW50MTZfdCkweDAwMTApIC8qITxQQlsxXSBwaW4gKi8KKyNkZWZpbmUgU1lTQ0ZHX0VYVElDUjFfRVhUSTFfUEMgICAgICAgICAoKHVpbnQxNl90KTB4MDAyMCkgLyohPFBDWzFdIHBpbiAqLworI2RlZmluZSBTWVNDRkdfRVhUSUNSMV9FWFRJMV9QRCAgICAgICAgICgodWludDE2X3QpMHgwMDMwKSAvKiE8UERbMV0gcGluICovCisjZGVmaW5lIFNZU0NGR19FWFRJQ1IxX0VYVEkxX1BFICAgICAgICAgKCh1aW50MTZfdCkweDAwNDApIC8qITxQRVsxXSBwaW4gKi8KKyNkZWZpbmUgU1lTQ0ZHX0VYVElDUjFfRVhUSTFfUEYgICAgICAgICAoKHVpbnQxNl90KTB4MDA1MCkgLyohPFBGWzFdIHBpbiAqLworI2RlZmluZSBTWVNDRkdfRVhUSUNSMV9FWFRJMV9QRyAgICAgICAgICgodWludDE2X3QpMHgwMDYwKSAvKiE8UEdbMV0gcGluICovCisjZGVmaW5lIFNZU0NGR19FWFRJQ1IxX0VYVEkxX1BIICAgICAgICAgKCh1aW50MTZfdCkweDAwNzApIC8qITxQSFsxXSBwaW4gKi8KKyNkZWZpbmUgU1lTQ0ZHX0VYVElDUjFfRVhUSTFfUEkgICAgICAgICAoKHVpbnQxNl90KTB4MDA4MCkgLyohPFBJWzFdIHBpbiAqLworLyoqIAorICAqIEBicmllZiAgIEVYVEkyIGNvbmZpZ3VyYXRpb24gIAorICAqLyAKKyNkZWZpbmUgU1lTQ0ZHX0VYVElDUjFfRVhUSTJfUEEgICAgICAgICAoKHVpbnQxNl90KTB4MDAwMCkgLyohPFBBWzJdIHBpbiAqLworI2RlZmluZSBTWVNDRkdfRVhUSUNSMV9FWFRJMl9QQiAgICAgICAgICgodWludDE2X3QpMHgwMTAwKSAvKiE8UEJbMl0gcGluICovCisjZGVmaW5lIFNZU0NGR19FWFRJQ1IxX0VYVEkyX1BDICAgICAgICAgKCh1aW50MTZfdCkweDAyMDApIC8qITxQQ1syXSBwaW4gKi8KKyNkZWZpbmUgU1lTQ0ZHX0VYVElDUjFfRVhUSTJfUEQgICAgICAgICAoKHVpbnQxNl90KTB4MDMwMCkgLyohPFBEWzJdIHBpbiAqLworI2RlZmluZSBTWVNDRkdfRVhUSUNSMV9FWFRJMl9QRSAgICAgICAgICgodWludDE2X3QpMHgwNDAwKSAvKiE8UEVbMl0gcGluICovCisjZGVmaW5lIFNZU0NGR19FWFRJQ1IxX0VYVEkyX1BGICAgICAgICAgKCh1aW50MTZfdCkweDA1MDApIC8qITxQRlsyXSBwaW4gKi8KKyNkZWZpbmUgU1lTQ0ZHX0VYVElDUjFfRVhUSTJfUEcgICAgICAgICAoKHVpbnQxNl90KTB4MDYwMCkgLyohPFBHWzJdIHBpbiAqLworI2RlZmluZSBTWVNDRkdfRVhUSUNSMV9FWFRJMl9QSCAgICAgICAgICgodWludDE2X3QpMHgwNzAwKSAvKiE8UEhbMl0gcGluICovCisjZGVmaW5lIFNZU0NGR19FWFRJQ1IxX0VYVEkyX1BJICAgICAgICAgKCh1aW50MTZfdCkweDA4MDApIC8qITxQSVsyXSBwaW4gKi8KKy8qKiAKKyAgKiBAYnJpZWYgICBFWFRJMyBjb25maWd1cmF0aW9uICAKKyAgKi8gCisjZGVmaW5lIFNZU0NGR19FWFRJQ1IxX0VYVEkzX1BBICAgICAgICAgKCh1aW50MTZfdCkweDAwMDApIC8qITxQQVszXSBwaW4gKi8KKyNkZWZpbmUgU1lTQ0ZHX0VYVElDUjFfRVhUSTNfUEIgICAgICAgICAoKHVpbnQxNl90KTB4MTAwMCkgLyohPFBCWzNdIHBpbiAqLworI2RlZmluZSBTWVNDRkdfRVhUSUNSMV9FWFRJM19QQyAgICAgICAgICgodWludDE2X3QpMHgyMDAwKSAvKiE8UENbM10gcGluICovCisjZGVmaW5lIFNZU0NGR19FWFRJQ1IxX0VYVEkzX1BEICAgICAgICAgKCh1aW50MTZfdCkweDMwMDApIC8qITxQRFszXSBwaW4gKi8KKyNkZWZpbmUgU1lTQ0ZHX0VYVElDUjFfRVhUSTNfUEUgICAgICAgICAoKHVpbnQxNl90KTB4NDAwMCkgLyohPFBFWzNdIHBpbiAqLworI2RlZmluZSBTWVNDRkdfRVhUSUNSMV9FWFRJM19QRiAgICAgICAgICgodWludDE2X3QpMHg1MDAwKSAvKiE8UEZbM10gcGluICovCisjZGVmaW5lIFNZU0NGR19FWFRJQ1IxX0VYVEkzX1BHICAgICAgICAgKCh1aW50MTZfdCkweDYwMDApIC8qITxQR1szXSBwaW4gKi8KKyNkZWZpbmUgU1lTQ0ZHX0VYVElDUjFfRVhUSTNfUEggICAgICAgICAoKHVpbnQxNl90KTB4NzAwMCkgLyohPFBIWzNdIHBpbiAqLworI2RlZmluZSBTWVNDRkdfRVhUSUNSMV9FWFRJM19QSSAgICAgICAgICgodWludDE2X3QpMHg4MDAwKSAvKiE8UElbM10gcGluICovCisKKy8qKioqKioqKioqKioqKioqKiAgQml0IGRlZmluaXRpb24gZm9yIFNZU0NGR19FWFRJQ1IyIHJlZ2lzdGVyICAqKioqKioqKioqKioqKiovCisjZGVmaW5lIFNZU0NGR19FWFRJQ1IyX0VYVEk0ICAgICAgICAgICAgKCh1aW50MTZfdCkweDAwMEYpIC8qITxFWFRJIDQgY29uZmlndXJhdGlvbiAqLworI2RlZmluZSBTWVNDRkdfRVhUSUNSMl9FWFRJNSAgICAgICAgICAgICgodWludDE2X3QpMHgwMEYwKSAvKiE8RVhUSSA1IGNvbmZpZ3VyYXRpb24gKi8KKyNkZWZpbmUgU1lTQ0ZHX0VYVElDUjJfRVhUSTYgICAgICAgICAgICAoKHVpbnQxNl90KTB4MEYwMCkgLyohPEVYVEkgNiBjb25maWd1cmF0aW9uICovCisjZGVmaW5lIFNZU0NGR19FWFRJQ1IyX0VYVEk3ICAgICAgICAgICAgKCh1aW50MTZfdCkweEYwMDApIC8qITxFWFRJIDcgY29uZmlndXJhdGlvbiAqLworLyoqIAorICAqIEBicmllZiAgIEVYVEk0IGNvbmZpZ3VyYXRpb24gIAorICAqLyAKKyNkZWZpbmUgU1lTQ0ZHX0VYVElDUjJfRVhUSTRfUEEgICAgICAgICAoKHVpbnQxNl90KTB4MDAwMCkgLyohPFBBWzRdIHBpbiAqLworI2RlZmluZSBTWVNDRkdfRVhUSUNSMl9FWFRJNF9QQiAgICAgICAgICgodWludDE2X3QpMHgwMDAxKSAvKiE8UEJbNF0gcGluICovCisjZGVmaW5lIFNZU0NGR19FWFRJQ1IyX0VYVEk0X1BDICAgICAgICAgKCh1aW50MTZfdCkweDAwMDIpIC8qITxQQ1s0XSBwaW4gKi8KKyNkZWZpbmUgU1lTQ0ZHX0VYVElDUjJfRVhUSTRfUEQgICAgICAgICAoKHVpbnQxNl90KTB4MDAwMykgLyohPFBEWzRdIHBpbiAqLworI2RlZmluZSBTWVNDRkdfRVhUSUNSMl9FWFRJNF9QRSAgICAgICAgICgodWludDE2X3QpMHgwMDA0KSAvKiE8UEVbNF0gcGluICovCisjZGVmaW5lIFNZU0NGR19FWFRJQ1IyX0VYVEk0X1BGICAgICAgICAgKCh1aW50MTZfdCkweDAwMDUpIC8qITxQRls0XSBwaW4gKi8KKyNkZWZpbmUgU1lTQ0ZHX0VYVElDUjJfRVhUSTRfUEcgICAgICAgICAoKHVpbnQxNl90KTB4MDAwNikgLyohPFBHWzRdIHBpbiAqLworI2RlZmluZSBTWVNDRkdfRVhUSUNSMl9FWFRJNF9QSCAgICAgICAgICgodWludDE2X3QpMHgwMDA3KSAvKiE8UEhbNF0gcGluICovCisjZGVmaW5lIFNZU0NGR19FWFRJQ1IyX0VYVEk0X1BJICAgICAgICAgKCh1aW50MTZfdCkweDAwMDgpIC8qITxQSVs0XSBwaW4gKi8KKy8qKiAKKyAgKiBAYnJpZWYgICBFWFRJNSBjb25maWd1cmF0aW9uICAKKyAgKi8gCisjZGVmaW5lIFNZU0NGR19FWFRJQ1IyX0VYVEk1X1BBICAgICAgICAgKCh1aW50MTZfdCkweDAwMDApIC8qITxQQVs1XSBwaW4gKi8KKyNkZWZpbmUgU1lTQ0ZHX0VYVElDUjJfRVhUSTVfUEIgICAgICAgICAoKHVpbnQxNl90KTB4MDAxMCkgLyohPFBCWzVdIHBpbiAqLworI2RlZmluZSBTWVNDRkdfRVhUSUNSMl9FWFRJNV9QQyAgICAgICAgICgodWludDE2X3QpMHgwMDIwKSAvKiE8UENbNV0gcGluICovCisjZGVmaW5lIFNZU0NGR19FWFRJQ1IyX0VYVEk1X1BEICAgICAgICAgKCh1aW50MTZfdCkweDAwMzApIC8qITxQRFs1XSBwaW4gKi8KKyNkZWZpbmUgU1lTQ0ZHX0VYVElDUjJfRVhUSTVfUEUgICAgICAgICAoKHVpbnQxNl90KTB4MDA0MCkgLyohPFBFWzVdIHBpbiAqLworI2RlZmluZSBTWVNDRkdfRVhUSUNSMl9FWFRJNV9QRiAgICAgICAgICgodWludDE2X3QpMHgwMDUwKSAvKiE8UEZbNV0gcGluICovCisjZGVmaW5lIFNZU0NGR19FWFRJQ1IyX0VYVEk1X1BHICAgICAgICAgKCh1aW50MTZfdCkweDAwNjApIC8qITxQR1s1XSBwaW4gKi8KKyNkZWZpbmUgU1lTQ0ZHX0VYVElDUjJfRVhUSTVfUEggICAgICAgICAoKHVpbnQxNl90KTB4MDA3MCkgLyohPFBIWzVdIHBpbiAqLworI2RlZmluZSBTWVNDRkdfRVhUSUNSMl9FWFRJNV9QSSAgICAgICAgICgodWludDE2X3QpMHgwMDgwKSAvKiE8UElbNV0gcGluICovCisvKiogCisgICogQGJyaWVmICAgRVhUSTYgY29uZmlndXJhdGlvbiAgCisgICovIAorI2RlZmluZSBTWVNDRkdfRVhUSUNSMl9FWFRJNl9QQSAgICAgICAgICgodWludDE2X3QpMHgwMDAwKSAvKiE8UEFbNl0gcGluICovCisjZGVmaW5lIFNZU0NGR19FWFRJQ1IyX0VYVEk2X1BCICAgICAgICAgKCh1aW50MTZfdCkweDAxMDApIC8qITxQQls2XSBwaW4gKi8KKyNkZWZpbmUgU1lTQ0ZHX0VYVElDUjJfRVhUSTZfUEMgICAgICAgICAoKHVpbnQxNl90KTB4MDIwMCkgLyohPFBDWzZdIHBpbiAqLworI2RlZmluZSBTWVNDRkdfRVhUSUNSMl9FWFRJNl9QRCAgICAgICAgICgodWludDE2X3QpMHgwMzAwKSAvKiE8UERbNl0gcGluICovCisjZGVmaW5lIFNZU0NGR19FWFRJQ1IyX0VYVEk2X1BFICAgICAgICAgKCh1aW50MTZfdCkweDA0MDApIC8qITxQRVs2XSBwaW4gKi8KKyNkZWZpbmUgU1lTQ0ZHX0VYVElDUjJfRVhUSTZfUEYgICAgICAgICAoKHVpbnQxNl90KTB4MDUwMCkgLyohPFBGWzZdIHBpbiAqLworI2RlZmluZSBTWVNDRkdfRVhUSUNSMl9FWFRJNl9QRyAgICAgICAgICgodWludDE2X3QpMHgwNjAwKSAvKiE8UEdbNl0gcGluICovCisjZGVmaW5lIFNZU0NGR19FWFRJQ1IyX0VYVEk2X1BIICAgICAgICAgKCh1aW50MTZfdCkweDA3MDApIC8qITxQSFs2XSBwaW4gKi8KKyNkZWZpbmUgU1lTQ0ZHX0VYVElDUjJfRVhUSTZfUEkgICAgICAgICAoKHVpbnQxNl90KTB4MDgwMCkgLyohPFBJWzZdIHBpbiAqLworLyoqIAorICAqIEBicmllZiAgIEVYVEk3IGNvbmZpZ3VyYXRpb24gIAorICAqLyAKKyNkZWZpbmUgU1lTQ0ZHX0VYVElDUjJfRVhUSTdfUEEgICAgICAgICAoKHVpbnQxNl90KTB4MDAwMCkgLyohPFBBWzddIHBpbiAqLworI2RlZmluZSBTWVNDRkdfRVhUSUNSMl9FWFRJN19QQiAgICAgICAgICgodWludDE2X3QpMHgxMDAwKSAvKiE8UEJbN10gcGluICovCisjZGVmaW5lIFNZU0NGR19FWFRJQ1IyX0VYVEk3X1BDICAgICAgICAgKCh1aW50MTZfdCkweDIwMDApIC8qITxQQ1s3XSBwaW4gKi8KKyNkZWZpbmUgU1lTQ0ZHX0VYVElDUjJfRVhUSTdfUEQgICAgICAgICAoKHVpbnQxNl90KTB4MzAwMCkgLyohPFBEWzddIHBpbiAqLworI2RlZmluZSBTWVNDRkdfRVhUSUNSMl9FWFRJN19QRSAgICAgICAgICgodWludDE2X3QpMHg0MDAwKSAvKiE8UEVbN10gcGluICovCisjZGVmaW5lIFNZU0NGR19FWFRJQ1IyX0VYVEk3X1BGICAgICAgICAgKCh1aW50MTZfdCkweDUwMDApIC8qITxQRls3XSBwaW4gKi8KKyNkZWZpbmUgU1lTQ0ZHX0VYVElDUjJfRVhUSTdfUEcgICAgICAgICAoKHVpbnQxNl90KTB4NjAwMCkgLyohPFBHWzddIHBpbiAqLworI2RlZmluZSBTWVNDRkdfRVhUSUNSMl9FWFRJN19QSCAgICAgICAgICgodWludDE2X3QpMHg3MDAwKSAvKiE8UEhbN10gcGluICovCisjZGVmaW5lIFNZU0NGR19FWFRJQ1IyX0VYVEk3X1BJICAgICAgICAgKCh1aW50MTZfdCkweDgwMDApIC8qITxQSVs3XSBwaW4gKi8KKworLyoqKioqKioqKioqKioqKioqICBCaXQgZGVmaW5pdGlvbiBmb3IgU1lTQ0ZHX0VYVElDUjMgcmVnaXN0ZXIgICoqKioqKioqKioqKioqKi8KKyNkZWZpbmUgU1lTQ0ZHX0VYVElDUjNfRVhUSTggICAgICAgICAgICAoKHVpbnQxNl90KTB4MDAwRikgLyohPEVYVEkgOCBjb25maWd1cmF0aW9uICovCisjZGVmaW5lIFNZU0NGR19FWFRJQ1IzX0VYVEk5ICAgICAgICAgICAgKCh1aW50MTZfdCkweDAwRjApIC8qITxFWFRJIDkgY29uZmlndXJhdGlvbiAqLworI2RlZmluZSBTWVNDRkdfRVhUSUNSM19FWFRJMTAgICAgICAgICAgICgodWludDE2X3QpMHgwRjAwKSAvKiE8RVhUSSAxMCBjb25maWd1cmF0aW9uICovCisjZGVmaW5lIFNZU0NGR19FWFRJQ1IzX0VYVEkxMSAgICAgICAgICAgKCh1aW50MTZfdCkweEYwMDApIC8qITxFWFRJIDExIGNvbmZpZ3VyYXRpb24gKi8KKyAgICAgICAgICAgCisvKiogCisgICogQGJyaWVmICAgRVhUSTggY29uZmlndXJhdGlvbiAgCisgICovIAorI2RlZmluZSBTWVNDRkdfRVhUSUNSM19FWFRJOF9QQSAgICAgICAgICgodWludDE2X3QpMHgwMDAwKSAvKiE8UEFbOF0gcGluICovCisjZGVmaW5lIFNZU0NGR19FWFRJQ1IzX0VYVEk4X1BCICAgICAgICAgKCh1aW50MTZfdCkweDAwMDEpIC8qITxQQls4XSBwaW4gKi8KKyNkZWZpbmUgU1lTQ0ZHX0VYVElDUjNfRVhUSThfUEMgICAgICAgICAoKHVpbnQxNl90KTB4MDAwMikgLyohPFBDWzhdIHBpbiAqLworI2RlZmluZSBTWVNDRkdfRVhUSUNSM19FWFRJOF9QRCAgICAgICAgICgodWludDE2X3QpMHgwMDAzKSAvKiE8UERbOF0gcGluICovCisjZGVmaW5lIFNZU0NGR19FWFRJQ1IzX0VYVEk4X1BFICAgICAgICAgKCh1aW50MTZfdCkweDAwMDQpIC8qITxQRVs4XSBwaW4gKi8KKyNkZWZpbmUgU1lTQ0ZHX0VYVElDUjNfRVhUSThfUEYgICAgICAgICAoKHVpbnQxNl90KTB4MDAwNSkgLyohPFBGWzhdIHBpbiAqLworI2RlZmluZSBTWVNDRkdfRVhUSUNSM19FWFRJOF9QRyAgICAgICAgICgodWludDE2X3QpMHgwMDA2KSAvKiE8UEdbOF0gcGluICovCisjZGVmaW5lIFNZU0NGR19FWFRJQ1IzX0VYVEk4X1BIICAgICAgICAgKCh1aW50MTZfdCkweDAwMDcpIC8qITxQSFs4XSBwaW4gKi8KKyNkZWZpbmUgU1lTQ0ZHX0VYVElDUjNfRVhUSThfUEkgICAgICAgICAoKHVpbnQxNl90KTB4MDAwOCkgLyohPFBJWzhdIHBpbiAqLworLyoqIAorICAqIEBicmllZiAgIEVYVEk5IGNvbmZpZ3VyYXRpb24gIAorICAqLyAKKyNkZWZpbmUgU1lTQ0ZHX0VYVElDUjNfRVhUSTlfUEEgICAgICAgICAoKHVpbnQxNl90KTB4MDAwMCkgLyohPFBBWzldIHBpbiAqLworI2RlZmluZSBTWVNDRkdfRVhUSUNSM19FWFRJOV9QQiAgICAgICAgICgodWludDE2X3QpMHgwMDEwKSAvKiE8UEJbOV0gcGluICovCisjZGVmaW5lIFNZU0NGR19FWFRJQ1IzX0VYVEk5X1BDICAgICAgICAgKCh1aW50MTZfdCkweDAwMjApIC8qITxQQ1s5XSBwaW4gKi8KKyNkZWZpbmUgU1lTQ0ZHX0VYVElDUjNfRVhUSTlfUEQgICAgICAgICAoKHVpbnQxNl90KTB4MDAzMCkgLyohPFBEWzldIHBpbiAqLworI2RlZmluZSBTWVNDRkdfRVhUSUNSM19FWFRJOV9QRSAgICAgICAgICgodWludDE2X3QpMHgwMDQwKSAvKiE8UEVbOV0gcGluICovCisjZGVmaW5lIFNZU0NGR19FWFRJQ1IzX0VYVEk5X1BGICAgICAgICAgKCh1aW50MTZfdCkweDAwNTApIC8qITxQRls5XSBwaW4gKi8KKyNkZWZpbmUgU1lTQ0ZHX0VYVElDUjNfRVhUSTlfUEcgICAgICAgICAoKHVpbnQxNl90KTB4MDA2MCkgLyohPFBHWzldIHBpbiAqLworI2RlZmluZSBTWVNDRkdfRVhUSUNSM19FWFRJOV9QSCAgICAgICAgICgodWludDE2X3QpMHgwMDcwKSAvKiE8UEhbOV0gcGluICovCisjZGVmaW5lIFNZU0NGR19FWFRJQ1IzX0VYVEk5X1BJICAgICAgICAgKCh1aW50MTZfdCkweDAwODApIC8qITxQSVs5XSBwaW4gKi8KKy8qKiAKKyAgKiBAYnJpZWYgICBFWFRJMTAgY29uZmlndXJhdGlvbiAgCisgICovIAorI2RlZmluZSBTWVNDRkdfRVhUSUNSM19FWFRJMTBfUEEgICAgICAgICgodWludDE2X3QpMHgwMDAwKSAvKiE8UEFbMTBdIHBpbiAqLworI2RlZmluZSBTWVNDRkdfRVhUSUNSM19FWFRJMTBfUEIgICAgICAgICgodWludDE2X3QpMHgwMTAwKSAvKiE8UEJbMTBdIHBpbiAqLworI2RlZmluZSBTWVNDRkdfRVhUSUNSM19FWFRJMTBfUEMgICAgICAgICgodWludDE2X3QpMHgwMjAwKSAvKiE8UENbMTBdIHBpbiAqLworI2RlZmluZSBTWVNDRkdfRVhUSUNSM19FWFRJMTBfUEQgICAgICAgICgodWludDE2X3QpMHgwMzAwKSAvKiE8UERbMTBdIHBpbiAqLworI2RlZmluZSBTWVNDRkdfRVhUSUNSM19FWFRJMTBfUEUgICAgICAgICgodWludDE2X3QpMHgwNDAwKSAvKiE8UEVbMTBdIHBpbiAqLworI2RlZmluZSBTWVNDRkdfRVhUSUNSM19FWFRJMTBfUEYgICAgICAgICgodWludDE2X3QpMHgwNTAwKSAvKiE8UEZbMTBdIHBpbiAqLworI2RlZmluZSBTWVNDRkdfRVhUSUNSM19FWFRJMTBfUEcgICAgICAgICgodWludDE2X3QpMHgwNjAwKSAvKiE8UEdbMTBdIHBpbiAqLworI2RlZmluZSBTWVNDRkdfRVhUSUNSM19FWFRJMTBfUEggICAgICAgICgodWludDE2X3QpMHgwNzAwKSAvKiE8UEhbMTBdIHBpbiAqLworI2RlZmluZSBTWVNDRkdfRVhUSUNSM19FWFRJMTBfUEkgICAgICAgICgodWludDE2X3QpMHgwODAwKSAvKiE8UElbMTBdIHBpbiAqLworLyoqIAorICAqIEBicmllZiAgIEVYVEkxMSBjb25maWd1cmF0aW9uICAKKyAgKi8gCisjZGVmaW5lIFNZU0NGR19FWFRJQ1IzX0VYVEkxMV9QQSAgICAgICAgKCh1aW50MTZfdCkweDAwMDApIC8qITxQQVsxMV0gcGluICovCisjZGVmaW5lIFNZU0NGR19FWFRJQ1IzX0VYVEkxMV9QQiAgICAgICAgKCh1aW50MTZfdCkweDEwMDApIC8qITxQQlsxMV0gcGluICovCisjZGVmaW5lIFNZU0NGR19FWFRJQ1IzX0VYVEkxMV9QQyAgICAgICAgKCh1aW50MTZfdCkweDIwMDApIC8qITxQQ1sxMV0gcGluICovCisjZGVmaW5lIFNZU0NGR19FWFRJQ1IzX0VYVEkxMV9QRCAgICAgICAgKCh1aW50MTZfdCkweDMwMDApIC8qITxQRFsxMV0gcGluICovCisjZGVmaW5lIFNZU0NGR19FWFRJQ1IzX0VYVEkxMV9QRSAgICAgICAgKCh1aW50MTZfdCkweDQwMDApIC8qITxQRVsxMV0gcGluICovCisjZGVmaW5lIFNZU0NGR19FWFRJQ1IzX0VYVEkxMV9QRiAgICAgICAgKCh1aW50MTZfdCkweDUwMDApIC8qITxQRlsxMV0gcGluICovCisjZGVmaW5lIFNZU0NGR19FWFRJQ1IzX0VYVEkxMV9QRyAgICAgICAgKCh1aW50MTZfdCkweDYwMDApIC8qITxQR1sxMV0gcGluICovCisjZGVmaW5lIFNZU0NGR19FWFRJQ1IzX0VYVEkxMV9QSCAgICAgICAgKCh1aW50MTZfdCkweDcwMDApIC8qITxQSFsxMV0gcGluICovCisjZGVmaW5lIFNZU0NGR19FWFRJQ1IzX0VYVEkxMV9QSSAgICAgICAgKCh1aW50MTZfdCkweDgwMDApIC8qITxQSVsxMV0gcGluICovCisKKy8qKioqKioqKioqKioqKioqKiAgQml0IGRlZmluaXRpb24gZm9yIFNZU0NGR19FWFRJQ1I0IHJlZ2lzdGVyICAqKioqKioqKioqKioqKiovCisjZGVmaW5lIFNZU0NGR19FWFRJQ1I0X0VYVEkxMiAgICAgICAgICAgKCh1aW50MTZfdCkweDAwMEYpIC8qITxFWFRJIDEyIGNvbmZpZ3VyYXRpb24gKi8KKyNkZWZpbmUgU1lTQ0ZHX0VYVElDUjRfRVhUSTEzICAgICAgICAgICAoKHVpbnQxNl90KTB4MDBGMCkgLyohPEVYVEkgMTMgY29uZmlndXJhdGlvbiAqLworI2RlZmluZSBTWVNDRkdfRVhUSUNSNF9FWFRJMTQgICAgICAgICAgICgodWludDE2X3QpMHgwRjAwKSAvKiE8RVhUSSAxNCBjb25maWd1cmF0aW9uICovCisjZGVmaW5lIFNZU0NGR19FWFRJQ1I0X0VYVEkxNSAgICAgICAgICAgKCh1aW50MTZfdCkweEYwMDApIC8qITxFWFRJIDE1IGNvbmZpZ3VyYXRpb24gKi8KKy8qKiAKKyAgKiBAYnJpZWYgICBFWFRJMTIgY29uZmlndXJhdGlvbiAgCisgICovIAorI2RlZmluZSBTWVNDRkdfRVhUSUNSNF9FWFRJMTJfUEEgICAgICAgICgodWludDE2X3QpMHgwMDAwKSAvKiE8UEFbMTJdIHBpbiAqLworI2RlZmluZSBTWVNDRkdfRVhUSUNSNF9FWFRJMTJfUEIgICAgICAgICgodWludDE2X3QpMHgwMDAxKSAvKiE8UEJbMTJdIHBpbiAqLworI2RlZmluZSBTWVNDRkdfRVhUSUNSNF9FWFRJMTJfUEMgICAgICAgICgodWludDE2X3QpMHgwMDAyKSAvKiE8UENbMTJdIHBpbiAqLworI2RlZmluZSBTWVNDRkdfRVhUSUNSNF9FWFRJMTJfUEQgICAgICAgICgodWludDE2X3QpMHgwMDAzKSAvKiE8UERbMTJdIHBpbiAqLworI2RlZmluZSBTWVNDRkdfRVhUSUNSNF9FWFRJMTJfUEUgICAgICAgICgodWludDE2X3QpMHgwMDA0KSAvKiE8UEVbMTJdIHBpbiAqLworI2RlZmluZSBTWVNDRkdfRVhUSUNSNF9FWFRJMTJfUEYgICAgICAgICgodWludDE2X3QpMHgwMDA1KSAvKiE8UEZbMTJdIHBpbiAqLworI2RlZmluZSBTWVNDRkdfRVhUSUNSNF9FWFRJMTJfUEcgICAgICAgICgodWludDE2X3QpMHgwMDA2KSAvKiE8UEdbMTJdIHBpbiAqLworI2RlZmluZSBTWVNDRkdfRVhUSUNSM19FWFRJMTJfUEggICAgICAgICgodWludDE2X3QpMHgwMDA3KSAvKiE8UEhbMTJdIHBpbiAqLworLyoqIAorICAqIEBicmllZiAgIEVYVEkxMyBjb25maWd1cmF0aW9uICAKKyAgKi8gCisjZGVmaW5lIFNZU0NGR19FWFRJQ1I0X0VYVEkxM19QQSAgICAgICAgKCh1aW50MTZfdCkweDAwMDApIC8qITxQQVsxM10gcGluICovCisjZGVmaW5lIFNZU0NGR19FWFRJQ1I0X0VYVEkxM19QQiAgICAgICAgKCh1aW50MTZfdCkweDAwMTApIC8qITxQQlsxM10gcGluICovCisjZGVmaW5lIFNZU0NGR19FWFRJQ1I0X0VYVEkxM19QQyAgICAgICAgKCh1aW50MTZfdCkweDAwMjApIC8qITxQQ1sxM10gcGluICovCisjZGVmaW5lIFNZU0NGR19FWFRJQ1I0X0VYVEkxM19QRCAgICAgICAgKCh1aW50MTZfdCkweDAwMzApIC8qITxQRFsxM10gcGluICovCisjZGVmaW5lIFNZU0NGR19FWFRJQ1I0X0VYVEkxM19QRSAgICAgICAgKCh1aW50MTZfdCkweDAwNDApIC8qITxQRVsxM10gcGluICovCisjZGVmaW5lIFNZU0NGR19FWFRJQ1I0X0VYVEkxM19QRiAgICAgICAgKCh1aW50MTZfdCkweDAwNTApIC8qITxQRlsxM10gcGluICovCisjZGVmaW5lIFNZU0NGR19FWFRJQ1I0X0VYVEkxM19QRyAgICAgICAgKCh1aW50MTZfdCkweDAwNjApIC8qITxQR1sxM10gcGluICovCisjZGVmaW5lIFNZU0NGR19FWFRJQ1IzX0VYVEkxM19QSCAgICAgICAgKCh1aW50MTZfdCkweDAwNzApIC8qITxQSFsxM10gcGluICovCisvKiogCisgICogQGJyaWVmICAgRVhUSTE0IGNvbmZpZ3VyYXRpb24gIAorICAqLyAKKyNkZWZpbmUgU1lTQ0ZHX0VYVElDUjRfRVhUSTE0X1BBICAgICAgICAoKHVpbnQxNl90KTB4MDAwMCkgLyohPFBBWzE0XSBwaW4gKi8KKyNkZWZpbmUgU1lTQ0ZHX0VYVElDUjRfRVhUSTE0X1BCICAgICAgICAoKHVpbnQxNl90KTB4MDEwMCkgLyohPFBCWzE0XSBwaW4gKi8KKyNkZWZpbmUgU1lTQ0ZHX0VYVElDUjRfRVhUSTE0X1BDICAgICAgICAoKHVpbnQxNl90KTB4MDIwMCkgLyohPFBDWzE0XSBwaW4gKi8KKyNkZWZpbmUgU1lTQ0ZHX0VYVElDUjRfRVhUSTE0X1BEICAgICAgICAoKHVpbnQxNl90KTB4MDMwMCkgLyohPFBEWzE0XSBwaW4gKi8KKyNkZWZpbmUgU1lTQ0ZHX0VYVElDUjRfRVhUSTE0X1BFICAgICAgICAoKHVpbnQxNl90KTB4MDQwMCkgLyohPFBFWzE0XSBwaW4gKi8KKyNkZWZpbmUgU1lTQ0ZHX0VYVElDUjRfRVhUSTE0X1BGICAgICAgICAoKHVpbnQxNl90KTB4MDUwMCkgLyohPFBGWzE0XSBwaW4gKi8KKyNkZWZpbmUgU1lTQ0ZHX0VYVElDUjRfRVhUSTE0X1BHICAgICAgICAoKHVpbnQxNl90KTB4MDYwMCkgLyohPFBHWzE0XSBwaW4gKi8KKyNkZWZpbmUgU1lTQ0ZHX0VYVElDUjNfRVhUSTE0X1BIICAgICAgICAoKHVpbnQxNl90KTB4MDcwMCkgLyohPFBIWzE0XSBwaW4gKi8KKy8qKiAKKyAgKiBAYnJpZWYgICBFWFRJMTUgY29uZmlndXJhdGlvbiAgCisgICovIAorI2RlZmluZSBTWVNDRkdfRVhUSUNSNF9FWFRJMTVfUEEgICAgICAgICgodWludDE2X3QpMHgwMDAwKSAvKiE8UEFbMTVdIHBpbiAqLworI2RlZmluZSBTWVNDRkdfRVhUSUNSNF9FWFRJMTVfUEIgICAgICAgICgodWludDE2X3QpMHgxMDAwKSAvKiE8UEJbMTVdIHBpbiAqLworI2RlZmluZSBTWVNDRkdfRVhUSUNSNF9FWFRJMTVfUEMgICAgICAgICgodWludDE2X3QpMHgyMDAwKSAvKiE8UENbMTVdIHBpbiAqLworI2RlZmluZSBTWVNDRkdfRVhUSUNSNF9FWFRJMTVfUEQgICAgICAgICgodWludDE2X3QpMHgzMDAwKSAvKiE8UERbMTVdIHBpbiAqLworI2RlZmluZSBTWVNDRkdfRVhUSUNSNF9FWFRJMTVfUEUgICAgICAgICgodWludDE2X3QpMHg0MDAwKSAvKiE8UEVbMTVdIHBpbiAqLworI2RlZmluZSBTWVNDRkdfRVhUSUNSNF9FWFRJMTVfUEYgICAgICAgICgodWludDE2X3QpMHg1MDAwKSAvKiE8UEZbMTVdIHBpbiAqLworI2RlZmluZSBTWVNDRkdfRVhUSUNSNF9FWFRJMTVfUEcgICAgICAgICgodWludDE2X3QpMHg2MDAwKSAvKiE8UEdbMTVdIHBpbiAqLworI2RlZmluZSBTWVNDRkdfRVhUSUNSM19FWFRJMTVfUEggICAgICAgICgodWludDE2X3QpMHg3MDAwKSAvKiE8UEhbMTVdIHBpbiAqLworCisvKioqKioqKioqKioqKioqKioqICBCaXQgZGVmaW5pdGlvbiBmb3IgU1lTQ0ZHX0NNUENSIHJlZ2lzdGVyICAqKioqKioqKioqKioqKioqLyAgCisjZGVmaW5lIFNZU0NGR19DTVBDUl9DTVBfUEQgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwMDAxKSAvKiE8Q29tcGVuc2F0aW9uIGNlbGwgcmVhZHkgZmxhZyAqLworI2RlZmluZSBTWVNDRkdfQ01QQ1JfUkVBRFkgICAgICAgICAgICAgICgodWludDMyX3QpMHgwMDAwMDEwMCkgLyohPENvbXBlbnNhdGlvbiBjZWxsIHBvd2VyLWRvd24gKi8KKworLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KKy8qICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICovCisvKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFRJTSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqLworLyogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKi8KKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCisvKioqKioqKioqKioqKioqKioqKiAgQml0IGRlZmluaXRpb24gZm9yIFRJTV9DUjEgcmVnaXN0ZXIgICoqKioqKioqKioqKioqKioqKioqLworI2RlZmluZSAgVElNX0NSMV9DRU4gICAgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MTZfdCkweDAwMDEpICAgICAgICAgICAgLyohPENvdW50ZXIgZW5hYmxlICovCisjZGVmaW5lICBUSU1fQ1IxX1VESVMgICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQxNl90KTB4MDAwMikgICAgICAgICAgICAvKiE8VXBkYXRlIGRpc2FibGUgKi8KKyNkZWZpbmUgIFRJTV9DUjFfVVJTICAgICAgICAgICAgICAgICAgICAgICAgICgodWludDE2X3QpMHgwMDA0KSAgICAgICAgICAgIC8qITxVcGRhdGUgcmVxdWVzdCBzb3VyY2UgKi8KKyNkZWZpbmUgIFRJTV9DUjFfT1BNICAgICAgICAgICAgICAgICAgICAgICAgICgodWludDE2X3QpMHgwMDA4KSAgICAgICAgICAgIC8qITxPbmUgcHVsc2UgbW9kZSAqLworI2RlZmluZSAgVElNX0NSMV9ESVIgICAgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MTZfdCkweDAwMTApICAgICAgICAgICAgLyohPERpcmVjdGlvbiAqLworCisjZGVmaW5lICBUSU1fQ1IxX0NNUyAgICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQxNl90KTB4MDA2MCkgICAgICAgICAgICAvKiE8Q01TWzE6MF0gYml0cyAoQ2VudGVyLWFsaWduZWQgbW9kZSBzZWxlY3Rpb24pICovCisjZGVmaW5lICBUSU1fQ1IxX0NNU18wICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQxNl90KTB4MDAyMCkgICAgICAgICAgICAvKiE8Qml0IDAgKi8KKyNkZWZpbmUgIFRJTV9DUjFfQ01TXzEgICAgICAgICAgICAgICAgICAgICAgICgodWludDE2X3QpMHgwMDQwKSAgICAgICAgICAgIC8qITxCaXQgMSAqLworCisjZGVmaW5lICBUSU1fQ1IxX0FSUEUgICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQxNl90KTB4MDA4MCkgICAgICAgICAgICAvKiE8QXV0by1yZWxvYWQgcHJlbG9hZCBlbmFibGUgKi8KKworI2RlZmluZSAgVElNX0NSMV9DS0QgICAgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MTZfdCkweDAzMDApICAgICAgICAgICAgLyohPENLRFsxOjBdIGJpdHMgKGNsb2NrIGRpdmlzaW9uKSAqLworI2RlZmluZSAgVElNX0NSMV9DS0RfMCAgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MTZfdCkweDAxMDApICAgICAgICAgICAgLyohPEJpdCAwICovCisjZGVmaW5lICBUSU1fQ1IxX0NLRF8xICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQxNl90KTB4MDIwMCkgICAgICAgICAgICAvKiE8Qml0IDEgKi8KKworLyoqKioqKioqKioqKioqKioqKiogIEJpdCBkZWZpbml0aW9uIGZvciBUSU1fQ1IyIHJlZ2lzdGVyICAqKioqKioqKioqKioqKioqKioqKi8KKyNkZWZpbmUgIFRJTV9DUjJfQ0NQQyAgICAgICAgICAgICAgICAgICAgICAgICgodWludDE2X3QpMHgwMDAxKSAgICAgICAgICAgIC8qITxDYXB0dXJlL0NvbXBhcmUgUHJlbG9hZGVkIENvbnRyb2wgKi8KKyNkZWZpbmUgIFRJTV9DUjJfQ0NVUyAgICAgICAgICAgICAgICAgICAgICAgICgodWludDE2X3QpMHgwMDA0KSAgICAgICAgICAgIC8qITxDYXB0dXJlL0NvbXBhcmUgQ29udHJvbCBVcGRhdGUgU2VsZWN0aW9uICovCisjZGVmaW5lICBUSU1fQ1IyX0NDRFMgICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQxNl90KTB4MDAwOCkgICAgICAgICAgICAvKiE8Q2FwdHVyZS9Db21wYXJlIERNQSBTZWxlY3Rpb24gKi8KKworI2RlZmluZSAgVElNX0NSMl9NTVMgICAgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MTZfdCkweDAwNzApICAgICAgICAgICAgLyohPE1NU1syOjBdIGJpdHMgKE1hc3RlciBNb2RlIFNlbGVjdGlvbikgKi8KKyNkZWZpbmUgIFRJTV9DUjJfTU1TXzAgICAgICAgICAgICAgICAgICAgICAgICgodWludDE2X3QpMHgwMDEwKSAgICAgICAgICAgIC8qITxCaXQgMCAqLworI2RlZmluZSAgVElNX0NSMl9NTVNfMSAgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MTZfdCkweDAwMjApICAgICAgICAgICAgLyohPEJpdCAxICovCisjZGVmaW5lICBUSU1fQ1IyX01NU18yICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQxNl90KTB4MDA0MCkgICAgICAgICAgICAvKiE8Qml0IDIgKi8KKworI2RlZmluZSAgVElNX0NSMl9USTFTICAgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MTZfdCkweDAwODApICAgICAgICAgICAgLyohPFRJMSBTZWxlY3Rpb24gKi8KKyNkZWZpbmUgIFRJTV9DUjJfT0lTMSAgICAgICAgICAgICAgICAgICAgICAgICgodWludDE2X3QpMHgwMTAwKSAgICAgICAgICAgIC8qITxPdXRwdXQgSWRsZSBzdGF0ZSAxIChPQzEgb3V0cHV0KSAqLworI2RlZmluZSAgVElNX0NSMl9PSVMxTiAgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MTZfdCkweDAyMDApICAgICAgICAgICAgLyohPE91dHB1dCBJZGxlIHN0YXRlIDEgKE9DMU4gb3V0cHV0KSAqLworI2RlZmluZSAgVElNX0NSMl9PSVMyICAgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MTZfdCkweDA0MDApICAgICAgICAgICAgLyohPE91dHB1dCBJZGxlIHN0YXRlIDIgKE9DMiBvdXRwdXQpICovCisjZGVmaW5lICBUSU1fQ1IyX09JUzJOICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQxNl90KTB4MDgwMCkgICAgICAgICAgICAvKiE8T3V0cHV0IElkbGUgc3RhdGUgMiAoT0MyTiBvdXRwdXQpICovCisjZGVmaW5lICBUSU1fQ1IyX09JUzMgICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQxNl90KTB4MTAwMCkgICAgICAgICAgICAvKiE8T3V0cHV0IElkbGUgc3RhdGUgMyAoT0MzIG91dHB1dCkgKi8KKyNkZWZpbmUgIFRJTV9DUjJfT0lTM04gICAgICAgICAgICAgICAgICAgICAgICgodWludDE2X3QpMHgyMDAwKSAgICAgICAgICAgIC8qITxPdXRwdXQgSWRsZSBzdGF0ZSAzIChPQzNOIG91dHB1dCkgKi8KKyNkZWZpbmUgIFRJTV9DUjJfT0lTNCAgICAgICAgICAgICAgICAgICAgICAgICgodWludDE2X3QpMHg0MDAwKSAgICAgICAgICAgIC8qITxPdXRwdXQgSWRsZSBzdGF0ZSA0IChPQzQgb3V0cHV0KSAqLworCisvKioqKioqKioqKioqKioqKioqKiAgQml0IGRlZmluaXRpb24gZm9yIFRJTV9TTUNSIHJlZ2lzdGVyICAqKioqKioqKioqKioqKioqKioqLworI2RlZmluZSAgVElNX1NNQ1JfU01TICAgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MTZfdCkweDAwMDcpICAgICAgICAgICAgLyohPFNNU1syOjBdIGJpdHMgKFNsYXZlIG1vZGUgc2VsZWN0aW9uKSAqLworI2RlZmluZSAgVElNX1NNQ1JfU01TXzAgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MTZfdCkweDAwMDEpICAgICAgICAgICAgLyohPEJpdCAwICovCisjZGVmaW5lICBUSU1fU01DUl9TTVNfMSAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQxNl90KTB4MDAwMikgICAgICAgICAgICAvKiE8Qml0IDEgKi8KKyNkZWZpbmUgIFRJTV9TTUNSX1NNU18yICAgICAgICAgICAgICAgICAgICAgICgodWludDE2X3QpMHgwMDA0KSAgICAgICAgICAgIC8qITxCaXQgMiAqLworCisjZGVmaW5lICBUSU1fU01DUl9UUyAgICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQxNl90KTB4MDA3MCkgICAgICAgICAgICAvKiE8VFNbMjowXSBiaXRzIChUcmlnZ2VyIHNlbGVjdGlvbikgKi8KKyNkZWZpbmUgIFRJTV9TTUNSX1RTXzAgICAgICAgICAgICAgICAgICAgICAgICgodWludDE2X3QpMHgwMDEwKSAgICAgICAgICAgIC8qITxCaXQgMCAqLworI2RlZmluZSAgVElNX1NNQ1JfVFNfMSAgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MTZfdCkweDAwMjApICAgICAgICAgICAgLyohPEJpdCAxICovCisjZGVmaW5lICBUSU1fU01DUl9UU18yICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQxNl90KTB4MDA0MCkgICAgICAgICAgICAvKiE8Qml0IDIgKi8KKworI2RlZmluZSAgVElNX1NNQ1JfTVNNICAgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MTZfdCkweDAwODApICAgICAgICAgICAgLyohPE1hc3Rlci9zbGF2ZSBtb2RlICovCisKKyNkZWZpbmUgIFRJTV9TTUNSX0VURiAgICAgICAgICAgICAgICAgICAgICAgICgodWludDE2X3QpMHgwRjAwKSAgICAgICAgICAgIC8qITxFVEZbMzowXSBiaXRzIChFeHRlcm5hbCB0cmlnZ2VyIGZpbHRlcikgKi8KKyNkZWZpbmUgIFRJTV9TTUNSX0VURl8wICAgICAgICAgICAgICAgICAgICAgICgodWludDE2X3QpMHgwMTAwKSAgICAgICAgICAgIC8qITxCaXQgMCAqLworI2RlZmluZSAgVElNX1NNQ1JfRVRGXzEgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MTZfdCkweDAyMDApICAgICAgICAgICAgLyohPEJpdCAxICovCisjZGVmaW5lICBUSU1fU01DUl9FVEZfMiAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQxNl90KTB4MDQwMCkgICAgICAgICAgICAvKiE8Qml0IDIgKi8KKyNkZWZpbmUgIFRJTV9TTUNSX0VURl8zICAgICAgICAgICAgICAgICAgICAgICgodWludDE2X3QpMHgwODAwKSAgICAgICAgICAgIC8qITxCaXQgMyAqLworCisjZGVmaW5lICBUSU1fU01DUl9FVFBTICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQxNl90KTB4MzAwMCkgICAgICAgICAgICAvKiE8RVRQU1sxOjBdIGJpdHMgKEV4dGVybmFsIHRyaWdnZXIgcHJlc2NhbGVyKSAqLworI2RlZmluZSAgVElNX1NNQ1JfRVRQU18wICAgICAgICAgICAgICAgICAgICAgKCh1aW50MTZfdCkweDEwMDApICAgICAgICAgICAgLyohPEJpdCAwICovCisjZGVmaW5lICBUSU1fU01DUl9FVFBTXzEgICAgICAgICAgICAgICAgICAgICAoKHVpbnQxNl90KTB4MjAwMCkgICAgICAgICAgICAvKiE8Qml0IDEgKi8KKworI2RlZmluZSAgVElNX1NNQ1JfRUNFICAgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MTZfdCkweDQwMDApICAgICAgICAgICAgLyohPEV4dGVybmFsIGNsb2NrIGVuYWJsZSAqLworI2RlZmluZSAgVElNX1NNQ1JfRVRQICAgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MTZfdCkweDgwMDApICAgICAgICAgICAgLyohPEV4dGVybmFsIHRyaWdnZXIgcG9sYXJpdHkgKi8KKworLyoqKioqKioqKioqKioqKioqKiogIEJpdCBkZWZpbml0aW9uIGZvciBUSU1fRElFUiByZWdpc3RlciAgKioqKioqKioqKioqKioqKioqKi8KKyNkZWZpbmUgIFRJTV9ESUVSX1VJRSAgICAgICAgICAgICAgICAgICAgICAgICgodWludDE2X3QpMHgwMDAxKSAgICAgICAgICAgIC8qITxVcGRhdGUgaW50ZXJydXB0IGVuYWJsZSAqLworI2RlZmluZSAgVElNX0RJRVJfQ0MxSUUgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MTZfdCkweDAwMDIpICAgICAgICAgICAgLyohPENhcHR1cmUvQ29tcGFyZSAxIGludGVycnVwdCBlbmFibGUgKi8KKyNkZWZpbmUgIFRJTV9ESUVSX0NDMklFICAgICAgICAgICAgICAgICAgICAgICgodWludDE2X3QpMHgwMDA0KSAgICAgICAgICAgIC8qITxDYXB0dXJlL0NvbXBhcmUgMiBpbnRlcnJ1cHQgZW5hYmxlICovCisjZGVmaW5lICBUSU1fRElFUl9DQzNJRSAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQxNl90KTB4MDAwOCkgICAgICAgICAgICAvKiE8Q2FwdHVyZS9Db21wYXJlIDMgaW50ZXJydXB0IGVuYWJsZSAqLworI2RlZmluZSAgVElNX0RJRVJfQ0M0SUUgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MTZfdCkweDAwMTApICAgICAgICAgICAgLyohPENhcHR1cmUvQ29tcGFyZSA0IGludGVycnVwdCBlbmFibGUgKi8KKyNkZWZpbmUgIFRJTV9ESUVSX0NPTUlFICAgICAgICAgICAgICAgICAgICAgICgodWludDE2X3QpMHgwMDIwKSAgICAgICAgICAgIC8qITxDT00gaW50ZXJydXB0IGVuYWJsZSAqLworI2RlZmluZSAgVElNX0RJRVJfVElFICAgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MTZfdCkweDAwNDApICAgICAgICAgICAgLyohPFRyaWdnZXIgaW50ZXJydXB0IGVuYWJsZSAqLworI2RlZmluZSAgVElNX0RJRVJfQklFICAgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MTZfdCkweDAwODApICAgICAgICAgICAgLyohPEJyZWFrIGludGVycnVwdCBlbmFibGUgKi8KKyNkZWZpbmUgIFRJTV9ESUVSX1VERSAgICAgICAgICAgICAgICAgICAgICAgICgodWludDE2X3QpMHgwMTAwKSAgICAgICAgICAgIC8qITxVcGRhdGUgRE1BIHJlcXVlc3QgZW5hYmxlICovCisjZGVmaW5lICBUSU1fRElFUl9DQzFERSAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQxNl90KTB4MDIwMCkgICAgICAgICAgICAvKiE8Q2FwdHVyZS9Db21wYXJlIDEgRE1BIHJlcXVlc3QgZW5hYmxlICovCisjZGVmaW5lICBUSU1fRElFUl9DQzJERSAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQxNl90KTB4MDQwMCkgICAgICAgICAgICAvKiE8Q2FwdHVyZS9Db21wYXJlIDIgRE1BIHJlcXVlc3QgZW5hYmxlICovCisjZGVmaW5lICBUSU1fRElFUl9DQzNERSAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQxNl90KTB4MDgwMCkgICAgICAgICAgICAvKiE8Q2FwdHVyZS9Db21wYXJlIDMgRE1BIHJlcXVlc3QgZW5hYmxlICovCisjZGVmaW5lICBUSU1fRElFUl9DQzRERSAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQxNl90KTB4MTAwMCkgICAgICAgICAgICAvKiE8Q2FwdHVyZS9Db21wYXJlIDQgRE1BIHJlcXVlc3QgZW5hYmxlICovCisjZGVmaW5lICBUSU1fRElFUl9DT01ERSAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQxNl90KTB4MjAwMCkgICAgICAgICAgICAvKiE8Q09NIERNQSByZXF1ZXN0IGVuYWJsZSAqLworI2RlZmluZSAgVElNX0RJRVJfVERFICAgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MTZfdCkweDQwMDApICAgICAgICAgICAgLyohPFRyaWdnZXIgRE1BIHJlcXVlc3QgZW5hYmxlICovCisKKy8qKioqKioqKioqKioqKioqKioqKiAgQml0IGRlZmluaXRpb24gZm9yIFRJTV9TUiByZWdpc3RlciAgKioqKioqKioqKioqKioqKioqKiovCisjZGVmaW5lICBUSU1fU1JfVUlGICAgICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQxNl90KTB4MDAwMSkgICAgICAgICAgICAvKiE8VXBkYXRlIGludGVycnVwdCBGbGFnICovCisjZGVmaW5lICBUSU1fU1JfQ0MxSUYgICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQxNl90KTB4MDAwMikgICAgICAgICAgICAvKiE8Q2FwdHVyZS9Db21wYXJlIDEgaW50ZXJydXB0IEZsYWcgKi8KKyNkZWZpbmUgIFRJTV9TUl9DQzJJRiAgICAgICAgICAgICAgICAgICAgICAgICgodWludDE2X3QpMHgwMDA0KSAgICAgICAgICAgIC8qITxDYXB0dXJlL0NvbXBhcmUgMiBpbnRlcnJ1cHQgRmxhZyAqLworI2RlZmluZSAgVElNX1NSX0NDM0lGICAgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MTZfdCkweDAwMDgpICAgICAgICAgICAgLyohPENhcHR1cmUvQ29tcGFyZSAzIGludGVycnVwdCBGbGFnICovCisjZGVmaW5lICBUSU1fU1JfQ0M0SUYgICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQxNl90KTB4MDAxMCkgICAgICAgICAgICAvKiE8Q2FwdHVyZS9Db21wYXJlIDQgaW50ZXJydXB0IEZsYWcgKi8KKyNkZWZpbmUgIFRJTV9TUl9DT01JRiAgICAgICAgICAgICAgICAgICAgICAgICgodWludDE2X3QpMHgwMDIwKSAgICAgICAgICAgIC8qITxDT00gaW50ZXJydXB0IEZsYWcgKi8KKyNkZWZpbmUgIFRJTV9TUl9USUYgICAgICAgICAgICAgICAgICAgICAgICAgICgodWludDE2X3QpMHgwMDQwKSAgICAgICAgICAgIC8qITxUcmlnZ2VyIGludGVycnVwdCBGbGFnICovCisjZGVmaW5lICBUSU1fU1JfQklGICAgICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQxNl90KTB4MDA4MCkgICAgICAgICAgICAvKiE8QnJlYWsgaW50ZXJydXB0IEZsYWcgKi8KKyNkZWZpbmUgIFRJTV9TUl9DQzFPRiAgICAgICAgICAgICAgICAgICAgICAgICgodWludDE2X3QpMHgwMjAwKSAgICAgICAgICAgIC8qITxDYXB0dXJlL0NvbXBhcmUgMSBPdmVyY2FwdHVyZSBGbGFnICovCisjZGVmaW5lICBUSU1fU1JfQ0MyT0YgICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQxNl90KTB4MDQwMCkgICAgICAgICAgICAvKiE8Q2FwdHVyZS9Db21wYXJlIDIgT3ZlcmNhcHR1cmUgRmxhZyAqLworI2RlZmluZSAgVElNX1NSX0NDM09GICAgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MTZfdCkweDA4MDApICAgICAgICAgICAgLyohPENhcHR1cmUvQ29tcGFyZSAzIE92ZXJjYXB0dXJlIEZsYWcgKi8KKyNkZWZpbmUgIFRJTV9TUl9DQzRPRiAgICAgICAgICAgICAgICAgICAgICAgICgodWludDE2X3QpMHgxMDAwKSAgICAgICAgICAgIC8qITxDYXB0dXJlL0NvbXBhcmUgNCBPdmVyY2FwdHVyZSBGbGFnICovCisKKy8qKioqKioqKioqKioqKioqKioqICBCaXQgZGVmaW5pdGlvbiBmb3IgVElNX0VHUiByZWdpc3RlciAgKioqKioqKioqKioqKioqKioqKiovCisjZGVmaW5lICBUSU1fRUdSX1VHICAgICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQ4X3QpMHgwMSkgICAgICAgICAgICAgICAvKiE8VXBkYXRlIEdlbmVyYXRpb24gKi8KKyNkZWZpbmUgIFRJTV9FR1JfQ0MxRyAgICAgICAgICAgICAgICAgICAgICAgICgodWludDhfdCkweDAyKSAgICAgICAgICAgICAgIC8qITxDYXB0dXJlL0NvbXBhcmUgMSBHZW5lcmF0aW9uICovCisjZGVmaW5lICBUSU1fRUdSX0NDMkcgICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQ4X3QpMHgwNCkgICAgICAgICAgICAgICAvKiE8Q2FwdHVyZS9Db21wYXJlIDIgR2VuZXJhdGlvbiAqLworI2RlZmluZSAgVElNX0VHUl9DQzNHICAgICAgICAgICAgICAgICAgICAgICAgKCh1aW50OF90KTB4MDgpICAgICAgICAgICAgICAgLyohPENhcHR1cmUvQ29tcGFyZSAzIEdlbmVyYXRpb24gKi8KKyNkZWZpbmUgIFRJTV9FR1JfQ0M0RyAgICAgICAgICAgICAgICAgICAgICAgICgodWludDhfdCkweDEwKSAgICAgICAgICAgICAgIC8qITxDYXB0dXJlL0NvbXBhcmUgNCBHZW5lcmF0aW9uICovCisjZGVmaW5lICBUSU1fRUdSX0NPTUcgICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQ4X3QpMHgyMCkgICAgICAgICAgICAgICAvKiE8Q2FwdHVyZS9Db21wYXJlIENvbnRyb2wgVXBkYXRlIEdlbmVyYXRpb24gKi8KKyNkZWZpbmUgIFRJTV9FR1JfVEcgICAgICAgICAgICAgICAgICAgICAgICAgICgodWludDhfdCkweDQwKSAgICAgICAgICAgICAgIC8qITxUcmlnZ2VyIEdlbmVyYXRpb24gKi8KKyNkZWZpbmUgIFRJTV9FR1JfQkcgICAgICAgICAgICAgICAgICAgICAgICAgICgodWludDhfdCkweDgwKSAgICAgICAgICAgICAgIC8qITxCcmVhayBHZW5lcmF0aW9uICovCisKKy8qKioqKioqKioqKioqKioqKiogIEJpdCBkZWZpbml0aW9uIGZvciBUSU1fQ0NNUjEgcmVnaXN0ZXIgICoqKioqKioqKioqKioqKioqKiovCisjZGVmaW5lICBUSU1fQ0NNUjFfQ0MxUyAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQxNl90KTB4MDAwMykgICAgICAgICAgICAvKiE8Q0MxU1sxOjBdIGJpdHMgKENhcHR1cmUvQ29tcGFyZSAxIFNlbGVjdGlvbikgKi8KKyNkZWZpbmUgIFRJTV9DQ01SMV9DQzFTXzAgICAgICAgICAgICAgICAgICAgICgodWludDE2X3QpMHgwMDAxKSAgICAgICAgICAgIC8qITxCaXQgMCAqLworI2RlZmluZSAgVElNX0NDTVIxX0NDMVNfMSAgICAgICAgICAgICAgICAgICAgKCh1aW50MTZfdCkweDAwMDIpICAgICAgICAgICAgLyohPEJpdCAxICovCisKKyNkZWZpbmUgIFRJTV9DQ01SMV9PQzFGRSAgICAgICAgICAgICAgICAgICAgICgodWludDE2X3QpMHgwMDA0KSAgICAgICAgICAgIC8qITxPdXRwdXQgQ29tcGFyZSAxIEZhc3QgZW5hYmxlICovCisjZGVmaW5lICBUSU1fQ0NNUjFfT0MxUEUgICAgICAgICAgICAgICAgICAgICAoKHVpbnQxNl90KTB4MDAwOCkgICAgICAgICAgICAvKiE8T3V0cHV0IENvbXBhcmUgMSBQcmVsb2FkIGVuYWJsZSAqLworCisjZGVmaW5lICBUSU1fQ0NNUjFfT0MxTSAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQxNl90KTB4MDA3MCkgICAgICAgICAgICAvKiE8T0MxTVsyOjBdIGJpdHMgKE91dHB1dCBDb21wYXJlIDEgTW9kZSkgKi8KKyNkZWZpbmUgIFRJTV9DQ01SMV9PQzFNXzAgICAgICAgICAgICAgICAgICAgICgodWludDE2X3QpMHgwMDEwKSAgICAgICAgICAgIC8qITxCaXQgMCAqLworI2RlZmluZSAgVElNX0NDTVIxX09DMU1fMSAgICAgICAgICAgICAgICAgICAgKCh1aW50MTZfdCkweDAwMjApICAgICAgICAgICAgLyohPEJpdCAxICovCisjZGVmaW5lICBUSU1fQ0NNUjFfT0MxTV8yICAgICAgICAgICAgICAgICAgICAoKHVpbnQxNl90KTB4MDA0MCkgICAgICAgICAgICAvKiE8Qml0IDIgKi8KKworI2RlZmluZSAgVElNX0NDTVIxX09DMUNFICAgICAgICAgICAgICAgICAgICAgKCh1aW50MTZfdCkweDAwODApICAgICAgICAgICAgLyohPE91dHB1dCBDb21wYXJlIDFDbGVhciBFbmFibGUgKi8KKworI2RlZmluZSAgVElNX0NDTVIxX0NDMlMgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MTZfdCkweDAzMDApICAgICAgICAgICAgLyohPENDMlNbMTowXSBiaXRzIChDYXB0dXJlL0NvbXBhcmUgMiBTZWxlY3Rpb24pICovCisjZGVmaW5lICBUSU1fQ0NNUjFfQ0MyU18wICAgICAgICAgICAgICAgICAgICAoKHVpbnQxNl90KTB4MDEwMCkgICAgICAgICAgICAvKiE8Qml0IDAgKi8KKyNkZWZpbmUgIFRJTV9DQ01SMV9DQzJTXzEgICAgICAgICAgICAgICAgICAgICgodWludDE2X3QpMHgwMjAwKSAgICAgICAgICAgIC8qITxCaXQgMSAqLworCisjZGVmaW5lICBUSU1fQ0NNUjFfT0MyRkUgICAgICAgICAgICAgICAgICAgICAoKHVpbnQxNl90KTB4MDQwMCkgICAgICAgICAgICAvKiE8T3V0cHV0IENvbXBhcmUgMiBGYXN0IGVuYWJsZSAqLworI2RlZmluZSAgVElNX0NDTVIxX09DMlBFICAgICAgICAgICAgICAgICAgICAgKCh1aW50MTZfdCkweDA4MDApICAgICAgICAgICAgLyohPE91dHB1dCBDb21wYXJlIDIgUHJlbG9hZCBlbmFibGUgKi8KKworI2RlZmluZSAgVElNX0NDTVIxX09DMk0gICAgICAgICAgICAgICAgICAgICAgKCh1aW50MTZfdCkweDcwMDApICAgICAgICAgICAgLyohPE9DMk1bMjowXSBiaXRzIChPdXRwdXQgQ29tcGFyZSAyIE1vZGUpICovCisjZGVmaW5lICBUSU1fQ0NNUjFfT0MyTV8wICAgICAgICAgICAgICAgICAgICAoKHVpbnQxNl90KTB4MTAwMCkgICAgICAgICAgICAvKiE8Qml0IDAgKi8KKyNkZWZpbmUgIFRJTV9DQ01SMV9PQzJNXzEgICAgICAgICAgICAgICAgICAgICgodWludDE2X3QpMHgyMDAwKSAgICAgICAgICAgIC8qITxCaXQgMSAqLworI2RlZmluZSAgVElNX0NDTVIxX09DMk1fMiAgICAgICAgICAgICAgICAgICAgKCh1aW50MTZfdCkweDQwMDApICAgICAgICAgICAgLyohPEJpdCAyICovCisKKyNkZWZpbmUgIFRJTV9DQ01SMV9PQzJDRSAgICAgICAgICAgICAgICAgICAgICgodWludDE2X3QpMHg4MDAwKSAgICAgICAgICAgIC8qITxPdXRwdXQgQ29tcGFyZSAyIENsZWFyIEVuYWJsZSAqLworCisvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLworCisjZGVmaW5lICBUSU1fQ0NNUjFfSUMxUFNDICAgICAgICAgICAgICAgICAgICAoKHVpbnQxNl90KTB4MDAwQykgICAgICAgICAgICAvKiE8SUMxUFNDWzE6MF0gYml0cyAoSW5wdXQgQ2FwdHVyZSAxIFByZXNjYWxlcikgKi8KKyNkZWZpbmUgIFRJTV9DQ01SMV9JQzFQU0NfMCAgICAgICAgICAgICAgICAgICgodWludDE2X3QpMHgwMDA0KSAgICAgICAgICAgIC8qITxCaXQgMCAqLworI2RlZmluZSAgVElNX0NDTVIxX0lDMVBTQ18xICAgICAgICAgICAgICAgICAgKCh1aW50MTZfdCkweDAwMDgpICAgICAgICAgICAgLyohPEJpdCAxICovCisKKyNkZWZpbmUgIFRJTV9DQ01SMV9JQzFGICAgICAgICAgICAgICAgICAgICAgICgodWludDE2X3QpMHgwMEYwKSAgICAgICAgICAgIC8qITxJQzFGWzM6MF0gYml0cyAoSW5wdXQgQ2FwdHVyZSAxIEZpbHRlcikgKi8KKyNkZWZpbmUgIFRJTV9DQ01SMV9JQzFGXzAgICAgICAgICAgICAgICAgICAgICgodWludDE2X3QpMHgwMDEwKSAgICAgICAgICAgIC8qITxCaXQgMCAqLworI2RlZmluZSAgVElNX0NDTVIxX0lDMUZfMSAgICAgICAgICAgICAgICAgICAgKCh1aW50MTZfdCkweDAwMjApICAgICAgICAgICAgLyohPEJpdCAxICovCisjZGVmaW5lICBUSU1fQ0NNUjFfSUMxRl8yICAgICAgICAgICAgICAgICAgICAoKHVpbnQxNl90KTB4MDA0MCkgICAgICAgICAgICAvKiE8Qml0IDIgKi8KKyNkZWZpbmUgIFRJTV9DQ01SMV9JQzFGXzMgICAgICAgICAgICAgICAgICAgICgodWludDE2X3QpMHgwMDgwKSAgICAgICAgICAgIC8qITxCaXQgMyAqLworCisjZGVmaW5lICBUSU1fQ0NNUjFfSUMyUFNDICAgICAgICAgICAgICAgICAgICAoKHVpbnQxNl90KTB4MEMwMCkgICAgICAgICAgICAvKiE8SUMyUFNDWzE6MF0gYml0cyAoSW5wdXQgQ2FwdHVyZSAyIFByZXNjYWxlcikgKi8KKyNkZWZpbmUgIFRJTV9DQ01SMV9JQzJQU0NfMCAgICAgICAgICAgICAgICAgICgodWludDE2X3QpMHgwNDAwKSAgICAgICAgICAgIC8qITxCaXQgMCAqLworI2RlZmluZSAgVElNX0NDTVIxX0lDMlBTQ18xICAgICAgICAgICAgICAgICAgKCh1aW50MTZfdCkweDA4MDApICAgICAgICAgICAgLyohPEJpdCAxICovCisKKyNkZWZpbmUgIFRJTV9DQ01SMV9JQzJGICAgICAgICAgICAgICAgICAgICAgICgodWludDE2X3QpMHhGMDAwKSAgICAgICAgICAgIC8qITxJQzJGWzM6MF0gYml0cyAoSW5wdXQgQ2FwdHVyZSAyIEZpbHRlcikgKi8KKyNkZWZpbmUgIFRJTV9DQ01SMV9JQzJGXzAgICAgICAgICAgICAgICAgICAgICgodWludDE2X3QpMHgxMDAwKSAgICAgICAgICAgIC8qITxCaXQgMCAqLworI2RlZmluZSAgVElNX0NDTVIxX0lDMkZfMSAgICAgICAgICAgICAgICAgICAgKCh1aW50MTZfdCkweDIwMDApICAgICAgICAgICAgLyohPEJpdCAxICovCisjZGVmaW5lICBUSU1fQ0NNUjFfSUMyRl8yICAgICAgICAgICAgICAgICAgICAoKHVpbnQxNl90KTB4NDAwMCkgICAgICAgICAgICAvKiE8Qml0IDIgKi8KKyNkZWZpbmUgIFRJTV9DQ01SMV9JQzJGXzMgICAgICAgICAgICAgICAgICAgICgodWludDE2X3QpMHg4MDAwKSAgICAgICAgICAgIC8qITxCaXQgMyAqLworCisvKioqKioqKioqKioqKioqKioqICBCaXQgZGVmaW5pdGlvbiBmb3IgVElNX0NDTVIyIHJlZ2lzdGVyICAqKioqKioqKioqKioqKioqKioqLworI2RlZmluZSAgVElNX0NDTVIyX0NDM1MgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MTZfdCkweDAwMDMpICAgICAgICAgICAgLyohPENDM1NbMTowXSBiaXRzIChDYXB0dXJlL0NvbXBhcmUgMyBTZWxlY3Rpb24pICovCisjZGVmaW5lICBUSU1fQ0NNUjJfQ0MzU18wICAgICAgICAgICAgICAgICAgICAoKHVpbnQxNl90KTB4MDAwMSkgICAgICAgICAgICAvKiE8Qml0IDAgKi8KKyNkZWZpbmUgIFRJTV9DQ01SMl9DQzNTXzEgICAgICAgICAgICAgICAgICAgICgodWludDE2X3QpMHgwMDAyKSAgICAgICAgICAgIC8qITxCaXQgMSAqLworCisjZGVmaW5lICBUSU1fQ0NNUjJfT0MzRkUgICAgICAgICAgICAgICAgICAgICAoKHVpbnQxNl90KTB4MDAwNCkgICAgICAgICAgICAvKiE8T3V0cHV0IENvbXBhcmUgMyBGYXN0IGVuYWJsZSAqLworI2RlZmluZSAgVElNX0NDTVIyX09DM1BFICAgICAgICAgICAgICAgICAgICAgKCh1aW50MTZfdCkweDAwMDgpICAgICAgICAgICAgLyohPE91dHB1dCBDb21wYXJlIDMgUHJlbG9hZCBlbmFibGUgKi8KKworI2RlZmluZSAgVElNX0NDTVIyX09DM00gICAgICAgICAgICAgICAgICAgICAgKCh1aW50MTZfdCkweDAwNzApICAgICAgICAgICAgLyohPE9DM01bMjowXSBiaXRzIChPdXRwdXQgQ29tcGFyZSAzIE1vZGUpICovCisjZGVmaW5lICBUSU1fQ0NNUjJfT0MzTV8wICAgICAgICAgICAgICAgICAgICAoKHVpbnQxNl90KTB4MDAxMCkgICAgICAgICAgICAvKiE8Qml0IDAgKi8KKyNkZWZpbmUgIFRJTV9DQ01SMl9PQzNNXzEgICAgICAgICAgICAgICAgICAgICgodWludDE2X3QpMHgwMDIwKSAgICAgICAgICAgIC8qITxCaXQgMSAqLworI2RlZmluZSAgVElNX0NDTVIyX09DM01fMiAgICAgICAgICAgICAgICAgICAgKCh1aW50MTZfdCkweDAwNDApICAgICAgICAgICAgLyohPEJpdCAyICovCisKKyNkZWZpbmUgIFRJTV9DQ01SMl9PQzNDRSAgICAgICAgICAgICAgICAgICAgICgodWludDE2X3QpMHgwMDgwKSAgICAgICAgICAgIC8qITxPdXRwdXQgQ29tcGFyZSAzIENsZWFyIEVuYWJsZSAqLworCisjZGVmaW5lICBUSU1fQ0NNUjJfQ0M0UyAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQxNl90KTB4MDMwMCkgICAgICAgICAgICAvKiE8Q0M0U1sxOjBdIGJpdHMgKENhcHR1cmUvQ29tcGFyZSA0IFNlbGVjdGlvbikgKi8KKyNkZWZpbmUgIFRJTV9DQ01SMl9DQzRTXzAgICAgICAgICAgICAgICAgICAgICgodWludDE2X3QpMHgwMTAwKSAgICAgICAgICAgIC8qITxCaXQgMCAqLworI2RlZmluZSAgVElNX0NDTVIyX0NDNFNfMSAgICAgICAgICAgICAgICAgICAgKCh1aW50MTZfdCkweDAyMDApICAgICAgICAgICAgLyohPEJpdCAxICovCisKKyNkZWZpbmUgIFRJTV9DQ01SMl9PQzRGRSAgICAgICAgICAgICAgICAgICAgICgodWludDE2X3QpMHgwNDAwKSAgICAgICAgICAgIC8qITxPdXRwdXQgQ29tcGFyZSA0IEZhc3QgZW5hYmxlICovCisjZGVmaW5lICBUSU1fQ0NNUjJfT0M0UEUgICAgICAgICAgICAgICAgICAgICAoKHVpbnQxNl90KTB4MDgwMCkgICAgICAgICAgICAvKiE8T3V0cHV0IENvbXBhcmUgNCBQcmVsb2FkIGVuYWJsZSAqLworCisjZGVmaW5lICBUSU1fQ0NNUjJfT0M0TSAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQxNl90KTB4NzAwMCkgICAgICAgICAgICAvKiE8T0M0TVsyOjBdIGJpdHMgKE91dHB1dCBDb21wYXJlIDQgTW9kZSkgKi8KKyNkZWZpbmUgIFRJTV9DQ01SMl9PQzRNXzAgICAgICAgICAgICAgICAgICAgICgodWludDE2X3QpMHgxMDAwKSAgICAgICAgICAgIC8qITxCaXQgMCAqLworI2RlZmluZSAgVElNX0NDTVIyX09DNE1fMSAgICAgICAgICAgICAgICAgICAgKCh1aW50MTZfdCkweDIwMDApICAgICAgICAgICAgLyohPEJpdCAxICovCisjZGVmaW5lICBUSU1fQ0NNUjJfT0M0TV8yICAgICAgICAgICAgICAgICAgICAoKHVpbnQxNl90KTB4NDAwMCkgICAgICAgICAgICAvKiE8Qml0IDIgKi8KKworI2RlZmluZSAgVElNX0NDTVIyX09DNENFICAgICAgICAgICAgICAgICAgICAgKCh1aW50MTZfdCkweDgwMDApICAgICAgICAgICAgLyohPE91dHB1dCBDb21wYXJlIDQgQ2xlYXIgRW5hYmxlICovCisKKy8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovCisKKyNkZWZpbmUgIFRJTV9DQ01SMl9JQzNQU0MgICAgICAgICAgICAgICAgICAgICgodWludDE2X3QpMHgwMDBDKSAgICAgICAgICAgIC8qITxJQzNQU0NbMTowXSBiaXRzIChJbnB1dCBDYXB0dXJlIDMgUHJlc2NhbGVyKSAqLworI2RlZmluZSAgVElNX0NDTVIyX0lDM1BTQ18wICAgICAgICAgICAgICAgICAgKCh1aW50MTZfdCkweDAwMDQpICAgICAgICAgICAgLyohPEJpdCAwICovCisjZGVmaW5lICBUSU1fQ0NNUjJfSUMzUFNDXzEgICAgICAgICAgICAgICAgICAoKHVpbnQxNl90KTB4MDAwOCkgICAgICAgICAgICAvKiE8Qml0IDEgKi8KKworI2RlZmluZSAgVElNX0NDTVIyX0lDM0YgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MTZfdCkweDAwRjApICAgICAgICAgICAgLyohPElDM0ZbMzowXSBiaXRzIChJbnB1dCBDYXB0dXJlIDMgRmlsdGVyKSAqLworI2RlZmluZSAgVElNX0NDTVIyX0lDM0ZfMCAgICAgICAgICAgICAgICAgICAgKCh1aW50MTZfdCkweDAwMTApICAgICAgICAgICAgLyohPEJpdCAwICovCisjZGVmaW5lICBUSU1fQ0NNUjJfSUMzRl8xICAgICAgICAgICAgICAgICAgICAoKHVpbnQxNl90KTB4MDAyMCkgICAgICAgICAgICAvKiE8Qml0IDEgKi8KKyNkZWZpbmUgIFRJTV9DQ01SMl9JQzNGXzIgICAgICAgICAgICAgICAgICAgICgodWludDE2X3QpMHgwMDQwKSAgICAgICAgICAgIC8qITxCaXQgMiAqLworI2RlZmluZSAgVElNX0NDTVIyX0lDM0ZfMyAgICAgICAgICAgICAgICAgICAgKCh1aW50MTZfdCkweDAwODApICAgICAgICAgICAgLyohPEJpdCAzICovCisKKyNkZWZpbmUgIFRJTV9DQ01SMl9JQzRQU0MgICAgICAgICAgICAgICAgICAgICgodWludDE2X3QpMHgwQzAwKSAgICAgICAgICAgIC8qITxJQzRQU0NbMTowXSBiaXRzIChJbnB1dCBDYXB0dXJlIDQgUHJlc2NhbGVyKSAqLworI2RlZmluZSAgVElNX0NDTVIyX0lDNFBTQ18wICAgICAgICAgICAgICAgICAgKCh1aW50MTZfdCkweDA0MDApICAgICAgICAgICAgLyohPEJpdCAwICovCisjZGVmaW5lICBUSU1fQ0NNUjJfSUM0UFNDXzEgICAgICAgICAgICAgICAgICAoKHVpbnQxNl90KTB4MDgwMCkgICAgICAgICAgICAvKiE8Qml0IDEgKi8KKworI2RlZmluZSAgVElNX0NDTVIyX0lDNEYgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MTZfdCkweEYwMDApICAgICAgICAgICAgLyohPElDNEZbMzowXSBiaXRzIChJbnB1dCBDYXB0dXJlIDQgRmlsdGVyKSAqLworI2RlZmluZSAgVElNX0NDTVIyX0lDNEZfMCAgICAgICAgICAgICAgICAgICAgKCh1aW50MTZfdCkweDEwMDApICAgICAgICAgICAgLyohPEJpdCAwICovCisjZGVmaW5lICBUSU1fQ0NNUjJfSUM0Rl8xICAgICAgICAgICAgICAgICAgICAoKHVpbnQxNl90KTB4MjAwMCkgICAgICAgICAgICAvKiE8Qml0IDEgKi8KKyNkZWZpbmUgIFRJTV9DQ01SMl9JQzRGXzIgICAgICAgICAgICAgICAgICAgICgodWludDE2X3QpMHg0MDAwKSAgICAgICAgICAgIC8qITxCaXQgMiAqLworI2RlZmluZSAgVElNX0NDTVIyX0lDNEZfMyAgICAgICAgICAgICAgICAgICAgKCh1aW50MTZfdCkweDgwMDApICAgICAgICAgICAgLyohPEJpdCAzICovCisKKy8qKioqKioqKioqKioqKioqKioqICBCaXQgZGVmaW5pdGlvbiBmb3IgVElNX0NDRVIgcmVnaXN0ZXIgICoqKioqKioqKioqKioqKioqKiovCisjZGVmaW5lICBUSU1fQ0NFUl9DQzFFICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQxNl90KTB4MDAwMSkgICAgICAgICAgICAvKiE8Q2FwdHVyZS9Db21wYXJlIDEgb3V0cHV0IGVuYWJsZSAqLworI2RlZmluZSAgVElNX0NDRVJfQ0MxUCAgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MTZfdCkweDAwMDIpICAgICAgICAgICAgLyohPENhcHR1cmUvQ29tcGFyZSAxIG91dHB1dCBQb2xhcml0eSAqLworI2RlZmluZSAgVElNX0NDRVJfQ0MxTkUgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MTZfdCkweDAwMDQpICAgICAgICAgICAgLyohPENhcHR1cmUvQ29tcGFyZSAxIENvbXBsZW1lbnRhcnkgb3V0cHV0IGVuYWJsZSAqLworI2RlZmluZSAgVElNX0NDRVJfQ0MxTlAgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MTZfdCkweDAwMDgpICAgICAgICAgICAgLyohPENhcHR1cmUvQ29tcGFyZSAxIENvbXBsZW1lbnRhcnkgb3V0cHV0IFBvbGFyaXR5ICovCisjZGVmaW5lICBUSU1fQ0NFUl9DQzJFICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQxNl90KTB4MDAxMCkgICAgICAgICAgICAvKiE8Q2FwdHVyZS9Db21wYXJlIDIgb3V0cHV0IGVuYWJsZSAqLworI2RlZmluZSAgVElNX0NDRVJfQ0MyUCAgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MTZfdCkweDAwMjApICAgICAgICAgICAgLyohPENhcHR1cmUvQ29tcGFyZSAyIG91dHB1dCBQb2xhcml0eSAqLworI2RlZmluZSAgVElNX0NDRVJfQ0MyTkUgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MTZfdCkweDAwNDApICAgICAgICAgICAgLyohPENhcHR1cmUvQ29tcGFyZSAyIENvbXBsZW1lbnRhcnkgb3V0cHV0IGVuYWJsZSAqLworI2RlZmluZSAgVElNX0NDRVJfQ0MyTlAgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MTZfdCkweDAwODApICAgICAgICAgICAgLyohPENhcHR1cmUvQ29tcGFyZSAyIENvbXBsZW1lbnRhcnkgb3V0cHV0IFBvbGFyaXR5ICovCisjZGVmaW5lICBUSU1fQ0NFUl9DQzNFICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQxNl90KTB4MDEwMCkgICAgICAgICAgICAvKiE8Q2FwdHVyZS9Db21wYXJlIDMgb3V0cHV0IGVuYWJsZSAqLworI2RlZmluZSAgVElNX0NDRVJfQ0MzUCAgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MTZfdCkweDAyMDApICAgICAgICAgICAgLyohPENhcHR1cmUvQ29tcGFyZSAzIG91dHB1dCBQb2xhcml0eSAqLworI2RlZmluZSAgVElNX0NDRVJfQ0MzTkUgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MTZfdCkweDA0MDApICAgICAgICAgICAgLyohPENhcHR1cmUvQ29tcGFyZSAzIENvbXBsZW1lbnRhcnkgb3V0cHV0IGVuYWJsZSAqLworI2RlZmluZSAgVElNX0NDRVJfQ0MzTlAgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MTZfdCkweDA4MDApICAgICAgICAgICAgLyohPENhcHR1cmUvQ29tcGFyZSAzIENvbXBsZW1lbnRhcnkgb3V0cHV0IFBvbGFyaXR5ICovCisjZGVmaW5lICBUSU1fQ0NFUl9DQzRFICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQxNl90KTB4MTAwMCkgICAgICAgICAgICAvKiE8Q2FwdHVyZS9Db21wYXJlIDQgb3V0cHV0IGVuYWJsZSAqLworI2RlZmluZSAgVElNX0NDRVJfQ0M0UCAgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MTZfdCkweDIwMDApICAgICAgICAgICAgLyohPENhcHR1cmUvQ29tcGFyZSA0IG91dHB1dCBQb2xhcml0eSAqLworI2RlZmluZSAgVElNX0NDRVJfQ0M0TlAgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MTZfdCkweDgwMDApICAgICAgICAgICAgLyohPENhcHR1cmUvQ29tcGFyZSA0IENvbXBsZW1lbnRhcnkgb3V0cHV0IFBvbGFyaXR5ICovCisKKy8qKioqKioqKioqKioqKioqKioqICBCaXQgZGVmaW5pdGlvbiBmb3IgVElNX0NOVCByZWdpc3RlciAgKioqKioqKioqKioqKioqKioqKiovCisjZGVmaW5lICBUSU1fQ05UX0NOVCAgICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQxNl90KTB4RkZGRikgICAgICAgICAgICAvKiE8Q291bnRlciBWYWx1ZSAqLworCisvKioqKioqKioqKioqKioqKioqKiAgQml0IGRlZmluaXRpb24gZm9yIFRJTV9QU0MgcmVnaXN0ZXIgICoqKioqKioqKioqKioqKioqKioqLworI2RlZmluZSAgVElNX1BTQ19QU0MgICAgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MTZfdCkweEZGRkYpICAgICAgICAgICAgLyohPFByZXNjYWxlciBWYWx1ZSAqLworCisvKioqKioqKioqKioqKioqKioqKiAgQml0IGRlZmluaXRpb24gZm9yIFRJTV9BUlIgcmVnaXN0ZXIgICoqKioqKioqKioqKioqKioqKioqLworI2RlZmluZSAgVElNX0FSUl9BUlIgICAgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MTZfdCkweEZGRkYpICAgICAgICAgICAgLyohPGFjdHVhbCBhdXRvLXJlbG9hZCBWYWx1ZSAqLworCisvKioqKioqKioqKioqKioqKioqKiAgQml0IGRlZmluaXRpb24gZm9yIFRJTV9SQ1IgcmVnaXN0ZXIgICoqKioqKioqKioqKioqKioqKioqLworI2RlZmluZSAgVElNX1JDUl9SRVAgICAgICAgICAgICAgICAgICAgICAgICAgKCh1aW50OF90KTB4RkYpICAgICAgICAgICAgICAgLyohPFJlcGV0aXRpb24gQ291bnRlciBWYWx1ZSAqLworCisvKioqKioqKioqKioqKioqKioqKiAgQml0IGRlZmluaXRpb24gZm9yIFRJTV9DQ1IxIHJlZ2lzdGVyICAqKioqKioqKioqKioqKioqKioqLworI2RlZmluZSAgVElNX0NDUjFfQ0NSMSAgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MTZfdCkweEZGRkYpICAgICAgICAgICAgLyohPENhcHR1cmUvQ29tcGFyZSAxIFZhbHVlICovCisKKy8qKioqKioqKioqKioqKioqKioqICBCaXQgZGVmaW5pdGlvbiBmb3IgVElNX0NDUjIgcmVnaXN0ZXIgICoqKioqKioqKioqKioqKioqKiovCisjZGVmaW5lICBUSU1fQ0NSMl9DQ1IyICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQxNl90KTB4RkZGRikgICAgICAgICAgICAvKiE8Q2FwdHVyZS9Db21wYXJlIDIgVmFsdWUgKi8KKworLyoqKioqKioqKioqKioqKioqKiogIEJpdCBkZWZpbml0aW9uIGZvciBUSU1fQ0NSMyByZWdpc3RlciAgKioqKioqKioqKioqKioqKioqKi8KKyNkZWZpbmUgIFRJTV9DQ1IzX0NDUjMgICAgICAgICAgICAgICAgICAgICAgICgodWludDE2X3QpMHhGRkZGKSAgICAgICAgICAgIC8qITxDYXB0dXJlL0NvbXBhcmUgMyBWYWx1ZSAqLworCisvKioqKioqKioqKioqKioqKioqKiAgQml0IGRlZmluaXRpb24gZm9yIFRJTV9DQ1I0IHJlZ2lzdGVyICAqKioqKioqKioqKioqKioqKioqLworI2RlZmluZSAgVElNX0NDUjRfQ0NSNCAgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MTZfdCkweEZGRkYpICAgICAgICAgICAgLyohPENhcHR1cmUvQ29tcGFyZSA0IFZhbHVlICovCisKKy8qKioqKioqKioqKioqKioqKioqICBCaXQgZGVmaW5pdGlvbiBmb3IgVElNX0JEVFIgcmVnaXN0ZXIgICoqKioqKioqKioqKioqKioqKiovCisjZGVmaW5lICBUSU1fQkRUUl9EVEcgICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQxNl90KTB4MDBGRikgICAgICAgICAgICAvKiE8RFRHWzA6N10gYml0cyAoRGVhZC1UaW1lIEdlbmVyYXRvciBzZXQtdXApICovCisjZGVmaW5lICBUSU1fQkRUUl9EVEdfMCAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQxNl90KTB4MDAwMSkgICAgICAgICAgICAvKiE8Qml0IDAgKi8KKyNkZWZpbmUgIFRJTV9CRFRSX0RUR18xICAgICAgICAgICAgICAgICAgICAgICgodWludDE2X3QpMHgwMDAyKSAgICAgICAgICAgIC8qITxCaXQgMSAqLworI2RlZmluZSAgVElNX0JEVFJfRFRHXzIgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MTZfdCkweDAwMDQpICAgICAgICAgICAgLyohPEJpdCAyICovCisjZGVmaW5lICBUSU1fQkRUUl9EVEdfMyAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQxNl90KTB4MDAwOCkgICAgICAgICAgICAvKiE8Qml0IDMgKi8KKyNkZWZpbmUgIFRJTV9CRFRSX0RUR180ICAgICAgICAgICAgICAgICAgICAgICgodWludDE2X3QpMHgwMDEwKSAgICAgICAgICAgIC8qITxCaXQgNCAqLworI2RlZmluZSAgVElNX0JEVFJfRFRHXzUgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MTZfdCkweDAwMjApICAgICAgICAgICAgLyohPEJpdCA1ICovCisjZGVmaW5lICBUSU1fQkRUUl9EVEdfNiAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQxNl90KTB4MDA0MCkgICAgICAgICAgICAvKiE8Qml0IDYgKi8KKyNkZWZpbmUgIFRJTV9CRFRSX0RUR183ICAgICAgICAgICAgICAgICAgICAgICgodWludDE2X3QpMHgwMDgwKSAgICAgICAgICAgIC8qITxCaXQgNyAqLworCisjZGVmaW5lICBUSU1fQkRUUl9MT0NLICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQxNl90KTB4MDMwMCkgICAgICAgICAgICAvKiE8TE9DS1sxOjBdIGJpdHMgKExvY2sgQ29uZmlndXJhdGlvbikgKi8KKyNkZWZpbmUgIFRJTV9CRFRSX0xPQ0tfMCAgICAgICAgICAgICAgICAgICAgICgodWludDE2X3QpMHgwMTAwKSAgICAgICAgICAgIC8qITxCaXQgMCAqLworI2RlZmluZSAgVElNX0JEVFJfTE9DS18xICAgICAgICAgICAgICAgICAgICAgKCh1aW50MTZfdCkweDAyMDApICAgICAgICAgICAgLyohPEJpdCAxICovCisKKyNkZWZpbmUgIFRJTV9CRFRSX09TU0kgICAgICAgICAgICAgICAgICAgICAgICgodWludDE2X3QpMHgwNDAwKSAgICAgICAgICAgIC8qITxPZmYtU3RhdGUgU2VsZWN0aW9uIGZvciBJZGxlIG1vZGUgKi8KKyNkZWZpbmUgIFRJTV9CRFRSX09TU1IgICAgICAgICAgICAgICAgICAgICAgICgodWludDE2X3QpMHgwODAwKSAgICAgICAgICAgIC8qITxPZmYtU3RhdGUgU2VsZWN0aW9uIGZvciBSdW4gbW9kZSAqLworI2RlZmluZSAgVElNX0JEVFJfQktFICAgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MTZfdCkweDEwMDApICAgICAgICAgICAgLyohPEJyZWFrIGVuYWJsZSAqLworI2RlZmluZSAgVElNX0JEVFJfQktQICAgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MTZfdCkweDIwMDApICAgICAgICAgICAgLyohPEJyZWFrIFBvbGFyaXR5ICovCisjZGVmaW5lICBUSU1fQkRUUl9BT0UgICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQxNl90KTB4NDAwMCkgICAgICAgICAgICAvKiE8QXV0b21hdGljIE91dHB1dCBlbmFibGUgKi8KKyNkZWZpbmUgIFRJTV9CRFRSX01PRSAgICAgICAgICAgICAgICAgICAgICAgICgodWludDE2X3QpMHg4MDAwKSAgICAgICAgICAgIC8qITxNYWluIE91dHB1dCBlbmFibGUgKi8KKworLyoqKioqKioqKioqKioqKioqKiogIEJpdCBkZWZpbml0aW9uIGZvciBUSU1fRENSIHJlZ2lzdGVyICAqKioqKioqKioqKioqKioqKioqKi8KKyNkZWZpbmUgIFRJTV9EQ1JfREJBICAgICAgICAgICAgICAgICAgICAgICAgICgodWludDE2X3QpMHgwMDFGKSAgICAgICAgICAgIC8qITxEQkFbNDowXSBiaXRzIChETUEgQmFzZSBBZGRyZXNzKSAqLworI2RlZmluZSAgVElNX0RDUl9EQkFfMCAgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MTZfdCkweDAwMDEpICAgICAgICAgICAgLyohPEJpdCAwICovCisjZGVmaW5lICBUSU1fRENSX0RCQV8xICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQxNl90KTB4MDAwMikgICAgICAgICAgICAvKiE8Qml0IDEgKi8KKyNkZWZpbmUgIFRJTV9EQ1JfREJBXzIgICAgICAgICAgICAgICAgICAgICAgICgodWludDE2X3QpMHgwMDA0KSAgICAgICAgICAgIC8qITxCaXQgMiAqLworI2RlZmluZSAgVElNX0RDUl9EQkFfMyAgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MTZfdCkweDAwMDgpICAgICAgICAgICAgLyohPEJpdCAzICovCisjZGVmaW5lICBUSU1fRENSX0RCQV80ICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQxNl90KTB4MDAxMCkgICAgICAgICAgICAvKiE8Qml0IDQgKi8KKworI2RlZmluZSAgVElNX0RDUl9EQkwgICAgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MTZfdCkweDFGMDApICAgICAgICAgICAgLyohPERCTFs0OjBdIGJpdHMgKERNQSBCdXJzdCBMZW5ndGgpICovCisjZGVmaW5lICBUSU1fRENSX0RCTF8wICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQxNl90KTB4MDEwMCkgICAgICAgICAgICAvKiE8Qml0IDAgKi8KKyNkZWZpbmUgIFRJTV9EQ1JfREJMXzEgICAgICAgICAgICAgICAgICAgICAgICgodWludDE2X3QpMHgwMjAwKSAgICAgICAgICAgIC8qITxCaXQgMSAqLworI2RlZmluZSAgVElNX0RDUl9EQkxfMiAgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MTZfdCkweDA0MDApICAgICAgICAgICAgLyohPEJpdCAyICovCisjZGVmaW5lICBUSU1fRENSX0RCTF8zICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQxNl90KTB4MDgwMCkgICAgICAgICAgICAvKiE8Qml0IDMgKi8KKyNkZWZpbmUgIFRJTV9EQ1JfREJMXzQgICAgICAgICAgICAgICAgICAgICAgICgodWludDE2X3QpMHgxMDAwKSAgICAgICAgICAgIC8qITxCaXQgNCAqLworCisvKioqKioqKioqKioqKioqKioqKiAgQml0IGRlZmluaXRpb24gZm9yIFRJTV9ETUFSIHJlZ2lzdGVyICAqKioqKioqKioqKioqKioqKioqLworI2RlZmluZSAgVElNX0RNQVJfRE1BQiAgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MTZfdCkweEZGRkYpICAgICAgICAgICAgLyohPERNQSByZWdpc3RlciBmb3IgYnVyc3QgYWNjZXNzZXMgKi8KKworLyoqKioqKioqKioqKioqKioqKiogIEJpdCBkZWZpbml0aW9uIGZvciBUSU1fT1IgcmVnaXN0ZXIgICoqKioqKioqKioqKioqKioqKioqKi8KKyNkZWZpbmUgVElNX09SX1RJNF9STVAgICAgICAgICAgICAgICAgICAgICAgICgodWludDE2X3QpMHgwMEMwKSAgICAgICAgICAgIC8qITxUSTRfUk1QWzE6MF0gYml0cyAoVElNNSBJbnB1dCA0IHJlbWFwKSAqLworI2RlZmluZSBUSU1fT1JfVEk0X1JNUF8wICAgICAgICAgICAgICAgICAgICAgKCh1aW50MTZfdCkweDAwNDApICAgICAgICAgICAgLyohPEJpdCAwICovCisjZGVmaW5lIFRJTV9PUl9USTRfUk1QXzEgICAgICAgICAgICAgICAgICAgICAoKHVpbnQxNl90KTB4MDA4MCkgICAgICAgICAgICAvKiE8Qml0IDEgKi8KKyNkZWZpbmUgVElNX09SX0lUUjFfUk1QICAgICAgICAgICAgICAgICAgICAgICgodWludDE2X3QpMHgwQzAwKSAgICAgICAgICAgIC8qITxJVFIxX1JNUFsxOjBdIGJpdHMgKFRJTTIgSW50ZXJuYWwgdHJpZ2dlciAxIHJlbWFwKSAqLworI2RlZmluZSBUSU1fT1JfSVRSMV9STVBfMCAgICAgICAgICAgICAgICAgICAgKCh1aW50MTZfdCkweDA0MDApICAgICAgICAgICAgLyohPEJpdCAwICovCisjZGVmaW5lIFRJTV9PUl9JVFIxX1JNUF8xICAgICAgICAgICAgICAgICAgICAoKHVpbnQxNl90KTB4MDgwMCkgICAgICAgICAgICAvKiE8Qml0IDEgKi8KKworCisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLworLyogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKi8KKy8qICAgICAgICAgVW5pdmVyc2FsIFN5bmNocm9ub3VzIEFzeW5jaHJvbm91cyBSZWNlaXZlciBUcmFuc21pdHRlciAgICAgICAgICAgICovCisvKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqLworLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KKy8qKioqKioqKioqKioqKioqKioqICBCaXQgZGVmaW5pdGlvbiBmb3IgVVNBUlRfU1IgcmVnaXN0ZXIgICoqKioqKioqKioqKioqKioqKiovCisjZGVmaW5lICBVU0FSVF9TUl9QRSAgICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQxNl90KTB4MDAwMSkgICAgICAgICAgICAvKiE8UGFyaXR5IEVycm9yICovCisjZGVmaW5lICBVU0FSVF9TUl9GRSAgICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQxNl90KTB4MDAwMikgICAgICAgICAgICAvKiE8RnJhbWluZyBFcnJvciAqLworI2RlZmluZSAgVVNBUlRfU1JfTkUgICAgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MTZfdCkweDAwMDQpICAgICAgICAgICAgLyohPE5vaXNlIEVycm9yIEZsYWcgKi8KKyNkZWZpbmUgIFVTQVJUX1NSX09SRSAgICAgICAgICAgICAgICAgICAgICAgICgodWludDE2X3QpMHgwMDA4KSAgICAgICAgICAgIC8qITxPdmVyUnVuIEVycm9yICovCisjZGVmaW5lICBVU0FSVF9TUl9JRExFICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQxNl90KTB4MDAxMCkgICAgICAgICAgICAvKiE8SURMRSBsaW5lIGRldGVjdGVkICovCisjZGVmaW5lICBVU0FSVF9TUl9SWE5FICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQxNl90KTB4MDAyMCkgICAgICAgICAgICAvKiE8UmVhZCBEYXRhIFJlZ2lzdGVyIE5vdCBFbXB0eSAqLworI2RlZmluZSAgVVNBUlRfU1JfVEMgICAgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MTZfdCkweDAwNDApICAgICAgICAgICAgLyohPFRyYW5zbWlzc2lvbiBDb21wbGV0ZSAqLworI2RlZmluZSAgVVNBUlRfU1JfVFhFICAgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MTZfdCkweDAwODApICAgICAgICAgICAgLyohPFRyYW5zbWl0IERhdGEgUmVnaXN0ZXIgRW1wdHkgKi8KKyNkZWZpbmUgIFVTQVJUX1NSX0xCRCAgICAgICAgICAgICAgICAgICAgICAgICgodWludDE2X3QpMHgwMTAwKSAgICAgICAgICAgIC8qITxMSU4gQnJlYWsgRGV0ZWN0aW9uIEZsYWcgKi8KKyNkZWZpbmUgIFVTQVJUX1NSX0NUUyAgICAgICAgICAgICAgICAgICAgICAgICgodWludDE2X3QpMHgwMjAwKSAgICAgICAgICAgIC8qITxDVFMgRmxhZyAqLworCisvKioqKioqKioqKioqKioqKioqKiAgQml0IGRlZmluaXRpb24gZm9yIFVTQVJUX0RSIHJlZ2lzdGVyICAqKioqKioqKioqKioqKioqKioqLworI2RlZmluZSAgVVNBUlRfRFJfRFIgICAgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MTZfdCkweDAxRkYpICAgICAgICAgICAgLyohPERhdGEgdmFsdWUgKi8KKworLyoqKioqKioqKioqKioqKioqKiAgQml0IGRlZmluaXRpb24gZm9yIFVTQVJUX0JSUiByZWdpc3RlciAgKioqKioqKioqKioqKioqKioqKi8KKyNkZWZpbmUgIFVTQVJUX0JSUl9ESVZfRnJhY3Rpb24gICAgICAgICAgICAgICgodWludDE2X3QpMHgwMDBGKSAgICAgICAgICAgIC8qITxGcmFjdGlvbiBvZiBVU0FSVERJViAqLworI2RlZmluZSAgVVNBUlRfQlJSX0RJVl9NYW50aXNzYSAgICAgICAgICAgICAgKCh1aW50MTZfdCkweEZGRjApICAgICAgICAgICAgLyohPE1hbnRpc3NhIG9mIFVTQVJURElWICovCisKKy8qKioqKioqKioqKioqKioqKiogIEJpdCBkZWZpbml0aW9uIGZvciBVU0FSVF9DUjEgcmVnaXN0ZXIgICoqKioqKioqKioqKioqKioqKiovCisjZGVmaW5lICBVU0FSVF9DUjFfU0JLICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQxNl90KTB4MDAwMSkgICAgICAgICAgICAvKiE8U2VuZCBCcmVhayAqLworI2RlZmluZSAgVVNBUlRfQ1IxX1JXVSAgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MTZfdCkweDAwMDIpICAgICAgICAgICAgLyohPFJlY2VpdmVyIHdha2V1cCAqLworI2RlZmluZSAgVVNBUlRfQ1IxX1JFICAgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MTZfdCkweDAwMDQpICAgICAgICAgICAgLyohPFJlY2VpdmVyIEVuYWJsZSAqLworI2RlZmluZSAgVVNBUlRfQ1IxX1RFICAgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MTZfdCkweDAwMDgpICAgICAgICAgICAgLyohPFRyYW5zbWl0dGVyIEVuYWJsZSAqLworI2RlZmluZSAgVVNBUlRfQ1IxX0lETEVJRSAgICAgICAgICAgICAgICAgICAgKCh1aW50MTZfdCkweDAwMTApICAgICAgICAgICAgLyohPElETEUgSW50ZXJydXB0IEVuYWJsZSAqLworI2RlZmluZSAgVVNBUlRfQ1IxX1JYTkVJRSAgICAgICAgICAgICAgICAgICAgKCh1aW50MTZfdCkweDAwMjApICAgICAgICAgICAgLyohPFJYTkUgSW50ZXJydXB0IEVuYWJsZSAqLworI2RlZmluZSAgVVNBUlRfQ1IxX1RDSUUgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MTZfdCkweDAwNDApICAgICAgICAgICAgLyohPFRyYW5zbWlzc2lvbiBDb21wbGV0ZSBJbnRlcnJ1cHQgRW5hYmxlICovCisjZGVmaW5lICBVU0FSVF9DUjFfVFhFSUUgICAgICAgICAgICAgICAgICAgICAoKHVpbnQxNl90KTB4MDA4MCkgICAgICAgICAgICAvKiE8UEUgSW50ZXJydXB0IEVuYWJsZSAqLworI2RlZmluZSAgVVNBUlRfQ1IxX1BFSUUgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MTZfdCkweDAxMDApICAgICAgICAgICAgLyohPFBFIEludGVycnVwdCBFbmFibGUgKi8KKyNkZWZpbmUgIFVTQVJUX0NSMV9QUyAgICAgICAgICAgICAgICAgICAgICAgICgodWludDE2X3QpMHgwMjAwKSAgICAgICAgICAgIC8qITxQYXJpdHkgU2VsZWN0aW9uICovCisjZGVmaW5lICBVU0FSVF9DUjFfUENFICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQxNl90KTB4MDQwMCkgICAgICAgICAgICAvKiE8UGFyaXR5IENvbnRyb2wgRW5hYmxlICovCisjZGVmaW5lICBVU0FSVF9DUjFfV0FLRSAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQxNl90KTB4MDgwMCkgICAgICAgICAgICAvKiE8V2FrZXVwIG1ldGhvZCAqLworI2RlZmluZSAgVVNBUlRfQ1IxX00gICAgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MTZfdCkweDEwMDApICAgICAgICAgICAgLyohPFdvcmQgbGVuZ3RoICovCisjZGVmaW5lICBVU0FSVF9DUjFfVUUgICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQxNl90KTB4MjAwMCkgICAgICAgICAgICAvKiE8VVNBUlQgRW5hYmxlICovCisjZGVmaW5lICBVU0FSVF9DUjFfT1ZFUjggICAgICAgICAgICAgICAgICAgICAoKHVpbnQxNl90KTB4ODAwMCkgICAgICAgICAgICAvKiE8VVNBUlQgT3ZlcnNhbXBsaW5nIGJ5IDggZW5hYmxlICovCisKKy8qKioqKioqKioqKioqKioqKiogIEJpdCBkZWZpbml0aW9uIGZvciBVU0FSVF9DUjIgcmVnaXN0ZXIgICoqKioqKioqKioqKioqKioqKiovCisjZGVmaW5lICBVU0FSVF9DUjJfQUREICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQxNl90KTB4MDAwRikgICAgICAgICAgICAvKiE8QWRkcmVzcyBvZiB0aGUgVVNBUlQgbm9kZSAqLworI2RlZmluZSAgVVNBUlRfQ1IyX0xCREwgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MTZfdCkweDAwMjApICAgICAgICAgICAgLyohPExJTiBCcmVhayBEZXRlY3Rpb24gTGVuZ3RoICovCisjZGVmaW5lICBVU0FSVF9DUjJfTEJESUUgICAgICAgICAgICAgICAgICAgICAoKHVpbnQxNl90KTB4MDA0MCkgICAgICAgICAgICAvKiE8TElOIEJyZWFrIERldGVjdGlvbiBJbnRlcnJ1cHQgRW5hYmxlICovCisjZGVmaW5lICBVU0FSVF9DUjJfTEJDTCAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQxNl90KTB4MDEwMCkgICAgICAgICAgICAvKiE8TGFzdCBCaXQgQ2xvY2sgcHVsc2UgKi8KKyNkZWZpbmUgIFVTQVJUX0NSMl9DUEhBICAgICAgICAgICAgICAgICAgICAgICgodWludDE2X3QpMHgwMjAwKSAgICAgICAgICAgIC8qITxDbG9jayBQaGFzZSAqLworI2RlZmluZSAgVVNBUlRfQ1IyX0NQT0wgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MTZfdCkweDA0MDApICAgICAgICAgICAgLyohPENsb2NrIFBvbGFyaXR5ICovCisjZGVmaW5lICBVU0FSVF9DUjJfQ0xLRU4gICAgICAgICAgICAgICAgICAgICAoKHVpbnQxNl90KTB4MDgwMCkgICAgICAgICAgICAvKiE8Q2xvY2sgRW5hYmxlICovCisKKyNkZWZpbmUgIFVTQVJUX0NSMl9TVE9QICAgICAgICAgICAgICAgICAgICAgICgodWludDE2X3QpMHgzMDAwKSAgICAgICAgICAgIC8qITxTVE9QWzE6MF0gYml0cyAoU1RPUCBiaXRzKSAqLworI2RlZmluZSAgVVNBUlRfQ1IyX1NUT1BfMCAgICAgICAgICAgICAgICAgICAgKCh1aW50MTZfdCkweDEwMDApICAgICAgICAgICAgLyohPEJpdCAwICovCisjZGVmaW5lICBVU0FSVF9DUjJfU1RPUF8xICAgICAgICAgICAgICAgICAgICAoKHVpbnQxNl90KTB4MjAwMCkgICAgICAgICAgICAvKiE8Qml0IDEgKi8KKworI2RlZmluZSAgVVNBUlRfQ1IyX0xJTkVOICAgICAgICAgICAgICAgICAgICAgKCh1aW50MTZfdCkweDQwMDApICAgICAgICAgICAgLyohPExJTiBtb2RlIGVuYWJsZSAqLworCisvKioqKioqKioqKioqKioqKioqICBCaXQgZGVmaW5pdGlvbiBmb3IgVVNBUlRfQ1IzIHJlZ2lzdGVyICAqKioqKioqKioqKioqKioqKioqLworI2RlZmluZSAgVVNBUlRfQ1IzX0VJRSAgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MTZfdCkweDAwMDEpICAgICAgICAgICAgLyohPEVycm9yIEludGVycnVwdCBFbmFibGUgKi8KKyNkZWZpbmUgIFVTQVJUX0NSM19JUkVOICAgICAgICAgICAgICAgICAgICAgICgodWludDE2X3QpMHgwMDAyKSAgICAgICAgICAgIC8qITxJckRBIG1vZGUgRW5hYmxlICovCisjZGVmaW5lICBVU0FSVF9DUjNfSVJMUCAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQxNl90KTB4MDAwNCkgICAgICAgICAgICAvKiE8SXJEQSBMb3ctUG93ZXIgKi8KKyNkZWZpbmUgIFVTQVJUX0NSM19IRFNFTCAgICAgICAgICAgICAgICAgICAgICgodWludDE2X3QpMHgwMDA4KSAgICAgICAgICAgIC8qITxIYWxmLUR1cGxleCBTZWxlY3Rpb24gKi8KKyNkZWZpbmUgIFVTQVJUX0NSM19OQUNLICAgICAgICAgICAgICAgICAgICAgICgodWludDE2X3QpMHgwMDEwKSAgICAgICAgICAgIC8qITxTbWFydGNhcmQgTkFDSyBlbmFibGUgKi8KKyNkZWZpbmUgIFVTQVJUX0NSM19TQ0VOICAgICAgICAgICAgICAgICAgICAgICgodWludDE2X3QpMHgwMDIwKSAgICAgICAgICAgIC8qITxTbWFydGNhcmQgbW9kZSBlbmFibGUgKi8KKyNkZWZpbmUgIFVTQVJUX0NSM19ETUFSICAgICAgICAgICAgICAgICAgICAgICgodWludDE2X3QpMHgwMDQwKSAgICAgICAgICAgIC8qITxETUEgRW5hYmxlIFJlY2VpdmVyICovCisjZGVmaW5lICBVU0FSVF9DUjNfRE1BVCAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQxNl90KTB4MDA4MCkgICAgICAgICAgICAvKiE8RE1BIEVuYWJsZSBUcmFuc21pdHRlciAqLworI2RlZmluZSAgVVNBUlRfQ1IzX1JUU0UgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MTZfdCkweDAxMDApICAgICAgICAgICAgLyohPFJUUyBFbmFibGUgKi8KKyNkZWZpbmUgIFVTQVJUX0NSM19DVFNFICAgICAgICAgICAgICAgICAgICAgICgodWludDE2X3QpMHgwMjAwKSAgICAgICAgICAgIC8qITxDVFMgRW5hYmxlICovCisjZGVmaW5lICBVU0FSVF9DUjNfQ1RTSUUgICAgICAgICAgICAgICAgICAgICAoKHVpbnQxNl90KTB4MDQwMCkgICAgICAgICAgICAvKiE8Q1RTIEludGVycnVwdCBFbmFibGUgKi8KKyNkZWZpbmUgIFVTQVJUX0NSM19PTkVCSVQgICAgICAgICAgICAgICAgICAgICgodWludDE2X3QpMHgwODAwKSAgICAgICAgICAgIC8qITxVU0FSVCBPbmUgYml0IG1ldGhvZCBlbmFibGUgKi8KKworLyoqKioqKioqKioqKioqKioqKiAgQml0IGRlZmluaXRpb24gZm9yIFVTQVJUX0dUUFIgcmVnaXN0ZXIgICoqKioqKioqKioqKioqKioqKi8KKyNkZWZpbmUgIFVTQVJUX0dUUFJfUFNDICAgICAgICAgICAgICAgICAgICAgICgodWludDE2X3QpMHgwMEZGKSAgICAgICAgICAgIC8qITxQU0NbNzowXSBiaXRzIChQcmVzY2FsZXIgdmFsdWUpICovCisjZGVmaW5lICBVU0FSVF9HVFBSX1BTQ18wICAgICAgICAgICAgICAgICAgICAoKHVpbnQxNl90KTB4MDAwMSkgICAgICAgICAgICAvKiE8Qml0IDAgKi8KKyNkZWZpbmUgIFVTQVJUX0dUUFJfUFNDXzEgICAgICAgICAgICAgICAgICAgICgodWludDE2X3QpMHgwMDAyKSAgICAgICAgICAgIC8qITxCaXQgMSAqLworI2RlZmluZSAgVVNBUlRfR1RQUl9QU0NfMiAgICAgICAgICAgICAgICAgICAgKCh1aW50MTZfdCkweDAwMDQpICAgICAgICAgICAgLyohPEJpdCAyICovCisjZGVmaW5lICBVU0FSVF9HVFBSX1BTQ18zICAgICAgICAgICAgICAgICAgICAoKHVpbnQxNl90KTB4MDAwOCkgICAgICAgICAgICAvKiE8Qml0IDMgKi8KKyNkZWZpbmUgIFVTQVJUX0dUUFJfUFNDXzQgICAgICAgICAgICAgICAgICAgICgodWludDE2X3QpMHgwMDEwKSAgICAgICAgICAgIC8qITxCaXQgNCAqLworI2RlZmluZSAgVVNBUlRfR1RQUl9QU0NfNSAgICAgICAgICAgICAgICAgICAgKCh1aW50MTZfdCkweDAwMjApICAgICAgICAgICAgLyohPEJpdCA1ICovCisjZGVmaW5lICBVU0FSVF9HVFBSX1BTQ182ICAgICAgICAgICAgICAgICAgICAoKHVpbnQxNl90KTB4MDA0MCkgICAgICAgICAgICAvKiE8Qml0IDYgKi8KKyNkZWZpbmUgIFVTQVJUX0dUUFJfUFNDXzcgICAgICAgICAgICAgICAgICAgICgodWludDE2X3QpMHgwMDgwKSAgICAgICAgICAgIC8qITxCaXQgNyAqLworCisjZGVmaW5lICBVU0FSVF9HVFBSX0dUICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQxNl90KTB4RkYwMCkgICAgICAgICAgICAvKiE8R3VhcmQgdGltZSB2YWx1ZSAqLworCisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLworLyogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKi8KKy8qICAgICAgICAgICAgICAgICAgICAgICAgICAgIFdpbmRvdyBXQVRDSERPRyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICovCisvKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqLworLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KKy8qKioqKioqKioqKioqKioqKioqICBCaXQgZGVmaW5pdGlvbiBmb3IgV1dER19DUiByZWdpc3RlciAgKioqKioqKioqKioqKioqKioqKiovCisjZGVmaW5lICBXV0RHX0NSX1QgICAgICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQ4X3QpMHg3RikgICAgICAgICAgICAgICAvKiE8VFs2OjBdIGJpdHMgKDctQml0IGNvdW50ZXIgKE1TQiB0byBMU0IpKSAqLworI2RlZmluZSAgV1dER19DUl9UMCAgICAgICAgICAgICAgICAgICAgICAgICAgKCh1aW50OF90KTB4MDEpICAgICAgICAgICAgICAgLyohPEJpdCAwICovCisjZGVmaW5lICBXV0RHX0NSX1QxICAgICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQ4X3QpMHgwMikgICAgICAgICAgICAgICAvKiE8Qml0IDEgKi8KKyNkZWZpbmUgIFdXREdfQ1JfVDIgICAgICAgICAgICAgICAgICAgICAgICAgICgodWludDhfdCkweDA0KSAgICAgICAgICAgICAgIC8qITxCaXQgMiAqLworI2RlZmluZSAgV1dER19DUl9UMyAgICAgICAgICAgICAgICAgICAgICAgICAgKCh1aW50OF90KTB4MDgpICAgICAgICAgICAgICAgLyohPEJpdCAzICovCisjZGVmaW5lICBXV0RHX0NSX1Q0ICAgICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQ4X3QpMHgxMCkgICAgICAgICAgICAgICAvKiE8Qml0IDQgKi8KKyNkZWZpbmUgIFdXREdfQ1JfVDUgICAgICAgICAgICAgICAgICAgICAgICAgICgodWludDhfdCkweDIwKSAgICAgICAgICAgICAgIC8qITxCaXQgNSAqLworI2RlZmluZSAgV1dER19DUl9UNiAgICAgICAgICAgICAgICAgICAgICAgICAgKCh1aW50OF90KTB4NDApICAgICAgICAgICAgICAgLyohPEJpdCA2ICovCisKKyNkZWZpbmUgIFdXREdfQ1JfV0RHQSAgICAgICAgICAgICAgICAgICAgICAgICgodWludDhfdCkweDgwKSAgICAgICAgICAgICAgIC8qITxBY3RpdmF0aW9uIGJpdCAqLworCisvKioqKioqKioqKioqKioqKioqKiAgQml0IGRlZmluaXRpb24gZm9yIFdXREdfQ0ZSIHJlZ2lzdGVyICAqKioqKioqKioqKioqKioqKioqLworI2RlZmluZSAgV1dER19DRlJfVyAgICAgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MTZfdCkweDAwN0YpICAgICAgICAgICAgLyohPFdbNjowXSBiaXRzICg3LWJpdCB3aW5kb3cgdmFsdWUpICovCisjZGVmaW5lICBXV0RHX0NGUl9XMCAgICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQxNl90KTB4MDAwMSkgICAgICAgICAgICAvKiE8Qml0IDAgKi8KKyNkZWZpbmUgIFdXREdfQ0ZSX1cxICAgICAgICAgICAgICAgICAgICAgICAgICgodWludDE2X3QpMHgwMDAyKSAgICAgICAgICAgIC8qITxCaXQgMSAqLworI2RlZmluZSAgV1dER19DRlJfVzIgICAgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MTZfdCkweDAwMDQpICAgICAgICAgICAgLyohPEJpdCAyICovCisjZGVmaW5lICBXV0RHX0NGUl9XMyAgICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQxNl90KTB4MDAwOCkgICAgICAgICAgICAvKiE8Qml0IDMgKi8KKyNkZWZpbmUgIFdXREdfQ0ZSX1c0ICAgICAgICAgICAgICAgICAgICAgICAgICgodWludDE2X3QpMHgwMDEwKSAgICAgICAgICAgIC8qITxCaXQgNCAqLworI2RlZmluZSAgV1dER19DRlJfVzUgICAgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MTZfdCkweDAwMjApICAgICAgICAgICAgLyohPEJpdCA1ICovCisjZGVmaW5lICBXV0RHX0NGUl9XNiAgICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQxNl90KTB4MDA0MCkgICAgICAgICAgICAvKiE8Qml0IDYgKi8KKworI2RlZmluZSAgV1dER19DRlJfV0RHVEIgICAgICAgICAgICAgICAgICAgICAgKCh1aW50MTZfdCkweDAxODApICAgICAgICAgICAgLyohPFdER1RCWzE6MF0gYml0cyAoVGltZXIgQmFzZSkgKi8KKyNkZWZpbmUgIFdXREdfQ0ZSX1dER1RCMCAgICAgICAgICAgICAgICAgICAgICgodWludDE2X3QpMHgwMDgwKSAgICAgICAgICAgIC8qITxCaXQgMCAqLworI2RlZmluZSAgV1dER19DRlJfV0RHVEIxICAgICAgICAgICAgICAgICAgICAgKCh1aW50MTZfdCkweDAxMDApICAgICAgICAgICAgLyohPEJpdCAxICovCisKKyNkZWZpbmUgIFdXREdfQ0ZSX0VXSSAgICAgICAgICAgICAgICAgICAgICAgICgodWludDE2X3QpMHgwMjAwKSAgICAgICAgICAgIC8qITxFYXJseSBXYWtldXAgSW50ZXJydXB0ICovCisKKy8qKioqKioqKioqKioqKioqKioqICBCaXQgZGVmaW5pdGlvbiBmb3IgV1dER19TUiByZWdpc3RlciAgKioqKioqKioqKioqKioqKioqKiovCisjZGVmaW5lICBXV0RHX1NSX0VXSUYgICAgICAgICAgICAgICAgICAgICAgICAoKHVpbnQ4X3QpMHgwMSkgICAgICAgICAgICAgICAvKiE8RWFybHkgV2FrZXVwIEludGVycnVwdCBGbGFnICovCisKKworLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KKy8qICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICovCisvKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgREJHICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqLworLyogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKi8KKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCisvKioqKioqKioqKioqKioqKioqKiogIEJpdCBkZWZpbml0aW9uIGZvciBEQkdNQ1VfSURDT0RFIHJlZ2lzdGVyICAqKioqKioqKioqKioqLworI2RlZmluZSAgREJHTUNVX0lEQ09ERV9ERVZfSUQgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwRkZGKQorI2RlZmluZSAgREJHTUNVX0lEQ09ERV9SRVZfSUQgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweEZGRkYwMDAwKQorCisvKioqKioqKioqKioqKioqKioqKiogIEJpdCBkZWZpbml0aW9uIGZvciBEQkdNQ1VfQ1IgcmVnaXN0ZXIgICoqKioqKioqKioqKioqKioqLworI2RlZmluZSAgREJHTUNVX0NSX0RCR19TTEVFUCAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwMDAxKQorI2RlZmluZSAgREJHTUNVX0NSX0RCR19TVE9QICAgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwMDAyKQorI2RlZmluZSAgREJHTUNVX0NSX0RCR19TVEFOREJZICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwMDA0KQorI2RlZmluZSAgREJHTUNVX0NSX1RSQUNFX0lPRU4gICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwMDIwKQorCisjZGVmaW5lICBEQkdNQ1VfQ1JfVFJBQ0VfTU9ERSAgICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDAwQzApCisjZGVmaW5lICBEQkdNQ1VfQ1JfVFJBQ0VfTU9ERV8wICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDAwNDApLyohPEJpdCAwICovCisjZGVmaW5lICBEQkdNQ1VfQ1JfVFJBQ0VfTU9ERV8xICAgICAgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDAwODApLyohPEJpdCAxICovCisKKy8qKioqKioqKioqKioqKioqKioqKiAgQml0IGRlZmluaXRpb24gZm9yIERCR01DVV9BUEIxX0ZaIHJlZ2lzdGVyICAqKioqKioqKioqKiovCisjZGVmaW5lICBEQkdNQ1VfQVBCMV9GWl9EQkdfVElNMl9TVE9QICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDAwMDEpCisjZGVmaW5lICBEQkdNQ1VfQVBCMV9GWl9EQkdfVElNM19TVE9QICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDAwMDIpCisjZGVmaW5lICBEQkdNQ1VfQVBCMV9GWl9EQkdfVElNNF9TVE9QICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDAwMDQpCisjZGVmaW5lICBEQkdNQ1VfQVBCMV9GWl9EQkdfVElNNV9TVE9QICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDAwMDgpCisjZGVmaW5lICBEQkdNQ1VfQVBCMV9GWl9EQkdfVElNNl9TVE9QICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDAwMTApCisjZGVmaW5lICBEQkdNQ1VfQVBCMV9GWl9EQkdfVElNN19TVE9QICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDAwMjApCisjZGVmaW5lICBEQkdNQ1VfQVBCMV9GWl9EQkdfVElNMTJfU1RPUCAgICAgICAoKHVpbnQzMl90KTB4MDAwMDAwNDApCisjZGVmaW5lICBEQkdNQ1VfQVBCMV9GWl9EQkdfVElNMTNfU1RPUCAgICAgICAoKHVpbnQzMl90KTB4MDAwMDAwODApCisjZGVmaW5lICBEQkdNQ1VfQVBCMV9GWl9EQkdfVElNMTRfU1RPUCAgICAgICAoKHVpbnQzMl90KTB4MDAwMDAxMDApCisjZGVmaW5lICBEQkdNQ1VfQVBCMV9GWl9EQkdfUlRDX1NUT1AgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDA0MDApCisjZGVmaW5lICBEQkdNQ1VfQVBCMV9GWl9EQkdfV1dER19TVE9QICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDA4MDApCisjZGVmaW5lICBEQkdNQ1VfQVBCMV9GWl9EQkdfSVdER19TVE9QICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDEwMDApCisjZGVmaW5lICBEQkdNQ1VfQVBCMV9GWl9EQkdfSTJDMV9TTUJVU19USU1FT1VUICAgKCh1aW50MzJfdCkweDAwMjAwMDAwKQorI2RlZmluZSAgREJHTUNVX0FQQjFfRlpfREJHX0kyQzJfU01CVVNfVElNRU9VVCAgICgodWludDMyX3QpMHgwMDQwMDAwMCkKKyNkZWZpbmUgIERCR01DVV9BUEIxX0ZaX0RCR19JMkMzX1NNQlVTX1RJTUVPVVQgICAoKHVpbnQzMl90KTB4MDA4MDAwMDApCisjZGVmaW5lICBEQkdNQ1VfQVBCMV9GWl9EQkdfQ0FOMV9TVE9QICAgICAgICAgICAgKCh1aW50MzJfdCkweDAyMDAwMDAwKQorI2RlZmluZSAgREJHTUNVX0FQQjFfRlpfREJHX0NBTjJfU1RPUCAgICAgICAgICAgICgodWludDMyX3QpMHgwNDAwMDAwMCkKKworLyoqKioqKioqKioqKioqKioqKioqICBCaXQgZGVmaW5pdGlvbiBmb3IgREJHTUNVX0FQQjJfRlogcmVnaXN0ZXIgICoqKioqKioqKioqKi8KKyNkZWZpbmUgIERCR01DVV9BUEIxX0ZaX0RCR19USU0xX1NUT1AgICAgICAgICgodWludDMyX3QpMHgwMDAwMDAwMSkKKyNkZWZpbmUgIERCR01DVV9BUEIxX0ZaX0RCR19USU04X1NUT1AgICAgICAgICgodWludDMyX3QpMHgwMDAwMDAwMikKKyNkZWZpbmUgIERCR01DVV9BUEIxX0ZaX0RCR19USU05X1NUT1AgICAgICAgICgodWludDMyX3QpMHgwMDAxMDAwMCkKKyNkZWZpbmUgIERCR01DVV9BUEIxX0ZaX0RCR19USU0xMF9TVE9QICAgICAgICgodWludDMyX3QpMHgwMDAyMDAwMCkKKyNkZWZpbmUgIERCR01DVV9BUEIxX0ZaX0RCR19USU0xMV9TVE9QICAgICAgICgodWludDMyX3QpMHgwMDA0MDAwMCkKKworLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KKy8qICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICovCisvKiAgICAgICAgICAgICAgICBFdGhlcm5ldCBNQUMgUmVnaXN0ZXJzIGJpdHMgZGVmaW5pdGlvbnMgICAgICAgICAgICAgICAgICAgICAqLworLyogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKi8KKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCisvKiBCaXQgZGVmaW5pdGlvbiBmb3IgRXRoZXJuZXQgTUFDIENvbnRyb2wgUmVnaXN0ZXIgcmVnaXN0ZXIgKi8KKyNkZWZpbmUgRVRIX01BQ0NSX1dEICAgICAgKCh1aW50MzJfdCkweDAwODAwMDAwKSAgLyogV2F0Y2hkb2cgZGlzYWJsZSAqLworI2RlZmluZSBFVEhfTUFDQ1JfSkQgICAgICAoKHVpbnQzMl90KTB4MDA0MDAwMDApICAvKiBKYWJiZXIgZGlzYWJsZSAqLworI2RlZmluZSBFVEhfTUFDQ1JfSUZHICAgICAoKHVpbnQzMl90KTB4MDAwRTAwMDApICAvKiBJbnRlci1mcmFtZSBnYXAgKi8KKyNkZWZpbmUgRVRIX01BQ0NSX0lGR185NkJpdCAgICAgKCh1aW50MzJfdCkweDAwMDAwMDAwKSAgLyogTWluaW11bSBJRkcgYmV0d2VlbiBmcmFtZXMgZHVyaW5nIHRyYW5zbWlzc2lvbiBpcyA5NkJpdCAqLworICAjZGVmaW5lIEVUSF9NQUNDUl9JRkdfODhCaXQgICAgICgodWludDMyX3QpMHgwMDAyMDAwMCkgIC8qIE1pbmltdW0gSUZHIGJldHdlZW4gZnJhbWVzIGR1cmluZyB0cmFuc21pc3Npb24gaXMgODhCaXQgKi8KKyAgI2RlZmluZSBFVEhfTUFDQ1JfSUZHXzgwQml0ICAgICAoKHVpbnQzMl90KTB4MDAwNDAwMDApICAvKiBNaW5pbXVtIElGRyBiZXR3ZWVuIGZyYW1lcyBkdXJpbmcgdHJhbnNtaXNzaW9uIGlzIDgwQml0ICovCisgICNkZWZpbmUgRVRIX01BQ0NSX0lGR183MkJpdCAgICAgKCh1aW50MzJfdCkweDAwMDYwMDAwKSAgLyogTWluaW11bSBJRkcgYmV0d2VlbiBmcmFtZXMgZHVyaW5nIHRyYW5zbWlzc2lvbiBpcyA3MkJpdCAqLworICAjZGVmaW5lIEVUSF9NQUNDUl9JRkdfNjRCaXQgICAgICgodWludDMyX3QpMHgwMDA4MDAwMCkgIC8qIE1pbmltdW0gSUZHIGJldHdlZW4gZnJhbWVzIGR1cmluZyB0cmFuc21pc3Npb24gaXMgNjRCaXQgKi8gICAgICAgIAorICAjZGVmaW5lIEVUSF9NQUNDUl9JRkdfNTZCaXQgICAgICgodWludDMyX3QpMHgwMDBBMDAwMCkgIC8qIE1pbmltdW0gSUZHIGJldHdlZW4gZnJhbWVzIGR1cmluZyB0cmFuc21pc3Npb24gaXMgNTZCaXQgKi8KKyAgI2RlZmluZSBFVEhfTUFDQ1JfSUZHXzQ4Qml0ICAgICAoKHVpbnQzMl90KTB4MDAwQzAwMDApICAvKiBNaW5pbXVtIElGRyBiZXR3ZWVuIGZyYW1lcyBkdXJpbmcgdHJhbnNtaXNzaW9uIGlzIDQ4Qml0ICovCisgICNkZWZpbmUgRVRIX01BQ0NSX0lGR180MEJpdCAgICAgKCh1aW50MzJfdCkweDAwMEUwMDAwKSAgLyogTWluaW11bSBJRkcgYmV0d2VlbiBmcmFtZXMgZHVyaW5nIHRyYW5zbWlzc2lvbiBpcyA0MEJpdCAqLyAgICAgICAgICAgICAgCisjZGVmaW5lIEVUSF9NQUNDUl9DU0QgICAgICgodWludDMyX3QpMHgwMDAxMDAwMCkgIC8qIENhcnJpZXIgc2Vuc2UgZGlzYWJsZSAoZHVyaW5nIHRyYW5zbWlzc2lvbikgKi8KKyNkZWZpbmUgRVRIX01BQ0NSX0ZFUyAgICAgKCh1aW50MzJfdCkweDAwMDA0MDAwKSAgLyogRmFzdCBldGhlcm5ldCBzcGVlZCAqLworI2RlZmluZSBFVEhfTUFDQ1JfUk9EICAgICAoKHVpbnQzMl90KTB4MDAwMDIwMDApICAvKiBSZWNlaXZlIG93biBkaXNhYmxlICovCisjZGVmaW5lIEVUSF9NQUNDUl9MTSAgICAgICgodWludDMyX3QpMHgwMDAwMTAwMCkgIC8qIGxvb3BiYWNrIG1vZGUgKi8KKyNkZWZpbmUgRVRIX01BQ0NSX0RNICAgICAgKCh1aW50MzJfdCkweDAwMDAwODAwKSAgLyogRHVwbGV4IG1vZGUgKi8KKyNkZWZpbmUgRVRIX01BQ0NSX0lQQ08gICAgKCh1aW50MzJfdCkweDAwMDAwNDAwKSAgLyogSVAgQ2hlY2tzdW0gb2ZmbG9hZCAqLworI2RlZmluZSBFVEhfTUFDQ1JfUkQgICAgICAoKHVpbnQzMl90KTB4MDAwMDAyMDApICAvKiBSZXRyeSBkaXNhYmxlICovCisjZGVmaW5lIEVUSF9NQUNDUl9BUENTICAgICgodWludDMyX3QpMHgwMDAwMDA4MCkgIC8qIEF1dG9tYXRpYyBQYWQvQ1JDIHN0cmlwcGluZyAqLworI2RlZmluZSBFVEhfTUFDQ1JfQkwgICAgICAoKHVpbnQzMl90KTB4MDAwMDAwNjApICAvKiBCYWNrLW9mZiBsaW1pdDogcmFuZG9tIGludGVnZXIgbnVtYmVyIChyKSBvZiBzbG90IHRpbWUgZGVsYXlzIGJlZm9yZSByZXNjaGVkdWxpbmcKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhIHRyYW5zbWlzc2lvbiBhdHRlbXB0IGR1cmluZyByZXRyaWVzIGFmdGVyIGEgY29sbGlzaW9uOiAwID08IHIgPDJeayAqLworICAjZGVmaW5lIEVUSF9NQUNDUl9CTF8xMCAgICAoKHVpbnQzMl90KTB4MDAwMDAwMDApICAvKiBrID0gbWluIChuLCAxMCkgKi8KKyAgI2RlZmluZSBFVEhfTUFDQ1JfQkxfOCAgICAgKCh1aW50MzJfdCkweDAwMDAwMDIwKSAgLyogayA9IG1pbiAobiwgOCkgKi8KKyAgI2RlZmluZSBFVEhfTUFDQ1JfQkxfNCAgICAgKCh1aW50MzJfdCkweDAwMDAwMDQwKSAgLyogayA9IG1pbiAobiwgNCkgKi8KKyAgI2RlZmluZSBFVEhfTUFDQ1JfQkxfMSAgICAgKCh1aW50MzJfdCkweDAwMDAwMDYwKSAgLyogayA9IG1pbiAobiwgMSkgKi8gCisjZGVmaW5lIEVUSF9NQUNDUl9EQyAgICAgICgodWludDMyX3QpMHgwMDAwMDAxMCkgIC8qIERlZmZlcmFsIGNoZWNrICovCisjZGVmaW5lIEVUSF9NQUNDUl9URSAgICAgICgodWludDMyX3QpMHgwMDAwMDAwOCkgIC8qIFRyYW5zbWl0dGVyIGVuYWJsZSAqLworI2RlZmluZSBFVEhfTUFDQ1JfUkUgICAgICAoKHVpbnQzMl90KTB4MDAwMDAwMDQpICAvKiBSZWNlaXZlciBlbmFibGUgKi8KKworLyogQml0IGRlZmluaXRpb24gZm9yIEV0aGVybmV0IE1BQyBGcmFtZSBGaWx0ZXIgUmVnaXN0ZXIgKi8KKyNkZWZpbmUgRVRIX01BQ0ZGUl9SQSAgICAgKCh1aW50MzJfdCkweDgwMDAwMDAwKSAgLyogUmVjZWl2ZSBhbGwgKi8gCisjZGVmaW5lIEVUSF9NQUNGRlJfSFBGICAgICgodWludDMyX3QpMHgwMDAwMDQwMCkgIC8qIEhhc2ggb3IgcGVyZmVjdCBmaWx0ZXIgKi8gCisjZGVmaW5lIEVUSF9NQUNGRlJfU0FGICAgICgodWludDMyX3QpMHgwMDAwMDIwMCkgIC8qIFNvdXJjZSBhZGRyZXNzIGZpbHRlciBlbmFibGUgKi8gCisjZGVmaW5lIEVUSF9NQUNGRlJfU0FJRiAgICgodWludDMyX3QpMHgwMDAwMDEwMCkgIC8qIFNBIGludmVyc2UgZmlsdGVyaW5nICovIAorI2RlZmluZSBFVEhfTUFDRkZSX1BDRiAgICAoKHVpbnQzMl90KTB4MDAwMDAwQzApICAvKiBQYXNzIGNvbnRyb2wgZnJhbWVzOiAzIGNhc2VzICovCisgICNkZWZpbmUgRVRIX01BQ0ZGUl9QQ0ZfQmxvY2tBbGwgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwMDQwKSAgLyogTUFDIGZpbHRlcnMgYWxsIGNvbnRyb2wgZnJhbWVzIGZyb20gcmVhY2hpbmcgdGhlIGFwcGxpY2F0aW9uICovCisgICNkZWZpbmUgRVRIX01BQ0ZGUl9QQ0ZfRm9yd2FyZEFsbCAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwMDgwKSAgLyogTUFDIGZvcndhcmRzIGFsbCBjb250cm9sIGZyYW1lcyB0byBhcHBsaWNhdGlvbiBldmVuIGlmIHRoZXkgZmFpbCB0aGUgQWRkcmVzcyBGaWx0ZXIgKi8KKyAgI2RlZmluZSBFVEhfTUFDRkZSX1BDRl9Gb3J3YXJkUGFzc2VkQWRkckZpbHRlciAoKHVpbnQzMl90KTB4MDAwMDAwQzApICAvKiBNQUMgZm9yd2FyZHMgY29udHJvbCBmcmFtZXMgdGhhdCBwYXNzIHRoZSBBZGRyZXNzIEZpbHRlci4gKi8gCisjZGVmaW5lIEVUSF9NQUNGRlJfQkZEICAgICgodWludDMyX3QpMHgwMDAwMDAyMCkgIC8qIEJyb2FkY2FzdCBmcmFtZSBkaXNhYmxlICovIAorI2RlZmluZSBFVEhfTUFDRkZSX1BBTSAgICAoKHVpbnQzMl90KTB4MDAwMDAwMTApICAvKiBQYXNzIGFsbCBtdXRsaWNhc3QgKi8gCisjZGVmaW5lIEVUSF9NQUNGRlJfREFJRiAgICgodWludDMyX3QpMHgwMDAwMDAwOCkgIC8qIERBIEludmVyc2UgZmlsdGVyaW5nICovIAorI2RlZmluZSBFVEhfTUFDRkZSX0hNICAgICAoKHVpbnQzMl90KTB4MDAwMDAwMDQpICAvKiBIYXNoIG11bHRpY2FzdCAqLyAKKyNkZWZpbmUgRVRIX01BQ0ZGUl9IVSAgICAgKCh1aW50MzJfdCkweDAwMDAwMDAyKSAgLyogSGFzaCB1bmljYXN0ICovCisjZGVmaW5lIEVUSF9NQUNGRlJfUE0gICAgICgodWludDMyX3QpMHgwMDAwMDAwMSkgIC8qIFByb21pc2N1b3VzIG1vZGUgKi8KKworLyogQml0IGRlZmluaXRpb24gZm9yIEV0aGVybmV0IE1BQyBIYXNoIFRhYmxlIEhpZ2ggUmVnaXN0ZXIgKi8KKyNkZWZpbmUgRVRIX01BQ0hUSFJfSFRIICAgKCh1aW50MzJfdCkweEZGRkZGRkZGKSAgLyogSGFzaCB0YWJsZSBoaWdoICovCisKKy8qIEJpdCBkZWZpbml0aW9uIGZvciBFdGhlcm5ldCBNQUMgSGFzaCBUYWJsZSBMb3cgUmVnaXN0ZXIgKi8KKyNkZWZpbmUgRVRIX01BQ0hUTFJfSFRMICAgKCh1aW50MzJfdCkweEZGRkZGRkZGKSAgLyogSGFzaCB0YWJsZSBsb3cgKi8KKworLyogQml0IGRlZmluaXRpb24gZm9yIEV0aGVybmV0IE1BQyBNSUkgQWRkcmVzcyBSZWdpc3RlciAqLworI2RlZmluZSBFVEhfTUFDTUlJQVJfUEEgICAoKHVpbnQzMl90KTB4MDAwMEY4MDApICAvKiBQaHlzaWNhbCBsYXllciBhZGRyZXNzICovIAorI2RlZmluZSBFVEhfTUFDTUlJQVJfTVIgICAoKHVpbnQzMl90KTB4MDAwMDA3QzApICAvKiBNSUkgcmVnaXN0ZXIgaW4gdGhlIHNlbGVjdGVkIFBIWSAqLyAKKyNkZWZpbmUgRVRIX01BQ01JSUFSX0NSICAgKCh1aW50MzJfdCkweDAwMDAwMDFDKSAgLyogQ1IgY2xvY2sgcmFuZ2U6IDYgY2FzZXMgKi8gCisgICNkZWZpbmUgRVRIX01BQ01JSUFSX0NSX0RpdjQyICAgKCh1aW50MzJfdCkweDAwMDAwMDAwKSAgLyogSENMSzo2MC0xMDAgTUh6OyBNREMgY2xvY2s9IEhDTEsvNDIgKi8KKyAgI2RlZmluZSBFVEhfTUFDTUlJQVJfQ1JfRGl2NjIgICAoKHVpbnQzMl90KTB4MDAwMDAwMDQpICAvKiBIQ0xLOjEwMC0xMjAgTUh6OyBNREMgY2xvY2s9IEhDTEsvNjIgKi8KKyAgI2RlZmluZSBFVEhfTUFDTUlJQVJfQ1JfRGl2MTYgICAoKHVpbnQzMl90KTB4MDAwMDAwMDgpICAvKiBIQ0xLOjIwLTM1IE1IejsgTURDIGNsb2NrPSBIQ0xLLzE2ICovCisgICNkZWZpbmUgRVRIX01BQ01JSUFSX0NSX0RpdjI2ICAgKCh1aW50MzJfdCkweDAwMDAwMDBDKSAgLyogSENMSzozNS02MCBNSHo7IE1EQyBjbG9jaz0gSENMSy80MiAqLyAgCisjZGVmaW5lIEVUSF9NQUNNSUlBUl9NVyAgICgodWludDMyX3QpMHgwMDAwMDAwMikgIC8qIE1JSSB3cml0ZSAqLyAKKyNkZWZpbmUgRVRIX01BQ01JSUFSX01CICAgKCh1aW50MzJfdCkweDAwMDAwMDAxKSAgLyogTUlJIGJ1c3kgKi8gCisgIAorLyogQml0IGRlZmluaXRpb24gZm9yIEV0aGVybmV0IE1BQyBNSUkgRGF0YSBSZWdpc3RlciAqLworI2RlZmluZSBFVEhfTUFDTUlJRFJfTUQgICAoKHVpbnQzMl90KTB4MDAwMEZGRkYpICAvKiBNSUkgZGF0YTogcmVhZC93cml0ZSBkYXRhIGZyb20vdG8gUEhZICovCisKKy8qIEJpdCBkZWZpbml0aW9uIGZvciBFdGhlcm5ldCBNQUMgRmxvdyBDb250cm9sIFJlZ2lzdGVyICovCisjZGVmaW5lIEVUSF9NQUNGQ1JfUFQgICAgICgodWludDMyX3QpMHhGRkZGMDAwMCkgIC8qIFBhdXNlIHRpbWUgKi8KKyNkZWZpbmUgRVRIX01BQ0ZDUl9aUVBEICAgKCh1aW50MzJfdCkweDAwMDAwMDgwKSAgLyogWmVyby1xdWFudGEgcGF1c2UgZGlzYWJsZSAqLworI2RlZmluZSBFVEhfTUFDRkNSX1BMVCAgICAoKHVpbnQzMl90KTB4MDAwMDAwMzApICAvKiBQYXVzZSBsb3cgdGhyZXNob2xkOiA0IGNhc2VzICovCisgICNkZWZpbmUgRVRIX01BQ0ZDUl9QTFRfTWludXM0ICAgKCh1aW50MzJfdCkweDAwMDAwMDAwKSAgLyogUGF1c2UgdGltZSBtaW51cyA0IHNsb3QgdGltZXMgKi8KKyAgI2RlZmluZSBFVEhfTUFDRkNSX1BMVF9NaW51czI4ICAoKHVpbnQzMl90KTB4MDAwMDAwMTApICAvKiBQYXVzZSB0aW1lIG1pbnVzIDI4IHNsb3QgdGltZXMgKi8KKyAgI2RlZmluZSBFVEhfTUFDRkNSX1BMVF9NaW51czE0NCAoKHVpbnQzMl90KTB4MDAwMDAwMjApICAvKiBQYXVzZSB0aW1lIG1pbnVzIDE0NCBzbG90IHRpbWVzICovCisgICNkZWZpbmUgRVRIX01BQ0ZDUl9QTFRfTWludXMyNTYgKCh1aW50MzJfdCkweDAwMDAwMDMwKSAgLyogUGF1c2UgdGltZSBtaW51cyAyNTYgc2xvdCB0aW1lcyAqLyAgICAgIAorI2RlZmluZSBFVEhfTUFDRkNSX1VQRkQgICAoKHVpbnQzMl90KTB4MDAwMDAwMDgpICAvKiBVbmljYXN0IHBhdXNlIGZyYW1lIGRldGVjdCAqLworI2RlZmluZSBFVEhfTUFDRkNSX1JGQ0UgICAoKHVpbnQzMl90KTB4MDAwMDAwMDQpICAvKiBSZWNlaXZlIGZsb3cgY29udHJvbCBlbmFibGUgKi8KKyNkZWZpbmUgRVRIX01BQ0ZDUl9URkNFICAgKCh1aW50MzJfdCkweDAwMDAwMDAyKSAgLyogVHJhbnNtaXQgZmxvdyBjb250cm9sIGVuYWJsZSAqLworI2RlZmluZSBFVEhfTUFDRkNSX0ZDQkJQQSAoKHVpbnQzMl90KTB4MDAwMDAwMDEpICAvKiBGbG93IGNvbnRyb2wgYnVzeS9iYWNrcHJlc3N1cmUgYWN0aXZhdGUgKi8KKworLyogQml0IGRlZmluaXRpb24gZm9yIEV0aGVybmV0IE1BQyBWTEFOIFRhZyBSZWdpc3RlciAqLworI2RlZmluZSBFVEhfTUFDVkxBTlRSX1ZMQU5UQyAoKHVpbnQzMl90KTB4MDAwMTAwMDApICAvKiAxMi1iaXQgVkxBTiB0YWcgY29tcGFyaXNvbiAqLworI2RlZmluZSBFVEhfTUFDVkxBTlRSX1ZMQU5USSAoKHVpbnQzMl90KTB4MDAwMEZGRkYpICAvKiBWTEFOIHRhZyBpZGVudGlmaWVyIChmb3IgcmVjZWl2ZSBmcmFtZXMpICovCisKKy8qIEJpdCBkZWZpbml0aW9uIGZvciBFdGhlcm5ldCBNQUMgUmVtb3RlIFdha2UtVXBGcmFtZSBGaWx0ZXIgUmVnaXN0ZXIgKi8gCisjZGVmaW5lIEVUSF9NQUNSV1VGRlJfRCAgICgodWludDMyX3QpMHhGRkZGRkZGRikgIC8qIFdha2UtdXAgZnJhbWUgZmlsdGVyIHJlZ2lzdGVyIGRhdGEgKi8KKy8qIEVpZ2h0IHNlcXVlbnRpYWwgV3JpdGVzIHRvIHRoaXMgYWRkcmVzcyAob2Zmc2V0IDB4MjgpIHdpbGwgd3JpdGUgYWxsIFdha2UtVXBGcmFtZSBGaWx0ZXIgUmVnaXN0ZXJzLgorICAgRWlnaHQgc2VxdWVudGlhbCBSZWFkcyBmcm9tIHRoaXMgYWRkcmVzcyAob2Zmc2V0IDB4MjgpIHdpbGwgcmVhZCBhbGwgV2FrZS1VcEZyYW1lIEZpbHRlciBSZWdpc3RlcnMuICovCisvKiBXYWtlLVVwRnJhbWUgRmlsdGVyIFJlZzAgOiBGaWx0ZXIgMCBCeXRlIE1hc2sKKyAgIFdha2UtVXBGcmFtZSBGaWx0ZXIgUmVnMSA6IEZpbHRlciAxIEJ5dGUgTWFzaworICAgV2FrZS1VcEZyYW1lIEZpbHRlciBSZWcyIDogRmlsdGVyIDIgQnl0ZSBNYXNrCisgICBXYWtlLVVwRnJhbWUgRmlsdGVyIFJlZzMgOiBGaWx0ZXIgMyBCeXRlIE1hc2sKKyAgIFdha2UtVXBGcmFtZSBGaWx0ZXIgUmVnNCA6IFJTVkQgLSBGaWx0ZXIzIENvbW1hbmQgLSBSU1ZEIC0gRmlsdGVyMiBDb21tYW5kIC0gCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBSU1ZEIC0gRmlsdGVyMSBDb21tYW5kIC0gUlNWRCAtIEZpbHRlcjAgQ29tbWFuZAorICAgV2FrZS1VcEZyYW1lIEZpbHRlciBSZTUgOiBGaWx0ZXIzIE9mZnNldCAtIEZpbHRlcjIgT2Zmc2V0IC0gRmlsdGVyMSBPZmZzZXQgLSBGaWx0ZXIwIE9mZnNldAorICAgV2FrZS1VcEZyYW1lIEZpbHRlciBSZTYgOiBGaWx0ZXIxIENSQzE2IC0gRmlsdGVyMCBDUkMxNgorICAgV2FrZS1VcEZyYW1lIEZpbHRlciBSZTcgOiBGaWx0ZXIzIENSQzE2IC0gRmlsdGVyMiBDUkMxNiAqLworCisvKiBCaXQgZGVmaW5pdGlvbiBmb3IgRXRoZXJuZXQgTUFDIFBNVCBDb250cm9sIGFuZCBTdGF0dXMgUmVnaXN0ZXIgKi8gCisjZGVmaW5lIEVUSF9NQUNQTVRDU1JfV0ZGUlBSICgodWludDMyX3QpMHg4MDAwMDAwMCkgIC8qIFdha2UtVXAgRnJhbWUgRmlsdGVyIFJlZ2lzdGVyIFBvaW50ZXIgUmVzZXQgKi8KKyNkZWZpbmUgRVRIX01BQ1BNVENTUl9HVSAgICAgKCh1aW50MzJfdCkweDAwMDAwMjAwKSAgLyogR2xvYmFsIFVuaWNhc3QgKi8KKyNkZWZpbmUgRVRIX01BQ1BNVENTUl9XRlIgICAgKCh1aW50MzJfdCkweDAwMDAwMDQwKSAgLyogV2FrZS1VcCBGcmFtZSBSZWNlaXZlZCAqLworI2RlZmluZSBFVEhfTUFDUE1UQ1NSX01QUiAgICAoKHVpbnQzMl90KTB4MDAwMDAwMjApICAvKiBNYWdpYyBQYWNrZXQgUmVjZWl2ZWQgKi8KKyNkZWZpbmUgRVRIX01BQ1BNVENTUl9XRkUgICAgKCh1aW50MzJfdCkweDAwMDAwMDA0KSAgLyogV2FrZS1VcCBGcmFtZSBFbmFibGUgKi8KKyNkZWZpbmUgRVRIX01BQ1BNVENTUl9NUEUgICAgKCh1aW50MzJfdCkweDAwMDAwMDAyKSAgLyogTWFnaWMgUGFja2V0IEVuYWJsZSAqLworI2RlZmluZSBFVEhfTUFDUE1UQ1NSX1BEICAgICAoKHVpbnQzMl90KTB4MDAwMDAwMDEpICAvKiBQb3dlciBEb3duICovCisKKy8qIEJpdCBkZWZpbml0aW9uIGZvciBFdGhlcm5ldCBNQUMgU3RhdHVzIFJlZ2lzdGVyICovCisjZGVmaW5lIEVUSF9NQUNTUl9UU1RTICAgICAgKCh1aW50MzJfdCkweDAwMDAwMjAwKSAgLyogVGltZSBzdGFtcCB0cmlnZ2VyIHN0YXR1cyAqLworI2RlZmluZSBFVEhfTUFDU1JfTU1DVFMgICAgICgodWludDMyX3QpMHgwMDAwMDA0MCkgIC8qIE1NQyB0cmFuc21pdCBzdGF0dXMgKi8KKyNkZWZpbmUgRVRIX01BQ1NSX01NTUNSUyAgICAoKHVpbnQzMl90KTB4MDAwMDAwMjApICAvKiBNTUMgcmVjZWl2ZSBzdGF0dXMgKi8KKyNkZWZpbmUgRVRIX01BQ1NSX01NQ1MgICAgICAoKHVpbnQzMl90KTB4MDAwMDAwMTApICAvKiBNTUMgc3RhdHVzICovCisjZGVmaW5lIEVUSF9NQUNTUl9QTVRTICAgICAgKCh1aW50MzJfdCkweDAwMDAwMDA4KSAgLyogUE1UIHN0YXR1cyAqLworCisvKiBCaXQgZGVmaW5pdGlvbiBmb3IgRXRoZXJuZXQgTUFDIEludGVycnVwdCBNYXNrIFJlZ2lzdGVyICovCisjZGVmaW5lIEVUSF9NQUNJTVJfVFNUSU0gICAgICgodWludDMyX3QpMHgwMDAwMDIwMCkgIC8qIFRpbWUgc3RhbXAgdHJpZ2dlciBpbnRlcnJ1cHQgbWFzayAqLworI2RlZmluZSBFVEhfTUFDSU1SX1BNVElNICAgICAoKHVpbnQzMl90KTB4MDAwMDAwMDgpICAvKiBQTVQgaW50ZXJydXB0IG1hc2sgKi8KKworLyogQml0IGRlZmluaXRpb24gZm9yIEV0aGVybmV0IE1BQyBBZGRyZXNzMCBIaWdoIFJlZ2lzdGVyICovCisjZGVmaW5lIEVUSF9NQUNBMEhSX01BQ0EwSCAgICgodWludDMyX3QpMHgwMDAwRkZGRikgIC8qIE1BQyBhZGRyZXNzMCBoaWdoICovCisKKy8qIEJpdCBkZWZpbml0aW9uIGZvciBFdGhlcm5ldCBNQUMgQWRkcmVzczAgTG93IFJlZ2lzdGVyICovCisjZGVmaW5lIEVUSF9NQUNBMExSX01BQ0EwTCAgICgodWludDMyX3QpMHhGRkZGRkZGRikgIC8qIE1BQyBhZGRyZXNzMCBsb3cgKi8KKworLyogQml0IGRlZmluaXRpb24gZm9yIEV0aGVybmV0IE1BQyBBZGRyZXNzMSBIaWdoIFJlZ2lzdGVyICovCisjZGVmaW5lIEVUSF9NQUNBMUhSX0FFICAgICAgICgodWludDMyX3QpMHg4MDAwMDAwMCkgIC8qIEFkZHJlc3MgZW5hYmxlICovCisjZGVmaW5lIEVUSF9NQUNBMUhSX1NBICAgICAgICgodWludDMyX3QpMHg0MDAwMDAwMCkgIC8qIFNvdXJjZSBhZGRyZXNzICovCisjZGVmaW5lIEVUSF9NQUNBMUhSX01CQyAgICAgICgodWludDMyX3QpMHgzRjAwMDAwMCkgIC8qIE1hc2sgYnl0ZSBjb250cm9sOiBiaXRzIHRvIG1hc2sgZm9yIGNvbXBhcmlzb24gb2YgdGhlIE1BQyBBZGRyZXNzIGJ5dGVzICovCisgICNkZWZpbmUgRVRIX01BQ0ExSFJfTUJDX0hCaXRzMTVfOCAgICAoKHVpbnQzMl90KTB4MjAwMDAwMDApICAvKiBNYXNrIE1BQyBBZGRyZXNzIGhpZ2ggcmVnIGJpdHMgWzE1OjhdICovCisgICNkZWZpbmUgRVRIX01BQ0ExSFJfTUJDX0hCaXRzN18wICAgICAoKHVpbnQzMl90KTB4MTAwMDAwMDApICAvKiBNYXNrIE1BQyBBZGRyZXNzIGhpZ2ggcmVnIGJpdHMgWzc6MF0gKi8KKyAgI2RlZmluZSBFVEhfTUFDQTFIUl9NQkNfTEJpdHMzMV8yNCAgICgodWludDMyX3QpMHgwODAwMDAwMCkgIC8qIE1hc2sgTUFDIEFkZHJlc3MgbG93IHJlZyBiaXRzIFszMToyNF0gKi8KKyAgI2RlZmluZSBFVEhfTUFDQTFIUl9NQkNfTEJpdHMyM18xNiAgICgodWludDMyX3QpMHgwNDAwMDAwMCkgIC8qIE1hc2sgTUFDIEFkZHJlc3MgbG93IHJlZyBiaXRzIFsyMzoxNl0gKi8KKyAgI2RlZmluZSBFVEhfTUFDQTFIUl9NQkNfTEJpdHMxNV84ICAgICgodWludDMyX3QpMHgwMjAwMDAwMCkgIC8qIE1hc2sgTUFDIEFkZHJlc3MgbG93IHJlZyBiaXRzIFsxNTo4XSAqLworICAjZGVmaW5lIEVUSF9NQUNBMUhSX01CQ19MQml0czdfMCAgICAgKCh1aW50MzJfdCkweDAxMDAwMDAwKSAgLyogTWFzayBNQUMgQWRkcmVzcyBsb3cgcmVnIGJpdHMgWzc6MF0gKi8gCisjZGVmaW5lIEVUSF9NQUNBMUhSX01BQ0ExSCAgICgodWludDMyX3QpMHgwMDAwRkZGRikgIC8qIE1BQyBhZGRyZXNzMSBoaWdoICovCisKKy8qIEJpdCBkZWZpbml0aW9uIGZvciBFdGhlcm5ldCBNQUMgQWRkcmVzczEgTG93IFJlZ2lzdGVyICovCisjZGVmaW5lIEVUSF9NQUNBMUxSX01BQ0ExTCAgICgodWludDMyX3QpMHhGRkZGRkZGRikgIC8qIE1BQyBhZGRyZXNzMSBsb3cgKi8KKworLyogQml0IGRlZmluaXRpb24gZm9yIEV0aGVybmV0IE1BQyBBZGRyZXNzMiBIaWdoIFJlZ2lzdGVyICovCisjZGVmaW5lIEVUSF9NQUNBMkhSX0FFICAgICAgICgodWludDMyX3QpMHg4MDAwMDAwMCkgIC8qIEFkZHJlc3MgZW5hYmxlICovCisjZGVmaW5lIEVUSF9NQUNBMkhSX1NBICAgICAgICgodWludDMyX3QpMHg0MDAwMDAwMCkgIC8qIFNvdXJjZSBhZGRyZXNzICovCisjZGVmaW5lIEVUSF9NQUNBMkhSX01CQyAgICAgICgodWludDMyX3QpMHgzRjAwMDAwMCkgIC8qIE1hc2sgYnl0ZSBjb250cm9sICovCisgICNkZWZpbmUgRVRIX01BQ0EySFJfTUJDX0hCaXRzMTVfOCAgICAoKHVpbnQzMl90KTB4MjAwMDAwMDApICAvKiBNYXNrIE1BQyBBZGRyZXNzIGhpZ2ggcmVnIGJpdHMgWzE1OjhdICovCisgICNkZWZpbmUgRVRIX01BQ0EySFJfTUJDX0hCaXRzN18wICAgICAoKHVpbnQzMl90KTB4MTAwMDAwMDApICAvKiBNYXNrIE1BQyBBZGRyZXNzIGhpZ2ggcmVnIGJpdHMgWzc6MF0gKi8KKyAgI2RlZmluZSBFVEhfTUFDQTJIUl9NQkNfTEJpdHMzMV8yNCAgICgodWludDMyX3QpMHgwODAwMDAwMCkgIC8qIE1hc2sgTUFDIEFkZHJlc3MgbG93IHJlZyBiaXRzIFszMToyNF0gKi8KKyAgI2RlZmluZSBFVEhfTUFDQTJIUl9NQkNfTEJpdHMyM18xNiAgICgodWludDMyX3QpMHgwNDAwMDAwMCkgIC8qIE1hc2sgTUFDIEFkZHJlc3MgbG93IHJlZyBiaXRzIFsyMzoxNl0gKi8KKyAgI2RlZmluZSBFVEhfTUFDQTJIUl9NQkNfTEJpdHMxNV84ICAgICgodWludDMyX3QpMHgwMjAwMDAwMCkgIC8qIE1hc2sgTUFDIEFkZHJlc3MgbG93IHJlZyBiaXRzIFsxNTo4XSAqLworICAjZGVmaW5lIEVUSF9NQUNBMkhSX01CQ19MQml0czdfMCAgICAgKCh1aW50MzJfdCkweDAxMDAwMDAwKSAgLyogTWFzayBNQUMgQWRkcmVzcyBsb3cgcmVnIGJpdHMgWzcwXSAqLworI2RlZmluZSBFVEhfTUFDQTJIUl9NQUNBMkggICAoKHVpbnQzMl90KTB4MDAwMEZGRkYpICAvKiBNQUMgYWRkcmVzczEgaGlnaCAqLworCisvKiBCaXQgZGVmaW5pdGlvbiBmb3IgRXRoZXJuZXQgTUFDIEFkZHJlc3MyIExvdyBSZWdpc3RlciAqLworI2RlZmluZSBFVEhfTUFDQTJMUl9NQUNBMkwgICAoKHVpbnQzMl90KTB4RkZGRkZGRkYpICAvKiBNQUMgYWRkcmVzczIgbG93ICovCisKKy8qIEJpdCBkZWZpbml0aW9uIGZvciBFdGhlcm5ldCBNQUMgQWRkcmVzczMgSGlnaCBSZWdpc3RlciAqLworI2RlZmluZSBFVEhfTUFDQTNIUl9BRSAgICAgICAoKHVpbnQzMl90KTB4ODAwMDAwMDApICAvKiBBZGRyZXNzIGVuYWJsZSAqLworI2RlZmluZSBFVEhfTUFDQTNIUl9TQSAgICAgICAoKHVpbnQzMl90KTB4NDAwMDAwMDApICAvKiBTb3VyY2UgYWRkcmVzcyAqLworI2RlZmluZSBFVEhfTUFDQTNIUl9NQkMgICAgICAoKHVpbnQzMl90KTB4M0YwMDAwMDApICAvKiBNYXNrIGJ5dGUgY29udHJvbCAqLworICAjZGVmaW5lIEVUSF9NQUNBM0hSX01CQ19IQml0czE1XzggICAgKCh1aW50MzJfdCkweDIwMDAwMDAwKSAgLyogTWFzayBNQUMgQWRkcmVzcyBoaWdoIHJlZyBiaXRzIFsxNTo4XSAqLworICAjZGVmaW5lIEVUSF9NQUNBM0hSX01CQ19IQml0czdfMCAgICAgKCh1aW50MzJfdCkweDEwMDAwMDAwKSAgLyogTWFzayBNQUMgQWRkcmVzcyBoaWdoIHJlZyBiaXRzIFs3OjBdICovCisgICNkZWZpbmUgRVRIX01BQ0EzSFJfTUJDX0xCaXRzMzFfMjQgICAoKHVpbnQzMl90KTB4MDgwMDAwMDApICAvKiBNYXNrIE1BQyBBZGRyZXNzIGxvdyByZWcgYml0cyBbMzE6MjRdICovCisgICNkZWZpbmUgRVRIX01BQ0EzSFJfTUJDX0xCaXRzMjNfMTYgICAoKHVpbnQzMl90KTB4MDQwMDAwMDApICAvKiBNYXNrIE1BQyBBZGRyZXNzIGxvdyByZWcgYml0cyBbMjM6MTZdICovCisgICNkZWZpbmUgRVRIX01BQ0EzSFJfTUJDX0xCaXRzMTVfOCAgICAoKHVpbnQzMl90KTB4MDIwMDAwMDApICAvKiBNYXNrIE1BQyBBZGRyZXNzIGxvdyByZWcgYml0cyBbMTU6OF0gKi8KKyAgI2RlZmluZSBFVEhfTUFDQTNIUl9NQkNfTEJpdHM3XzAgICAgICgodWludDMyX3QpMHgwMTAwMDAwMCkgIC8qIE1hc2sgTUFDIEFkZHJlc3MgbG93IHJlZyBiaXRzIFs3MF0gKi8KKyNkZWZpbmUgRVRIX01BQ0EzSFJfTUFDQTNIICAgKCh1aW50MzJfdCkweDAwMDBGRkZGKSAgLyogTUFDIGFkZHJlc3MzIGhpZ2ggKi8KKworLyogQml0IGRlZmluaXRpb24gZm9yIEV0aGVybmV0IE1BQyBBZGRyZXNzMyBMb3cgUmVnaXN0ZXIgKi8KKyNkZWZpbmUgRVRIX01BQ0EzTFJfTUFDQTNMICAgKCh1aW50MzJfdCkweEZGRkZGRkZGKSAgLyogTUFDIGFkZHJlc3MzIGxvdyAqLworCisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLworLyogICAgICAgICAgICAgICAgRXRoZXJuZXQgTU1DIFJlZ2lzdGVycyBiaXRzIGRlZmluaXRpb24gICAgICAgICAgICAgICAgICAgICAgKi8KKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCisKKy8qIEJpdCBkZWZpbml0aW9uIGZvciBFdGhlcm5ldCBNTUMgQ29udG9sIFJlZ2lzdGVyICovCisjZGVmaW5lIEVUSF9NTUNDUl9NQ0ZIUCAgICAgICgodWludDMyX3QpMHgwMDAwMDAyMCkgIC8qIE1NQyBjb3VudGVyIEZ1bGwtSGFsZiBwcmVzZXQgKE9ubHkgaW4gU1RNMzJGMnh4KSAqLworI2RlZmluZSBFVEhfTU1DQ1JfTUNQICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDAwMTApICAvKiBNTUMgY291bnRlciBwcmVzZXQgKE9ubHkgaW4gU1RNMzJGMnh4KSAqLworI2RlZmluZSBFVEhfTU1DQ1JfTUNGICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDAwMDgpICAvKiBNTUMgQ291bnRlciBGcmVlemUgKi8KKyNkZWZpbmUgRVRIX01NQ0NSX1JPUiAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwMDA0KSAgLyogUmVzZXQgb24gUmVhZCAqLworI2RlZmluZSBFVEhfTU1DQ1JfQ1NSICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDAwMDIpICAvKiBDb3VudGVyIFN0b3AgUm9sbG92ZXIgKi8KKyNkZWZpbmUgRVRIX01NQ0NSX0NSICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwMDAxKSAgLyogQ291bnRlcnMgUmVzZXQgKi8KKworLyogQml0IGRlZmluaXRpb24gZm9yIEV0aGVybmV0IE1NQyBSZWNlaXZlIEludGVycnVwdCBSZWdpc3RlciAqLworI2RlZmluZSBFVEhfTU1DUklSX1JHVUZTICAgICAoKHVpbnQzMl90KTB4MDAwMjAwMDApICAvKiBTZXQgd2hlbiBSeCBnb29kIHVuaWNhc3QgZnJhbWVzIGNvdW50ZXIgcmVhY2hlcyBoYWxmIHRoZSBtYXhpbXVtIHZhbHVlICovCisjZGVmaW5lIEVUSF9NTUNSSVJfUkZBRVMgICAgICgodWludDMyX3QpMHgwMDAwMDA0MCkgIC8qIFNldCB3aGVuIFJ4IGFsaWdubWVudCBlcnJvciBjb3VudGVyIHJlYWNoZXMgaGFsZiB0aGUgbWF4aW11bSB2YWx1ZSAqLworI2RlZmluZSBFVEhfTU1DUklSX1JGQ0VTICAgICAoKHVpbnQzMl90KTB4MDAwMDAwMjApICAvKiBTZXQgd2hlbiBSeCBjcmMgZXJyb3IgY291bnRlciByZWFjaGVzIGhhbGYgdGhlIG1heGltdW0gdmFsdWUgKi8KKworLyogQml0IGRlZmluaXRpb24gZm9yIEV0aGVybmV0IE1NQyBUcmFuc21pdCBJbnRlcnJ1cHQgUmVnaXN0ZXIgKi8KKyNkZWZpbmUgRVRIX01NQ1RJUl9UR0ZTICAgICAgKCh1aW50MzJfdCkweDAwMjAwMDAwKSAgLyogU2V0IHdoZW4gVHggZ29vZCBmcmFtZSBjb3VudCBjb3VudGVyIHJlYWNoZXMgaGFsZiB0aGUgbWF4aW11bSB2YWx1ZSAqLworI2RlZmluZSBFVEhfTU1DVElSX1RHRk1TQ1MgICAoKHVpbnQzMl90KTB4MDAwMDgwMDApICAvKiBTZXQgd2hlbiBUeCBnb29kIG11bHRpIGNvbCBjb3VudGVyIHJlYWNoZXMgaGFsZiB0aGUgbWF4aW11bSB2YWx1ZSAqLworI2RlZmluZSBFVEhfTU1DVElSX1RHRlNDUyAgICAoKHVpbnQzMl90KTB4MDAwMDQwMDApICAvKiBTZXQgd2hlbiBUeCBnb29kIHNpbmdsZSBjb2wgY291bnRlciByZWFjaGVzIGhhbGYgdGhlIG1heGltdW0gdmFsdWUgKi8KKworLyogQml0IGRlZmluaXRpb24gZm9yIEV0aGVybmV0IE1NQyBSZWNlaXZlIEludGVycnVwdCBNYXNrIFJlZ2lzdGVyICovCisjZGVmaW5lIEVUSF9NTUNSSU1SX1JHVUZNICAgICgodWludDMyX3QpMHgwMDAyMDAwMCkgIC8qIE1hc2sgdGhlIGludGVycnVwdCB3aGVuIFJ4IGdvb2QgdW5pY2FzdCBmcmFtZXMgY291bnRlciByZWFjaGVzIGhhbGYgdGhlIG1heGltdW0gdmFsdWUgKi8KKyNkZWZpbmUgRVRIX01NQ1JJTVJfUkZBRU0gICAgKCh1aW50MzJfdCkweDAwMDAwMDQwKSAgLyogTWFzayB0aGUgaW50ZXJydXB0IHdoZW4gd2hlbiBSeCBhbGlnbm1lbnQgZXJyb3IgY291bnRlciByZWFjaGVzIGhhbGYgdGhlIG1heGltdW0gdmFsdWUgKi8KKyNkZWZpbmUgRVRIX01NQ1JJTVJfUkZDRU0gICAgKCh1aW50MzJfdCkweDAwMDAwMDIwKSAgLyogTWFzayB0aGUgaW50ZXJydXB0IHdoZW4gUnggY3JjIGVycm9yIGNvdW50ZXIgcmVhY2hlcyBoYWxmIHRoZSBtYXhpbXVtIHZhbHVlICovCisKKy8qIEJpdCBkZWZpbml0aW9uIGZvciBFdGhlcm5ldCBNTUMgVHJhbnNtaXQgSW50ZXJydXB0IE1hc2sgUmVnaXN0ZXIgKi8KKyNkZWZpbmUgRVRIX01NQ1RJTVJfVEdGTSAgICAgKCh1aW50MzJfdCkweDAwMjAwMDAwKSAgLyogTWFzayB0aGUgaW50ZXJydXB0IHdoZW4gVHggZ29vZCBmcmFtZSBjb3VudCBjb3VudGVyIHJlYWNoZXMgaGFsZiB0aGUgbWF4aW11bSB2YWx1ZSAqLworI2RlZmluZSBFVEhfTU1DVElNUl9UR0ZNU0NNICAoKHVpbnQzMl90KTB4MDAwMDgwMDApICAvKiBNYXNrIHRoZSBpbnRlcnJ1cHQgd2hlbiBUeCBnb29kIG11bHRpIGNvbCBjb3VudGVyIHJlYWNoZXMgaGFsZiB0aGUgbWF4aW11bSB2YWx1ZSAqLworI2RlZmluZSBFVEhfTU1DVElNUl9UR0ZTQ00gICAoKHVpbnQzMl90KTB4MDAwMDQwMDApICAvKiBNYXNrIHRoZSBpbnRlcnJ1cHQgd2hlbiBUeCBnb29kIHNpbmdsZSBjb2wgY291bnRlciByZWFjaGVzIGhhbGYgdGhlIG1heGltdW0gdmFsdWUgKi8KKworLyogQml0IGRlZmluaXRpb24gZm9yIEV0aGVybmV0IE1NQyBUcmFuc21pdHRlZCBHb29kIEZyYW1lcyBhZnRlciBTaW5nbGUgQ29sbGlzaW9uIENvdW50ZXIgUmVnaXN0ZXIgKi8KKyNkZWZpbmUgRVRIX01NQ1RHRlNDQ1JfVEdGU0NDICAgICAoKHVpbnQzMl90KTB4RkZGRkZGRkYpICAvKiBOdW1iZXIgb2Ygc3VjY2Vzc2Z1bGx5IHRyYW5zbWl0dGVkIGZyYW1lcyBhZnRlciBhIHNpbmdsZSBjb2xsaXNpb24gaW4gSGFsZi1kdXBsZXggbW9kZS4gKi8KKworLyogQml0IGRlZmluaXRpb24gZm9yIEV0aGVybmV0IE1NQyBUcmFuc21pdHRlZCBHb29kIEZyYW1lcyBhZnRlciBNb3JlIHRoYW4gYSBTaW5nbGUgQ29sbGlzaW9uIENvdW50ZXIgUmVnaXN0ZXIgKi8KKyNkZWZpbmUgRVRIX01NQ1RHRk1TQ0NSX1RHRk1TQ0MgICAoKHVpbnQzMl90KTB4RkZGRkZGRkYpICAvKiBOdW1iZXIgb2Ygc3VjY2Vzc2Z1bGx5IHRyYW5zbWl0dGVkIGZyYW1lcyBhZnRlciBtb3JlIHRoYW4gYSBzaW5nbGUgY29sbGlzaW9uIGluIEhhbGYtZHVwbGV4IG1vZGUuICovCisKKy8qIEJpdCBkZWZpbml0aW9uIGZvciBFdGhlcm5ldCBNTUMgVHJhbnNtaXR0ZWQgR29vZCBGcmFtZXMgQ291bnRlciBSZWdpc3RlciAqLworI2RlZmluZSBFVEhfTU1DVEdGQ1JfVEdGQyAgICAoKHVpbnQzMl90KTB4RkZGRkZGRkYpICAvKiBOdW1iZXIgb2YgZ29vZCBmcmFtZXMgdHJhbnNtaXR0ZWQuICovCisKKy8qIEJpdCBkZWZpbml0aW9uIGZvciBFdGhlcm5ldCBNTUMgUmVjZWl2ZWQgRnJhbWVzIHdpdGggQ1JDIEVycm9yIENvdW50ZXIgUmVnaXN0ZXIgKi8KKyNkZWZpbmUgRVRIX01NQ1JGQ0VDUl9SRkNFQyAgKCh1aW50MzJfdCkweEZGRkZGRkZGKSAgLyogTnVtYmVyIG9mIGZyYW1lcyByZWNlaXZlZCB3aXRoIENSQyBlcnJvci4gKi8KKworLyogQml0IGRlZmluaXRpb24gZm9yIEV0aGVybmV0IE1NQyBSZWNlaXZlZCBGcmFtZXMgd2l0aCBBbGlnbmVtZW50IEVycm9yIENvdW50ZXIgUmVnaXN0ZXIgKi8KKyNkZWZpbmUgRVRIX01NQ1JGQUVDUl9SRkFFQyAgKCh1aW50MzJfdCkweEZGRkZGRkZGKSAgLyogTnVtYmVyIG9mIGZyYW1lcyByZWNlaXZlZCB3aXRoIGFsaWdubWVudCAoZHJpYmJsZSkgZXJyb3IgKi8KKworLyogQml0IGRlZmluaXRpb24gZm9yIEV0aGVybmV0IE1NQyBSZWNlaXZlZCBHb29kIFVuaWNhc3QgRnJhbWVzIENvdW50ZXIgUmVnaXN0ZXIgKi8KKyNkZWZpbmUgRVRIX01NQ1JHVUZDUl9SR1VGQyAgKCh1aW50MzJfdCkweEZGRkZGRkZGKSAgLyogTnVtYmVyIG9mIGdvb2QgdW5pY2FzdCBmcmFtZXMgcmVjZWl2ZWQuICovCisKKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCisvKiAgICAgICAgICAgICAgIEV0aGVybmV0IFBUUCBSZWdpc3RlcnMgYml0cyBkZWZpbml0aW9uICAgICAgICAgICAgICAgICAgICAgICAqLworLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KKworLyogQml0IGRlZmluaXRpb24gZm9yIEV0aGVybmV0IFBUUCBUaW1lIFN0YW1wIENvbnRvbCBSZWdpc3RlciAqLworI2RlZmluZSBFVEhfUFRQVFNDUl9UU0NOVCAgICAgICAoKHVpbnQzMl90KTB4MDAwMzAwMDApICAvKiBUaW1lIHN0YW1wIGNsb2NrIG5vZGUgdHlwZSAqLworI2RlZmluZSBFVEhfUFRQVFNTUl9UU1NNUk1FICAgICAoKHVpbnQzMl90KTB4MDAwMDgwMDApICAvKiBUaW1lIHN0YW1wIHNuYXBzaG90IGZvciBtZXNzYWdlIHJlbGV2YW50IHRvIG1hc3RlciBlbmFibGUgKi8KKyNkZWZpbmUgRVRIX1BUUFRTU1JfVFNTRU1FICAgICAgKCh1aW50MzJfdCkweDAwMDA0MDAwKSAgLyogVGltZSBzdGFtcCBzbmFwc2hvdCBmb3IgZXZlbnQgbWVzc2FnZSBlbmFibGUgKi8KKyNkZWZpbmUgRVRIX1BUUFRTU1JfVFNTSVBWNEZFICAgKCh1aW50MzJfdCkweDAwMDAyMDAwKSAgLyogVGltZSBzdGFtcCBzbmFwc2hvdCBmb3IgSVB2NCBmcmFtZXMgZW5hYmxlICovCisjZGVmaW5lIEVUSF9QVFBUU1NSX1RTU0lQVjZGRSAgICgodWludDMyX3QpMHgwMDAwMTAwMCkgIC8qIFRpbWUgc3RhbXAgc25hcHNob3QgZm9yIElQdjYgZnJhbWVzIGVuYWJsZSAqLworI2RlZmluZSBFVEhfUFRQVFNTUl9UU1NQVFBPRUZFICAoKHVpbnQzMl90KTB4MDAwMDA4MDApICAvKiBUaW1lIHN0YW1wIHNuYXBzaG90IGZvciBQVFAgb3ZlciBldGhlcm5ldCBmcmFtZXMgZW5hYmxlICovCisjZGVmaW5lIEVUSF9QVFBUU1NSX1RTUFRQUFNWMkUgICgodWludDMyX3QpMHgwMDAwMDQwMCkgIC8qIFRpbWUgc3RhbXAgUFRQIHBhY2tldCBzbm9vcGluZyBmb3IgdmVyc2lvbjIgZm9ybWF0IGVuYWJsZSAqLworI2RlZmluZSBFVEhfUFRQVFNTUl9UU1NTUiAgICAgICAoKHVpbnQzMl90KTB4MDAwMDAyMDApICAvKiBUaW1lIHN0YW1wIFN1Yi1zZWNvbmRzIHJvbGxvdmVyICovCisjZGVmaW5lIEVUSF9QVFBUU1NSX1RTU0FSRkUgICAgICgodWludDMyX3QpMHgwMDAwMDEwMCkgIC8qIFRpbWUgc3RhbXAgc25hcHNob3QgZm9yIGFsbCByZWNlaXZlZCBmcmFtZXMgZW5hYmxlICovCisKKyNkZWZpbmUgRVRIX1BUUFRTQ1JfVFNBUlUgICAgKCh1aW50MzJfdCkweDAwMDAwMDIwKSAgLyogQWRkZW5kIHJlZ2lzdGVyIHVwZGF0ZSAqLworI2RlZmluZSBFVEhfUFRQVFNDUl9UU0lURSAgICAoKHVpbnQzMl90KTB4MDAwMDAwMTApICAvKiBUaW1lIHN0YW1wIGludGVycnVwdCB0cmlnZ2VyIGVuYWJsZSAqLworI2RlZmluZSBFVEhfUFRQVFNDUl9UU1NUVSAgICAoKHVpbnQzMl90KTB4MDAwMDAwMDgpICAvKiBUaW1lIHN0YW1wIHVwZGF0ZSAqLworI2RlZmluZSBFVEhfUFRQVFNDUl9UU1NUSSAgICAoKHVpbnQzMl90KTB4MDAwMDAwMDQpICAvKiBUaW1lIHN0YW1wIGluaXRpYWxpemUgKi8KKyNkZWZpbmUgRVRIX1BUUFRTQ1JfVFNGQ1UgICAgKCh1aW50MzJfdCkweDAwMDAwMDAyKSAgLyogVGltZSBzdGFtcCBmaW5lIG9yIGNvYXJzZSB1cGRhdGUgKi8KKyNkZWZpbmUgRVRIX1BUUFRTQ1JfVFNFICAgICAgKCh1aW50MzJfdCkweDAwMDAwMDAxKSAgLyogVGltZSBzdGFtcCBlbmFibGUgKi8KKworLyogQml0IGRlZmluaXRpb24gZm9yIEV0aGVybmV0IFBUUCBTdWItU2Vjb25kIEluY3JlbWVudCBSZWdpc3RlciAqLworI2RlZmluZSBFVEhfUFRQU1NJUl9TVFNTSSAgICAoKHVpbnQzMl90KTB4MDAwMDAwRkYpICAvKiBTeXN0ZW0gdGltZSBTdWItc2Vjb25kIGluY3JlbWVudCB2YWx1ZSAqLworCisvKiBCaXQgZGVmaW5pdGlvbiBmb3IgRXRoZXJuZXQgUFRQIFRpbWUgU3RhbXAgSGlnaCBSZWdpc3RlciAqLworI2RlZmluZSBFVEhfUFRQVFNIUl9TVFMgICAgICAoKHVpbnQzMl90KTB4RkZGRkZGRkYpICAvKiBTeXN0ZW0gVGltZSBzZWNvbmQgKi8KKworLyogQml0IGRlZmluaXRpb24gZm9yIEV0aGVybmV0IFBUUCBUaW1lIFN0YW1wIExvdyBSZWdpc3RlciAqLworI2RlZmluZSBFVEhfUFRQVFNMUl9TVFBOUyAgICAoKHVpbnQzMl90KTB4ODAwMDAwMDApICAvKiBTeXN0ZW0gVGltZSBQb3NpdGl2ZSBvciBuZWdhdGl2ZSB0aW1lICovCisjZGVmaW5lIEVUSF9QVFBUU0xSX1NUU1MgICAgICgodWludDMyX3QpMHg3RkZGRkZGRikgIC8qIFN5c3RlbSBUaW1lIHN1Yi1zZWNvbmRzICovCisKKy8qIEJpdCBkZWZpbml0aW9uIGZvciBFdGhlcm5ldCBQVFAgVGltZSBTdGFtcCBIaWdoIFVwZGF0ZSBSZWdpc3RlciAqLworI2RlZmluZSBFVEhfUFRQVFNIVVJfVFNVUyAgICAoKHVpbnQzMl90KTB4RkZGRkZGRkYpICAvKiBUaW1lIHN0YW1wIHVwZGF0ZSBzZWNvbmRzICovCisKKy8qIEJpdCBkZWZpbml0aW9uIGZvciBFdGhlcm5ldCBQVFAgVGltZSBTdGFtcCBMb3cgVXBkYXRlIFJlZ2lzdGVyICovCisjZGVmaW5lIEVUSF9QVFBUU0xVUl9UU1VQTlMgICgodWludDMyX3QpMHg4MDAwMDAwMCkgIC8qIFRpbWUgc3RhbXAgdXBkYXRlIFBvc2l0aXZlIG9yIG5lZ2F0aXZlIHRpbWUgKi8KKyNkZWZpbmUgRVRIX1BUUFRTTFVSX1RTVVNTICAgKCh1aW50MzJfdCkweDdGRkZGRkZGKSAgLyogVGltZSBzdGFtcCB1cGRhdGUgc3ViLXNlY29uZHMgKi8KKworLyogQml0IGRlZmluaXRpb24gZm9yIEV0aGVybmV0IFBUUCBUaW1lIFN0YW1wIEFkZGVuZCBSZWdpc3RlciAqLworI2RlZmluZSBFVEhfUFRQVFNBUl9UU0EgICAgICAoKHVpbnQzMl90KTB4RkZGRkZGRkYpICAvKiBUaW1lIHN0YW1wIGFkZGVuZCAqLworCisvKiBCaXQgZGVmaW5pdGlvbiBmb3IgRXRoZXJuZXQgUFRQIFRhcmdldCBUaW1lIEhpZ2ggUmVnaXN0ZXIgKi8KKyNkZWZpbmUgRVRIX1BUUFRUSFJfVFRTSCAgICAgKCh1aW50MzJfdCkweEZGRkZGRkZGKSAgLyogVGFyZ2V0IHRpbWUgc3RhbXAgaGlnaCAqLworCisvKiBCaXQgZGVmaW5pdGlvbiBmb3IgRXRoZXJuZXQgUFRQIFRhcmdldCBUaW1lIExvdyBSZWdpc3RlciAqLworI2RlZmluZSBFVEhfUFRQVFRMUl9UVFNMICAgICAoKHVpbnQzMl90KTB4RkZGRkZGRkYpICAvKiBUYXJnZXQgdGltZSBzdGFtcCBsb3cgKi8KKworLyogQml0IGRlZmluaXRpb24gZm9yIEV0aGVybmV0IFBUUCBUaW1lIFN0YW1wIFN0YXR1cyBSZWdpc3RlciAqLworI2RlZmluZSBFVEhfUFRQVFNTUl9UU1RUUiAgICAoKHVpbnQzMl90KTB4MDAwMDAwMjApICAvKiBUaW1lIHN0YW1wIHRhcmdldCB0aW1lIHJlYWNoZWQgKi8KKyNkZWZpbmUgRVRIX1BUUFRTU1JfVFNTTyAgICAgKCh1aW50MzJfdCkweDAwMDAwMDEwKSAgLyogVGltZSBzdGFtcCBzZWNvbmRzIG92ZXJmbG93ICovCisKKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCisvKiAgICAgICAgICAgICAgICAgRXRoZXJuZXQgRE1BIFJlZ2lzdGVycyBiaXRzIGRlZmluaXRpb24gICAgICAgICAgICAgICAgICAgICAqLworLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KKworLyogQml0IGRlZmluaXRpb24gZm9yIEV0aGVybmV0IERNQSBCdXMgTW9kZSBSZWdpc3RlciAqLworI2RlZmluZSBFVEhfRE1BQk1SX0FBQiAgICAgICAoKHVpbnQzMl90KTB4MDIwMDAwMDApICAvKiBBZGRyZXNzLUFsaWduZWQgYmVhdHMgKi8KKyNkZWZpbmUgRVRIX0RNQUJNUl9GUE0gICAgICAgICgodWludDMyX3QpMHgwMTAwMDAwMCkgIC8qIDR4UEJMIG1vZGUgKi8KKyNkZWZpbmUgRVRIX0RNQUJNUl9VU1AgICAgICAgKCh1aW50MzJfdCkweDAwODAwMDAwKSAgLyogVXNlIHNlcGFyYXRlIFBCTCAqLworI2RlZmluZSBFVEhfRE1BQk1SX1JEUCAgICAgICAoKHVpbnQzMl90KTB4MDA3RTAwMDApICAvKiBSeERNQSBQQkwgKi8KKyAgI2RlZmluZSBFVEhfRE1BQk1SX1JEUF8xQmVhdCAgICAoKHVpbnQzMl90KTB4MDAwMjAwMDApICAvKiBtYXhpbXVtIG51bWJlciBvZiBiZWF0cyB0byBiZSB0cmFuc2ZlcnJlZCBpbiBvbmUgUnhETUEgdHJhbnNhY3Rpb24gaXMgMSAqLworICAjZGVmaW5lIEVUSF9ETUFCTVJfUkRQXzJCZWF0ICAgICgodWludDMyX3QpMHgwMDA0MDAwMCkgIC8qIG1heGltdW0gbnVtYmVyIG9mIGJlYXRzIHRvIGJlIHRyYW5zZmVycmVkIGluIG9uZSBSeERNQSB0cmFuc2FjdGlvbiBpcyAyICovCisgICNkZWZpbmUgRVRIX0RNQUJNUl9SRFBfNEJlYXQgICAgKCh1aW50MzJfdCkweDAwMDgwMDAwKSAgLyogbWF4aW11bSBudW1iZXIgb2YgYmVhdHMgdG8gYmUgdHJhbnNmZXJyZWQgaW4gb25lIFJ4RE1BIHRyYW5zYWN0aW9uIGlzIDQgKi8KKyAgI2RlZmluZSBFVEhfRE1BQk1SX1JEUF84QmVhdCAgICAoKHVpbnQzMl90KTB4MDAxMDAwMDApICAvKiBtYXhpbXVtIG51bWJlciBvZiBiZWF0cyB0byBiZSB0cmFuc2ZlcnJlZCBpbiBvbmUgUnhETUEgdHJhbnNhY3Rpb24gaXMgOCAqLworICAjZGVmaW5lIEVUSF9ETUFCTVJfUkRQXzE2QmVhdCAgICgodWludDMyX3QpMHgwMDIwMDAwMCkgIC8qIG1heGltdW0gbnVtYmVyIG9mIGJlYXRzIHRvIGJlIHRyYW5zZmVycmVkIGluIG9uZSBSeERNQSB0cmFuc2FjdGlvbiBpcyAxNiAqLworICAjZGVmaW5lIEVUSF9ETUFCTVJfUkRQXzMyQmVhdCAgICgodWludDMyX3QpMHgwMDQwMDAwMCkgIC8qIG1heGltdW0gbnVtYmVyIG9mIGJlYXRzIHRvIGJlIHRyYW5zZmVycmVkIGluIG9uZSBSeERNQSB0cmFuc2FjdGlvbiBpcyAzMiAqLyAgICAgICAgICAgICAgICAKKyAgI2RlZmluZSBFVEhfRE1BQk1SX1JEUF80eFBCTF80QmVhdCAgICgodWludDMyX3QpMHgwMTAyMDAwMCkgIC8qIG1heGltdW0gbnVtYmVyIG9mIGJlYXRzIHRvIGJlIHRyYW5zZmVycmVkIGluIG9uZSBSeERNQSB0cmFuc2FjdGlvbiBpcyA0ICovCisgICNkZWZpbmUgRVRIX0RNQUJNUl9SRFBfNHhQQkxfOEJlYXQgICAoKHVpbnQzMl90KTB4MDEwNDAwMDApICAvKiBtYXhpbXVtIG51bWJlciBvZiBiZWF0cyB0byBiZSB0cmFuc2ZlcnJlZCBpbiBvbmUgUnhETUEgdHJhbnNhY3Rpb24gaXMgOCAqLworICAjZGVmaW5lIEVUSF9ETUFCTVJfUkRQXzR4UEJMXzE2QmVhdCAgKCh1aW50MzJfdCkweDAxMDgwMDAwKSAgLyogbWF4aW11bSBudW1iZXIgb2YgYmVhdHMgdG8gYmUgdHJhbnNmZXJyZWQgaW4gb25lIFJ4RE1BIHRyYW5zYWN0aW9uIGlzIDE2ICovCisgICNkZWZpbmUgRVRIX0RNQUJNUl9SRFBfNHhQQkxfMzJCZWF0ICAoKHVpbnQzMl90KTB4MDExMDAwMDApICAvKiBtYXhpbXVtIG51bWJlciBvZiBiZWF0cyB0byBiZSB0cmFuc2ZlcnJlZCBpbiBvbmUgUnhETUEgdHJhbnNhY3Rpb24gaXMgMzIgKi8KKyAgI2RlZmluZSBFVEhfRE1BQk1SX1JEUF80eFBCTF82NEJlYXQgICgodWludDMyX3QpMHgwMTIwMDAwMCkgIC8qIG1heGltdW0gbnVtYmVyIG9mIGJlYXRzIHRvIGJlIHRyYW5zZmVycmVkIGluIG9uZSBSeERNQSB0cmFuc2FjdGlvbiBpcyA2NCAqLworICAjZGVmaW5lIEVUSF9ETUFCTVJfUkRQXzR4UEJMXzEyOEJlYXQgKCh1aW50MzJfdCkweDAxNDAwMDAwKSAgLyogbWF4aW11bSBudW1iZXIgb2YgYmVhdHMgdG8gYmUgdHJhbnNmZXJyZWQgaW4gb25lIFJ4RE1BIHRyYW5zYWN0aW9uIGlzIDEyOCAqLyAgCisjZGVmaW5lIEVUSF9ETUFCTVJfRkIgICAgICAgICgodWludDMyX3QpMHgwMDAxMDAwMCkgIC8qIEZpeGVkIEJ1cnN0ICovCisjZGVmaW5lIEVUSF9ETUFCTVJfUlRQUiAgICAgICgodWludDMyX3QpMHgwMDAwQzAwMCkgIC8qIFJ4IFR4IHByaW9yaXR5IHJhdGlvICovCisgICNkZWZpbmUgRVRIX0RNQUJNUl9SVFBSXzFfMSAgICAgKCh1aW50MzJfdCkweDAwMDAwMDAwKSAgLyogUnggVHggcHJpb3JpdHkgcmF0aW8gKi8KKyAgI2RlZmluZSBFVEhfRE1BQk1SX1JUUFJfMl8xICAgICAoKHVpbnQzMl90KTB4MDAwMDQwMDApICAvKiBSeCBUeCBwcmlvcml0eSByYXRpbyAqLworICAjZGVmaW5lIEVUSF9ETUFCTVJfUlRQUl8zXzEgICAgICgodWludDMyX3QpMHgwMDAwODAwMCkgIC8qIFJ4IFR4IHByaW9yaXR5IHJhdGlvICovCisgICNkZWZpbmUgRVRIX0RNQUJNUl9SVFBSXzRfMSAgICAgKCh1aW50MzJfdCkweDAwMDBDMDAwKSAgLyogUnggVHggcHJpb3JpdHkgcmF0aW8gKi8gIAorI2RlZmluZSBFVEhfRE1BQk1SX1BCTCAgICAoKHVpbnQzMl90KTB4MDAwMDNGMDApICAvKiBQcm9ncmFtbWFibGUgYnVyc3QgbGVuZ3RoICovCisgICNkZWZpbmUgRVRIX0RNQUJNUl9QQkxfMUJlYXQgICAgKCh1aW50MzJfdCkweDAwMDAwMTAwKSAgLyogbWF4aW11bSBudW1iZXIgb2YgYmVhdHMgdG8gYmUgdHJhbnNmZXJyZWQgaW4gb25lIFR4RE1BIChvciBib3RoKSB0cmFuc2FjdGlvbiBpcyAxICovCisgICNkZWZpbmUgRVRIX0RNQUJNUl9QQkxfMkJlYXQgICAgKCh1aW50MzJfdCkweDAwMDAwMjAwKSAgLyogbWF4aW11bSBudW1iZXIgb2YgYmVhdHMgdG8gYmUgdHJhbnNmZXJyZWQgaW4gb25lIFR4RE1BIChvciBib3RoKSB0cmFuc2FjdGlvbiBpcyAyICovCisgICNkZWZpbmUgRVRIX0RNQUJNUl9QQkxfNEJlYXQgICAgKCh1aW50MzJfdCkweDAwMDAwNDAwKSAgLyogbWF4aW11bSBudW1iZXIgb2YgYmVhdHMgdG8gYmUgdHJhbnNmZXJyZWQgaW4gb25lIFR4RE1BIChvciBib3RoKSB0cmFuc2FjdGlvbiBpcyA0ICovCisgICNkZWZpbmUgRVRIX0RNQUJNUl9QQkxfOEJlYXQgICAgKCh1aW50MzJfdCkweDAwMDAwODAwKSAgLyogbWF4aW11bSBudW1iZXIgb2YgYmVhdHMgdG8gYmUgdHJhbnNmZXJyZWQgaW4gb25lIFR4RE1BIChvciBib3RoKSB0cmFuc2FjdGlvbiBpcyA4ICovCisgICNkZWZpbmUgRVRIX0RNQUJNUl9QQkxfMTZCZWF0ICAgKCh1aW50MzJfdCkweDAwMDAxMDAwKSAgLyogbWF4aW11bSBudW1iZXIgb2YgYmVhdHMgdG8gYmUgdHJhbnNmZXJyZWQgaW4gb25lIFR4RE1BIChvciBib3RoKSB0cmFuc2FjdGlvbiBpcyAxNiAqLworICAjZGVmaW5lIEVUSF9ETUFCTVJfUEJMXzMyQmVhdCAgICgodWludDMyX3QpMHgwMDAwMjAwMCkgIC8qIG1heGltdW0gbnVtYmVyIG9mIGJlYXRzIHRvIGJlIHRyYW5zZmVycmVkIGluIG9uZSBUeERNQSAob3IgYm90aCkgdHJhbnNhY3Rpb24gaXMgMzIgKi8gICAgICAgICAgICAgICAgCisgICNkZWZpbmUgRVRIX0RNQUJNUl9QQkxfNHhQQkxfNEJlYXQgICAoKHVpbnQzMl90KTB4MDEwMDAxMDApICAvKiBtYXhpbXVtIG51bWJlciBvZiBiZWF0cyB0byBiZSB0cmFuc2ZlcnJlZCBpbiBvbmUgVHhETUEgKG9yIGJvdGgpIHRyYW5zYWN0aW9uIGlzIDQgKi8KKyAgI2RlZmluZSBFVEhfRE1BQk1SX1BCTF80eFBCTF84QmVhdCAgICgodWludDMyX3QpMHgwMTAwMDIwMCkgIC8qIG1heGltdW0gbnVtYmVyIG9mIGJlYXRzIHRvIGJlIHRyYW5zZmVycmVkIGluIG9uZSBUeERNQSAob3IgYm90aCkgdHJhbnNhY3Rpb24gaXMgOCAqLworICAjZGVmaW5lIEVUSF9ETUFCTVJfUEJMXzR4UEJMXzE2QmVhdCAgKCh1aW50MzJfdCkweDAxMDAwNDAwKSAgLyogbWF4aW11bSBudW1iZXIgb2YgYmVhdHMgdG8gYmUgdHJhbnNmZXJyZWQgaW4gb25lIFR4RE1BIChvciBib3RoKSB0cmFuc2FjdGlvbiBpcyAxNiAqLworICAjZGVmaW5lIEVUSF9ETUFCTVJfUEJMXzR4UEJMXzMyQmVhdCAgKCh1aW50MzJfdCkweDAxMDAwODAwKSAgLyogbWF4aW11bSBudW1iZXIgb2YgYmVhdHMgdG8gYmUgdHJhbnNmZXJyZWQgaW4gb25lIFR4RE1BIChvciBib3RoKSB0cmFuc2FjdGlvbiBpcyAzMiAqLworICAjZGVmaW5lIEVUSF9ETUFCTVJfUEJMXzR4UEJMXzY0QmVhdCAgKCh1aW50MzJfdCkweDAxMDAxMDAwKSAgLyogbWF4aW11bSBudW1iZXIgb2YgYmVhdHMgdG8gYmUgdHJhbnNmZXJyZWQgaW4gb25lIFR4RE1BIChvciBib3RoKSB0cmFuc2FjdGlvbiBpcyA2NCAqLworICAjZGVmaW5lIEVUSF9ETUFCTVJfUEJMXzR4UEJMXzEyOEJlYXQgKCh1aW50MzJfdCkweDAxMDAyMDAwKSAgLyogbWF4aW11bSBudW1iZXIgb2YgYmVhdHMgdG8gYmUgdHJhbnNmZXJyZWQgaW4gb25lIFR4RE1BIChvciBib3RoKSB0cmFuc2FjdGlvbiBpcyAxMjggKi8KKyNkZWZpbmUgRVRIX0RNQUJNUl9FREUgICAgICAgKCh1aW50MzJfdCkweDAwMDAwMDgwKSAgLyogRW5oYW5jZWQgRGVzY3JpcHRvciBFbmFibGUgKi8KKyNkZWZpbmUgRVRIX0RNQUJNUl9EU0wgICAgICAgKCh1aW50MzJfdCkweDAwMDAwMDdDKSAgLyogRGVzY3JpcHRvciBTa2lwIExlbmd0aCAqLworI2RlZmluZSBFVEhfRE1BQk1SX0RBICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDAwMDIpICAvKiBETUEgYXJiaXRyYXRpb24gc2NoZW1lICovCisjZGVmaW5lIEVUSF9ETUFCTVJfU1IgICAgICAgICgodWludDMyX3QpMHgwMDAwMDAwMSkgIC8qIFNvZnR3YXJlIHJlc2V0ICovCisKKy8qIEJpdCBkZWZpbml0aW9uIGZvciBFdGhlcm5ldCBETUEgVHJhbnNtaXQgUG9sbCBEZW1hbmQgUmVnaXN0ZXIgKi8KKyNkZWZpbmUgRVRIX0RNQVRQRFJfVFBEICAgICAgKCh1aW50MzJfdCkweEZGRkZGRkZGKSAgLyogVHJhbnNtaXQgcG9sbCBkZW1hbmQgKi8KKworLyogQml0IGRlZmluaXRpb24gZm9yIEV0aGVybmV0IERNQSBSZWNlaXZlIFBvbGwgRGVtYW5kIFJlZ2lzdGVyICovCisjZGVmaW5lIEVUSF9ETUFSUERSX1JQRCAgICAgICgodWludDMyX3QpMHhGRkZGRkZGRikgIC8qIFJlY2VpdmUgcG9sbCBkZW1hbmQgICovCisKKy8qIEJpdCBkZWZpbml0aW9uIGZvciBFdGhlcm5ldCBETUEgUmVjZWl2ZSBEZXNjcmlwdG9yIExpc3QgQWRkcmVzcyBSZWdpc3RlciAqLworI2RlZmluZSBFVEhfRE1BUkRMQVJfU1JMICAgICAoKHVpbnQzMl90KTB4RkZGRkZGRkYpICAvKiBTdGFydCBvZiByZWNlaXZlIGxpc3QgKi8KKworLyogQml0IGRlZmluaXRpb24gZm9yIEV0aGVybmV0IERNQSBUcmFuc21pdCBEZXNjcmlwdG9yIExpc3QgQWRkcmVzcyBSZWdpc3RlciAqLworI2RlZmluZSBFVEhfRE1BVERMQVJfU1RMICAgICAoKHVpbnQzMl90KTB4RkZGRkZGRkYpICAvKiBTdGFydCBvZiB0cmFuc21pdCBsaXN0ICovCisKKy8qIEJpdCBkZWZpbml0aW9uIGZvciBFdGhlcm5ldCBETUEgU3RhdHVzIFJlZ2lzdGVyICovCisjZGVmaW5lIEVUSF9ETUFTUl9UU1RTICAgICAgICgodWludDMyX3QpMHgyMDAwMDAwMCkgIC8qIFRpbWUtc3RhbXAgdHJpZ2dlciBzdGF0dXMgKi8KKyNkZWZpbmUgRVRIX0RNQVNSX1BNVFMgICAgICAgKCh1aW50MzJfdCkweDEwMDAwMDAwKSAgLyogUE1UIHN0YXR1cyAqLworI2RlZmluZSBFVEhfRE1BU1JfTU1DUyAgICAgICAoKHVpbnQzMl90KTB4MDgwMDAwMDApICAvKiBNTUMgc3RhdHVzICovCisjZGVmaW5lIEVUSF9ETUFTUl9FQlMgICAgICAgICgodWludDMyX3QpMHgwMzgwMDAwMCkgIC8qIEVycm9yIGJpdHMgc3RhdHVzICovCisgIC8qIGNvbWJpbmF0aW9uIHdpdGggRUJTWzI6MF0gZm9yIEdldEZsYWdTdGF0dXMgZnVuY3Rpb24gKi8KKyAgI2RlZmluZSBFVEhfRE1BU1JfRUJTX0Rlc2NBY2Nlc3MgICAgICAoKHVpbnQzMl90KTB4MDIwMDAwMDApICAvKiBFcnJvciBiaXRzIDAtZGF0YSBidWZmZXIsIDEtZGVzYy4gYWNjZXNzICovCisgICNkZWZpbmUgRVRIX0RNQVNSX0VCU19SZWFkVHJhbnNmICAgICAgKCh1aW50MzJfdCkweDAxMDAwMDAwKSAgLyogRXJyb3IgYml0cyAwLXdyaXRlIHRybnNmLCAxLXJlYWQgdHJhbnNmciAqLworICAjZGVmaW5lIEVUSF9ETUFTUl9FQlNfRGF0YVRyYW5zZlR4ICAgICgodWludDMyX3QpMHgwMDgwMDAwMCkgIC8qIEVycm9yIGJpdHMgMC1SeCBETUEsIDEtVHggRE1BICovCisjZGVmaW5lIEVUSF9ETUFTUl9UUFMgICAgICAgICAoKHVpbnQzMl90KTB4MDA3MDAwMDApICAvKiBUcmFuc21pdCBwcm9jZXNzIHN0YXRlICovCisgICNkZWZpbmUgRVRIX0RNQVNSX1RQU19TdG9wcGVkICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwMDAwKSAgLyogU3RvcHBlZCAtIFJlc2V0IG9yIFN0b3AgVHggQ29tbWFuZCBpc3N1ZWQgICovCisgICNkZWZpbmUgRVRIX0RNQVNSX1RQU19GZXRjaGluZyAgICAgICAgKCh1aW50MzJfdCkweDAwMTAwMDAwKSAgLyogUnVubmluZyAtIGZldGNoaW5nIHRoZSBUeCBkZXNjcmlwdG9yICovCisgICNkZWZpbmUgRVRIX0RNQVNSX1RQU19XYWl0aW5nICAgICAgICAgKCh1aW50MzJfdCkweDAwMjAwMDAwKSAgLyogUnVubmluZyAtIHdhaXRpbmcgZm9yIHN0YXR1cyAqLworICAjZGVmaW5lIEVUSF9ETUFTUl9UUFNfUmVhZGluZyAgICAgICAgICgodWludDMyX3QpMHgwMDMwMDAwMCkgIC8qIFJ1bm5pbmcgLSByZWFkaW5nIHRoZSBkYXRhIGZyb20gaG9zdCBtZW1vcnkgKi8KKyAgI2RlZmluZSBFVEhfRE1BU1JfVFBTX1N1c3BlbmRlZCAgICAgICAoKHVpbnQzMl90KTB4MDA2MDAwMDApICAvKiBTdXNwZW5kZWQgLSBUeCBEZXNjcmlwdG9yIHVuYXZhaWxhYmUgKi8KKyAgI2RlZmluZSBFVEhfRE1BU1JfVFBTX0Nsb3NpbmcgICAgICAgICAoKHVpbnQzMl90KTB4MDA3MDAwMDApICAvKiBSdW5uaW5nIC0gY2xvc2luZyBSeCBkZXNjcmlwdG9yICovCisjZGVmaW5lIEVUSF9ETUFTUl9SUFMgICAgICAgICAoKHVpbnQzMl90KTB4MDAwRTAwMDApICAvKiBSZWNlaXZlIHByb2Nlc3Mgc3RhdGUgKi8KKyAgI2RlZmluZSBFVEhfRE1BU1JfUlBTX1N0b3BwZWQgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDAwMDApICAvKiBTdG9wcGVkIC0gUmVzZXQgb3IgU3RvcCBSeCBDb21tYW5kIGlzc3VlZCAqLworICAjZGVmaW5lIEVUSF9ETUFTUl9SUFNfRmV0Y2hpbmcgICAgICAgICgodWludDMyX3QpMHgwMDAyMDAwMCkgIC8qIFJ1bm5pbmcgLSBmZXRjaGluZyB0aGUgUnggZGVzY3JpcHRvciAqLworICAjZGVmaW5lIEVUSF9ETUFTUl9SUFNfV2FpdGluZyAgICAgICAgICgodWludDMyX3QpMHgwMDA2MDAwMCkgIC8qIFJ1bm5pbmcgLSB3YWl0aW5nIGZvciBwYWNrZXQgKi8KKyAgI2RlZmluZSBFVEhfRE1BU1JfUlBTX1N1c3BlbmRlZCAgICAgICAoKHVpbnQzMl90KTB4MDAwODAwMDApICAvKiBTdXNwZW5kZWQgLSBSeCBEZXNjcmlwdG9yIHVuYXZhaWxhYmxlICovCisgICNkZWZpbmUgRVRIX0RNQVNSX1JQU19DbG9zaW5nICAgICAgICAgKCh1aW50MzJfdCkweDAwMEEwMDAwKSAgLyogUnVubmluZyAtIGNsb3NpbmcgZGVzY3JpcHRvciAqLworICAjZGVmaW5lIEVUSF9ETUFTUl9SUFNfUXVldWluZyAgICAgICAgICgodWludDMyX3QpMHgwMDBFMDAwMCkgIC8qIFJ1bm5pbmcgLSBxdWV1aW5nIHRoZSByZWNpZXZlIGZyYW1lIGludG8gaG9zdCBtZW1vcnkgKi8KKyNkZWZpbmUgRVRIX0RNQVNSX05JUyAgICAgICAgKCh1aW50MzJfdCkweDAwMDEwMDAwKSAgLyogTm9ybWFsIGludGVycnVwdCBzdW1tYXJ5ICovCisjZGVmaW5lIEVUSF9ETUFTUl9BSVMgICAgICAgICgodWludDMyX3QpMHgwMDAwODAwMCkgIC8qIEFibm9ybWFsIGludGVycnVwdCBzdW1tYXJ5ICovCisjZGVmaW5lIEVUSF9ETUFTUl9FUlMgICAgICAgICgodWludDMyX3QpMHgwMDAwNDAwMCkgIC8qIEVhcmx5IHJlY2VpdmUgc3RhdHVzICovCisjZGVmaW5lIEVUSF9ETUFTUl9GQkVTICAgICAgICgodWludDMyX3QpMHgwMDAwMjAwMCkgIC8qIEZhdGFsIGJ1cyBlcnJvciBzdGF0dXMgKi8KKyNkZWZpbmUgRVRIX0RNQVNSX0VUUyAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwNDAwKSAgLyogRWFybHkgdHJhbnNtaXQgc3RhdHVzICovCisjZGVmaW5lIEVUSF9ETUFTUl9SV1RTICAgICAgICgodWludDMyX3QpMHgwMDAwMDIwMCkgIC8qIFJlY2VpdmUgd2F0Y2hkb2cgdGltZW91dCBzdGF0dXMgKi8KKyNkZWZpbmUgRVRIX0RNQVNSX1JQU1MgICAgICAgKCh1aW50MzJfdCkweDAwMDAwMTAwKSAgLyogUmVjZWl2ZSBwcm9jZXNzIHN0b3BwZWQgc3RhdHVzICovCisjZGVmaW5lIEVUSF9ETUFTUl9SQlVTICAgICAgICgodWludDMyX3QpMHgwMDAwMDA4MCkgIC8qIFJlY2VpdmUgYnVmZmVyIHVuYXZhaWxhYmxlIHN0YXR1cyAqLworI2RlZmluZSBFVEhfRE1BU1JfUlMgICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDAwNDApICAvKiBSZWNlaXZlIHN0YXR1cyAqLworI2RlZmluZSBFVEhfRE1BU1JfVFVTICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDAwMjApICAvKiBUcmFuc21pdCB1bmRlcmZsb3cgc3RhdHVzICovCisjZGVmaW5lIEVUSF9ETUFTUl9ST1MgICAgICAgICgodWludDMyX3QpMHgwMDAwMDAxMCkgIC8qIFJlY2VpdmUgb3ZlcmZsb3cgc3RhdHVzICovCisjZGVmaW5lIEVUSF9ETUFTUl9USlRTICAgICAgICgodWludDMyX3QpMHgwMDAwMDAwOCkgIC8qIFRyYW5zbWl0IGphYmJlciB0aW1lb3V0IHN0YXR1cyAqLworI2RlZmluZSBFVEhfRE1BU1JfVEJVUyAgICAgICAoKHVpbnQzMl90KTB4MDAwMDAwMDQpICAvKiBUcmFuc21pdCBidWZmZXIgdW5hdmFpbGFibGUgc3RhdHVzICovCisjZGVmaW5lIEVUSF9ETUFTUl9UUFNTICAgICAgICgodWludDMyX3QpMHgwMDAwMDAwMikgIC8qIFRyYW5zbWl0IHByb2Nlc3Mgc3RvcHBlZCBzdGF0dXMgKi8KKyNkZWZpbmUgRVRIX0RNQVNSX1RTICAgICAgICAgKCh1aW50MzJfdCkweDAwMDAwMDAxKSAgLyogVHJhbnNtaXQgc3RhdHVzICovCisKKy8qIEJpdCBkZWZpbml0aW9uIGZvciBFdGhlcm5ldCBETUEgT3BlcmF0aW9uIE1vZGUgUmVnaXN0ZXIgKi8KKyNkZWZpbmUgRVRIX0RNQU9NUl9EVENFRkQgICAgKCh1aW50MzJfdCkweDA0MDAwMDAwKSAgLyogRGlzYWJsZSBEcm9wcGluZyBvZiBUQ1AvSVAgY2hlY2tzdW0gZXJyb3IgZnJhbWVzICovCisjZGVmaW5lIEVUSF9ETUFPTVJfUlNGICAgICAgICgodWludDMyX3QpMHgwMjAwMDAwMCkgIC8qIFJlY2VpdmUgc3RvcmUgYW5kIGZvcndhcmQgKi8KKyNkZWZpbmUgRVRIX0RNQU9NUl9ERlJGICAgICAgKCh1aW50MzJfdCkweDAxMDAwMDAwKSAgLyogRGlzYWJsZSBmbHVzaGluZyBvZiByZWNlaXZlZCBmcmFtZXMgKi8KKyNkZWZpbmUgRVRIX0RNQU9NUl9UU0YgICAgICAgKCh1aW50MzJfdCkweDAwMjAwMDAwKSAgLyogVHJhbnNtaXQgc3RvcmUgYW5kIGZvcndhcmQgKi8KKyNkZWZpbmUgRVRIX0RNQU9NUl9GVEYgICAgICAgKCh1aW50MzJfdCkweDAwMTAwMDAwKSAgLyogRmx1c2ggdHJhbnNtaXQgRklGTyAqLworI2RlZmluZSBFVEhfRE1BT01SX1RUQyAgICAgICAoKHVpbnQzMl90KTB4MDAwMUMwMDApICAvKiBUcmFuc21pdCB0aHJlc2hvbGQgY29udHJvbCAqLworICAjZGVmaW5lIEVUSF9ETUFPTVJfVFRDXzY0Qnl0ZXMgICAgICAgKCh1aW50MzJfdCkweDAwMDAwMDAwKSAgLyogdGhyZXNob2xkIGxldmVsIG9mIHRoZSBNVEwgVHJhbnNtaXQgRklGTyBpcyA2NCBCeXRlcyAqLworICAjZGVmaW5lIEVUSF9ETUFPTVJfVFRDXzEyOEJ5dGVzICAgICAgKCh1aW50MzJfdCkweDAwMDA0MDAwKSAgLyogdGhyZXNob2xkIGxldmVsIG9mIHRoZSBNVEwgVHJhbnNtaXQgRklGTyBpcyAxMjggQnl0ZXMgKi8KKyAgI2RlZmluZSBFVEhfRE1BT01SX1RUQ18xOTJCeXRlcyAgICAgICgodWludDMyX3QpMHgwMDAwODAwMCkgIC8qIHRocmVzaG9sZCBsZXZlbCBvZiB0aGUgTVRMIFRyYW5zbWl0IEZJRk8gaXMgMTkyIEJ5dGVzICovCisgICNkZWZpbmUgRVRIX0RNQU9NUl9UVENfMjU2Qnl0ZXMgICAgICAoKHVpbnQzMl90KTB4MDAwMEMwMDApICAvKiB0aHJlc2hvbGQgbGV2ZWwgb2YgdGhlIE1UTCBUcmFuc21pdCBGSUZPIGlzIDI1NiBCeXRlcyAqLworICAjZGVmaW5lIEVUSF9ETUFPTVJfVFRDXzQwQnl0ZXMgICAgICAgKCh1aW50MzJfdCkweDAwMDEwMDAwKSAgLyogdGhyZXNob2xkIGxldmVsIG9mIHRoZSBNVEwgVHJhbnNtaXQgRklGTyBpcyA0MCBCeXRlcyAqLworICAjZGVmaW5lIEVUSF9ETUFPTVJfVFRDXzMyQnl0ZXMgICAgICAgKCh1aW50MzJfdCkweDAwMDE0MDAwKSAgLyogdGhyZXNob2xkIGxldmVsIG9mIHRoZSBNVEwgVHJhbnNtaXQgRklGTyBpcyAzMiBCeXRlcyAqLworICAjZGVmaW5lIEVUSF9ETUFPTVJfVFRDXzI0Qnl0ZXMgICAgICAgKCh1aW50MzJfdCkweDAwMDE4MDAwKSAgLyogdGhyZXNob2xkIGxldmVsIG9mIHRoZSBNVEwgVHJhbnNtaXQgRklGTyBpcyAyNCBCeXRlcyAqLworICAjZGVmaW5lIEVUSF9ETUFPTVJfVFRDXzE2Qnl0ZXMgICAgICAgKCh1aW50MzJfdCkweDAwMDFDMDAwKSAgLyogdGhyZXNob2xkIGxldmVsIG9mIHRoZSBNVEwgVHJhbnNtaXQgRklGTyBpcyAxNiBCeXRlcyAqLworI2RlZmluZSBFVEhfRE1BT01SX1NUICAgICAgICAoKHVpbnQzMl90KTB4MDAwMDIwMDApICAvKiBTdGFydC9zdG9wIHRyYW5zbWlzc2lvbiBjb21tYW5kICovCisjZGVmaW5lIEVUSF9ETUFPTVJfRkVGICAgICAgICgodWludDMyX3QpMHgwMDAwMDA4MCkgIC8qIEZvcndhcmQgZXJyb3IgZnJhbWVzICovCisjZGVmaW5lIEVUSF9ETUFPTVJfRlVHRiAgICAgICgodWludDMyX3QpMHgwMDAwMDA0MCkgIC8qIEZvcndhcmQgdW5kZXJzaXplZCBnb29kIGZyYW1lcyAqLworI2RlZmluZSBFVEhfRE1BT01SX1JUQyAgICAgICAoKHVpbnQzMl90KTB4MDAwMDAwMTgpICAvKiByZWNlaXZlIHRocmVzaG9sZCBjb250cm9sICovCisgICNkZWZpbmUgRVRIX0RNQU9NUl9SVENfNjRCeXRlcyAgICAgICAoKHVpbnQzMl90KTB4MDAwMDAwMDApICAvKiB0aHJlc2hvbGQgbGV2ZWwgb2YgdGhlIE1UTCBSZWNlaXZlIEZJRk8gaXMgNjQgQnl0ZXMgKi8KKyAgI2RlZmluZSBFVEhfRE1BT01SX1JUQ18zMkJ5dGVzICAgICAgICgodWludDMyX3QpMHgwMDAwMDAwOCkgIC8qIHRocmVzaG9sZCBsZXZlbCBvZiB0aGUgTVRMIFJlY2VpdmUgRklGTyBpcyAzMiBCeXRlcyAqLworICAjZGVmaW5lIEVUSF9ETUFPTVJfUlRDXzk2Qnl0ZXMgICAgICAgKCh1aW50MzJfdCkweDAwMDAwMDEwKSAgLyogdGhyZXNob2xkIGxldmVsIG9mIHRoZSBNVEwgUmVjZWl2ZSBGSUZPIGlzIDk2IEJ5dGVzICovCisgICNkZWZpbmUgRVRIX0RNQU9NUl9SVENfMTI4Qnl0ZXMgICAgICAoKHVpbnQzMl90KTB4MDAwMDAwMTgpICAvKiB0aHJlc2hvbGQgbGV2ZWwgb2YgdGhlIE1UTCBSZWNlaXZlIEZJRk8gaXMgMTI4IEJ5dGVzICovCisjZGVmaW5lIEVUSF9ETUFPTVJfT1NGICAgICAgICgodWludDMyX3QpMHgwMDAwMDAwNCkgIC8qIG9wZXJhdGUgb24gc2Vjb25kIGZyYW1lICovCisjZGVmaW5lIEVUSF9ETUFPTVJfU1IgICAgICAgICgodWludDMyX3QpMHgwMDAwMDAwMikgIC8qIFN0YXJ0L3N0b3AgcmVjZWl2ZSAqLworCisvKiBCaXQgZGVmaW5pdGlvbiBmb3IgRXRoZXJuZXQgRE1BIEludGVycnVwdCBFbmFibGUgUmVnaXN0ZXIgKi8KKyNkZWZpbmUgRVRIX0RNQUlFUl9OSVNFICAgICAgKCh1aW50MzJfdCkweDAwMDEwMDAwKSAgLyogTm9ybWFsIGludGVycnVwdCBzdW1tYXJ5IGVuYWJsZSAqLworI2RlZmluZSBFVEhfRE1BSUVSX0FJU0UgICAgICAoKHVpbnQzMl90KTB4MDAwMDgwMDApICAvKiBBYm5vcm1hbCBpbnRlcnJ1cHQgc3VtbWFyeSBlbmFibGUgKi8KKyNkZWZpbmUgRVRIX0RNQUlFUl9FUklFICAgICAgKCh1aW50MzJfdCkweDAwMDA0MDAwKSAgLyogRWFybHkgcmVjZWl2ZSBpbnRlcnJ1cHQgZW5hYmxlICovCisjZGVmaW5lIEVUSF9ETUFJRVJfRkJFSUUgICAgICgodWludDMyX3QpMHgwMDAwMjAwMCkgIC8qIEZhdGFsIGJ1cyBlcnJvciBpbnRlcnJ1cHQgZW5hYmxlICovCisjZGVmaW5lIEVUSF9ETUFJRVJfRVRJRSAgICAgICgodWludDMyX3QpMHgwMDAwMDQwMCkgIC8qIEVhcmx5IHRyYW5zbWl0IGludGVycnVwdCBlbmFibGUgKi8KKyNkZWZpbmUgRVRIX0RNQUlFUl9SV1RJRSAgICAgKCh1aW50MzJfdCkweDAwMDAwMjAwKSAgLyogUmVjZWl2ZSB3YXRjaGRvZyB0aW1lb3V0IGludGVycnVwdCBlbmFibGUgKi8KKyNkZWZpbmUgRVRIX0RNQUlFUl9SUFNJRSAgICAgKCh1aW50MzJfdCkweDAwMDAwMTAwKSAgLyogUmVjZWl2ZSBwcm9jZXNzIHN0b3BwZWQgaW50ZXJydXB0IGVuYWJsZSAqLworI2RlZmluZSBFVEhfRE1BSUVSX1JCVUlFICAgICAoKHVpbnQzMl90KTB4MDAwMDAwODApICAvKiBSZWNlaXZlIGJ1ZmZlciB1bmF2YWlsYWJsZSBpbnRlcnJ1cHQgZW5hYmxlICovCisjZGVmaW5lIEVUSF9ETUFJRVJfUklFICAgICAgICgodWludDMyX3QpMHgwMDAwMDA0MCkgIC8qIFJlY2VpdmUgaW50ZXJydXB0IGVuYWJsZSAqLworI2RlZmluZSBFVEhfRE1BSUVSX1RVSUUgICAgICAoKHVpbnQzMl90KTB4MDAwMDAwMjApICAvKiBUcmFuc21pdCBVbmRlcmZsb3cgaW50ZXJydXB0IGVuYWJsZSAqLworI2RlZmluZSBFVEhfRE1BSUVSX1JPSUUgICAgICAoKHVpbnQzMl90KTB4MDAwMDAwMTApICAvKiBSZWNlaXZlIE92ZXJmbG93IGludGVycnVwdCBlbmFibGUgKi8KKyNkZWZpbmUgRVRIX0RNQUlFUl9USlRJRSAgICAgKCh1aW50MzJfdCkweDAwMDAwMDA4KSAgLyogVHJhbnNtaXQgamFiYmVyIHRpbWVvdXQgaW50ZXJydXB0IGVuYWJsZSAqLworI2RlZmluZSBFVEhfRE1BSUVSX1RCVUlFICAgICAoKHVpbnQzMl90KTB4MDAwMDAwMDQpICAvKiBUcmFuc21pdCBidWZmZXIgdW5hdmFpbGFibGUgaW50ZXJydXB0IGVuYWJsZSAqLworI2RlZmluZSBFVEhfRE1BSUVSX1RQU0lFICAgICAoKHVpbnQzMl90KTB4MDAwMDAwMDIpICAvKiBUcmFuc21pdCBwcm9jZXNzIHN0b3BwZWQgaW50ZXJydXB0IGVuYWJsZSAqLworI2RlZmluZSBFVEhfRE1BSUVSX1RJRSAgICAgICAoKHVpbnQzMl90KTB4MDAwMDAwMDEpICAvKiBUcmFuc21pdCBpbnRlcnJ1cHQgZW5hYmxlICovCisKKy8qIEJpdCBkZWZpbml0aW9uIGZvciBFdGhlcm5ldCBETUEgTWlzc2VkIEZyYW1lIGFuZCBCdWZmZXIgT3ZlcmZsb3cgQ291bnRlciBSZWdpc3RlciAqLworI2RlZmluZSBFVEhfRE1BTUZCT0NSX09GT0MgICAoKHVpbnQzMl90KTB4MTAwMDAwMDApICAvKiBPdmVyZmxvdyBiaXQgZm9yIEZJRk8gb3ZlcmZsb3cgY291bnRlciAqLworI2RlZmluZSBFVEhfRE1BTUZCT0NSX01GQSAgICAoKHVpbnQzMl90KTB4MEZGRTAwMDApICAvKiBOdW1iZXIgb2YgZnJhbWVzIG1pc3NlZCBieSB0aGUgYXBwbGljYXRpb24gKi8KKyNkZWZpbmUgRVRIX0RNQU1GQk9DUl9PTUZDICAgKCh1aW50MzJfdCkweDAwMDEwMDAwKSAgLyogT3ZlcmZsb3cgYml0IGZvciBtaXNzZWQgZnJhbWUgY291bnRlciAqLworI2RlZmluZSBFVEhfRE1BTUZCT0NSX01GQyAgICAoKHVpbnQzMl90KTB4MDAwMEZGRkYpICAvKiBOdW1iZXIgb2YgZnJhbWVzIG1pc3NlZCBieSB0aGUgY29udHJvbGxlciAqLworCisvKiBCaXQgZGVmaW5pdGlvbiBmb3IgRXRoZXJuZXQgRE1BIEN1cnJlbnQgSG9zdCBUcmFuc21pdCBEZXNjcmlwdG9yIFJlZ2lzdGVyICovCisjZGVmaW5lIEVUSF9ETUFDSFREUl9IVERBUCAgICgodWludDMyX3QpMHhGRkZGRkZGRikgIC8qIEhvc3QgdHJhbnNtaXQgZGVzY3JpcHRvciBhZGRyZXNzIHBvaW50ZXIgKi8KKworLyogQml0IGRlZmluaXRpb24gZm9yIEV0aGVybmV0IERNQSBDdXJyZW50IEhvc3QgUmVjZWl2ZSBEZXNjcmlwdG9yIFJlZ2lzdGVyICovCisjZGVmaW5lIEVUSF9ETUFDSFJEUl9IUkRBUCAgICgodWludDMyX3QpMHhGRkZGRkZGRikgIC8qIEhvc3QgcmVjZWl2ZSBkZXNjcmlwdG9yIGFkZHJlc3MgcG9pbnRlciAqLworCisvKiBCaXQgZGVmaW5pdGlvbiBmb3IgRXRoZXJuZXQgRE1BIEN1cnJlbnQgSG9zdCBUcmFuc21pdCBCdWZmZXIgQWRkcmVzcyBSZWdpc3RlciAqLworI2RlZmluZSBFVEhfRE1BQ0hUQkFSX0hUQkFQICAoKHVpbnQzMl90KTB4RkZGRkZGRkYpICAvKiBIb3N0IHRyYW5zbWl0IGJ1ZmZlciBhZGRyZXNzIHBvaW50ZXIgKi8KKworLyogQml0IGRlZmluaXRpb24gZm9yIEV0aGVybmV0IERNQSBDdXJyZW50IEhvc3QgUmVjZWl2ZSBCdWZmZXIgQWRkcmVzcyBSZWdpc3RlciAqLworI2RlZmluZSBFVEhfRE1BQ0hSQkFSX0hSQkFQICAoKHVpbnQzMl90KTB4RkZGRkZGRkYpICAvKiBIb3N0IHJlY2VpdmUgYnVmZmVyIGFkZHJlc3MgcG9pbnRlciAqLworCisjZGVmaW5lIFNFVF9CSVQoUkVHLCBCSVQpICAgICAoKFJFRykgfD0gKEJJVCkpCisKKyNkZWZpbmUgQ0xFQVJfQklUKFJFRywgQklUKSAgICgoUkVHKSAmPSB+KEJJVCkpCisKKyNkZWZpbmUgUkVBRF9CSVQoUkVHLCBCSVQpICAgICgoUkVHKSAmIChCSVQpKQorCisjZGVmaW5lIENMRUFSX1JFRyhSRUcpICAgICAgICAoKFJFRykgPSAoMHgwKSkKKworI2RlZmluZSBXUklURV9SRUcoUkVHLCBWQUwpICAgKChSRUcpID0gKFZBTCkpCisKKyNkZWZpbmUgUkVBRF9SRUcoUkVHKSAgICAgICAgICgoUkVHKSkKKworI2RlZmluZSBNT0RJRllfUkVHKFJFRywgQ0xFQVJNQVNLLCBTRVRNQVNLKSAgV1JJVEVfUkVHKChSRUcpLCAoKChSRUFEX1JFRyhSRUcpKSAmICh+KENMRUFSTUFTSykpKSB8IChTRVRNQVNLKSkpCisKKyNpZmRlZiBfX2NwbHVzcGx1cworfQorI2VuZGlmIC8qIF9fY3BsdXNwbHVzICovCisKKyNlbmRpZiAvKiBfX1NUTTMyRjJ4eF9IICovCisKKy8qKioqKioqKioqKioqKioqKioqIChDKSBDT1BZUklHSFQgMjAxMSBTVE1pY3JvZWxlY3Ryb25pY3MgKioqKipFTkQgT0YgRklMRSoqKiovCmRpZmYgLS1naXQgYS9iYmJfY2FwZS9zcmMvY2FwZS9TVE0zMkYyWFhfc3RhcnR1cC5TIGIvYmJiX2NhcGUvc3JjL2NhcGUvU1RNMzJGMlhYX3N0YXJ0dXAuUwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5hZTY3OTRmCi0tLSAvZGV2L251bGwKKysrIGIvYmJiX2NhcGUvc3JjL2NhcGUvU1RNMzJGMlhYX3N0YXJ0dXAuUwpAQCAtMCwwICsxLDMyNiBAQAorLyogRmlsZTogc3RhcnR1cF9BUk1DTTMuUworICogUHVycG9zZTogc3RhcnR1cCBmaWxlIGZvciBDb3J0ZXgtTTMgZGV2aWNlcy4gU2hvdWxkIHVzZSB3aXRoCisgKiAgIEdDQyBmb3IgQVJNIEVtYmVkZGVkIFByb2Nlc3NvcnMKKyAqIFZlcnNpb246IFYxLjQKKyAqIERhdGU6IDIwIERlemVtYmVyIDIwMTIKKyAqCisgKi8KKy8qIENvcHlyaWdodCAoYykgMjAxMSAtIDIwMTIgQVJNIExJTUlURUQKKworICAgQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAgIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICAgbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZSBtZXQ6CisgICAtIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAgIC0gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAgICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICAgLSBOZWl0aGVyIHRoZSBuYW1lIG9mIEFSTSBub3IgdGhlIG5hbWVzIG9mIGl0cyBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQKKyAgICAgdG8gZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbSB0aGlzIHNvZnR3YXJlIHdpdGhvdXQKKyAgICAgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLgorICAgKgorICAgVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUyAiQVMgSVMiCisgICBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFCisgICBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRQorICAgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMgQkUKKyAgIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAgIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisgICBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAgIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgICBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICAgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUKKyAgIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8KKworCisgICAgLnN5bnRheCB1bmlmaWVkCisgICAgLmFyY2ggYXJtdjctbQorCisgICAgLnNlY3Rpb24gLnN0YWNrCisgICAgLmFsaWduIDMKKyNpZmRlZiBfX1NUQUNLX1NJWkUKKyAgICAuZXF1ICAgIFN0YWNrX1NpemUsIF9fU1RBQ0tfU0laRQorI2Vsc2UKKyAgICAuZXF1ICAgIFN0YWNrX1NpemUsIDB4MDAwMDA0MDAKKyNlbmRpZgorICAgIC5nbG9ibCAgICBfX1N0YWNrVG9wCisgICAgLmdsb2JsICAgIF9fU3RhY2tMaW1pdAorX19TdGFja0xpbWl0OgorICAgIC5zcGFjZSAgICBTdGFja19TaXplCisgICAgLnNpemUgX19TdGFja0xpbWl0LCAuIC0gX19TdGFja0xpbWl0CitfX1N0YWNrVG9wOgorICAgIC5zaXplIF9fU3RhY2tUb3AsIC4gLSBfX1N0YWNrVG9wCisKKyAgICAuc2VjdGlvbiAuaGVhcAorICAgIC5hbGlnbiAzCisjaWZkZWYgX19IRUFQX1NJWkUKKyAgICAuZXF1ICAgIEhlYXBfU2l6ZSwgX19IRUFQX1NJWkUKKyNlbHNlCisgICAgLmVxdSAgICBIZWFwX1NpemUsIDB4MDAwMDBDMDAKKyNlbmRpZgorICAgIC5nbG9ibCAgICBfX0hlYXBCYXNlCisgICAgLmdsb2JsICAgIF9fSGVhcExpbWl0CitfX0hlYXBCYXNlOgorICAgIC5pZiAgICBIZWFwX1NpemUKKyAgICAuc3BhY2UgICAgSGVhcF9TaXplCisgICAgLmVuZGlmCisgICAgLnNpemUgX19IZWFwQmFzZSwgLiAtIF9fSGVhcEJhc2UKK19fSGVhcExpbWl0OgorICAgIC5zaXplIF9fSGVhcExpbWl0LCAuIC0gX19IZWFwTGltaXQKKworI2lmIDAKKyAgICAuc2VjdGlvbiAuaXNyX3ZlY3RvcgorICAgIC5hbGlnbiAyCisgICAgLmdsb2JsIF9faXNyX3ZlY3RvcgorX19pc3JfdmVjdG9yOgorICAgIC5sb25nICAgIF9fU3RhY2tUb3AgICAgICAgICAgICAvKiBUb3Agb2YgU3RhY2sgKi8KKyAgICAubG9uZyAgICBSZXNldF9IYW5kbGVyICAgICAgICAgLyogUmVzZXQgSGFuZGxlciAqLworICAgIC5sb25nICAgIE5NSV9IYW5kbGVyICAgICAgICAgICAvKiBOTUkgSGFuZGxlciAqLworICAgIC5sb25nICAgIEhhcmRGYXVsdF9IYW5kbGVyICAgICAvKiBIYXJkIEZhdWx0IEhhbmRsZXIgKi8KKyAgICAubG9uZyAgICBNZW1NYW5hZ2VfSGFuZGxlciAgICAgLyogTVBVIEZhdWx0IEhhbmRsZXIgKi8KKyAgICAubG9uZyAgICBCdXNGYXVsdF9IYW5kbGVyICAgICAgLyogQnVzIEZhdWx0IEhhbmRsZXIgKi8KKyAgICAubG9uZyAgICBVc2FnZUZhdWx0X0hhbmRsZXIgICAgLyogVXNhZ2UgRmF1bHQgSGFuZGxlciAqLworICAgIC5sb25nICAgIDAgICAgICAgICAgICAgICAgICAgICAvKiBSZXNlcnZlZCAqLworICAgIC5sb25nICAgIDAgICAgICAgICAgICAgICAgICAgICAvKiBSZXNlcnZlZCAqLworICAgIC5sb25nICAgIDAgICAgICAgICAgICAgICAgICAgICAvKiBSZXNlcnZlZCAqLworICAgIC5sb25nICAgIDAgICAgICAgICAgICAgICAgICAgICAvKiBSZXNlcnZlZCAqLworICAgIC5sb25nICAgIFNWQ19IYW5kbGVyICAgICAgICAgICAvKiBTVkNhbGwgSGFuZGxlciAqLworICAgIC5sb25nICAgIERlYnVnTW9uX0hhbmRsZXIgICAgICAvKiBEZWJ1ZyBNb25pdG9yIEhhbmRsZXIgKi8KKyAgICAubG9uZyAgICAwICAgICAgICAgICAgICAgICAgICAgLyogUmVzZXJ2ZWQgKi8KKyAgICAubG9uZyAgICBQZW5kU1ZfSGFuZGxlciAgICAgICAgLyogUGVuZFNWIEhhbmRsZXIgKi8KKyAgICAubG9uZyAgICBTeXNUaWNrX0hhbmRsZXIgICAgICAgLyogU3lzVGljayBIYW5kbGVyICovCisKKyAgICAvKiBFeHRlcm5hbCBpbnRlcnJ1cHRzICovCisgICAgLmxvbmcgICAgV0RUX0lSUUhhbmRsZXIgICAgICAgIC8qICAwOiAgV2F0Y2hkb2cgVGltZXIgICAgICAgICAgICAqLworICAgIC5sb25nICAgIFJUQ19JUlFIYW5kbGVyICAgICAgICAvKiAgMTogIFJlYWwgVGltZSBDbG9jayAgICAgICAgICAgKi8KKyAgICAubG9uZyAgICBUSU0wX0lSUUhhbmRsZXIgICAgICAgLyogIDI6ICBUaW1lcjAgLyBUaW1lcjEgICAgICAgICAgICovCisgICAgLmxvbmcgICAgVElNMl9JUlFIYW5kbGVyICAgICAgIC8qICAzOiAgVGltZXIyIC8gVGltZXIzICAgICAgICAgICAqLworICAgIC5sb25nICAgIE1DSUFfSVJRSGFuZGxlciAgICAgICAvKiAgNDogIE1DSWEgICAgICAgICAgICAgICAgICAgICAgKi8KKyAgICAubG9uZyAgICBNQ0lCX0lSUUhhbmRsZXIgICAgICAgLyogIDU6ICBNQ0liICAgICAgICAgICAgICAgICAgICAgICovCisgICAgLmxvbmcgICAgVUFSVDBfSVJRSGFuZGxlciAgICAgIC8qICA2OiAgVUFSVDAgLSBEVVQgRlBHQSAgICAgICAgICAqLworICAgIC5sb25nICAgIFVBUlQxX0lSUUhhbmRsZXIgICAgICAvKiAgNzogIFVBUlQxIC0gRFVUIEZQR0EgICAgICAgICAgKi8KKyAgICAubG9uZyAgICBVQVJUMl9JUlFIYW5kbGVyICAgICAgLyogIDg6ICBVQVJUMiAtIERVVCBGUEdBICAgICAgICAgICovCisgICAgLmxvbmcgICAgVUFSVDRfSVJRSGFuZGxlciAgICAgIC8qICA5OiAgVUFSVDQgLSBub3QgY29ubmVjdGVkICAgICAqLworICAgIC5sb25nICAgIEFBQ0lfSVJRSGFuZGxlciAgICAgICAvKiAxMDogQUFDSSAvIEFDOTcgICAgICAgICAgICAgICAgKi8KKyAgICAubG9uZyAgICBDTENEX0lSUUhhbmRsZXIgICAgICAgLyogMTE6IENMQ0QgQ29tYmluZWQgSW50ZXJydXB0ICAgICovCisgICAgLmxvbmcgICAgRU5FVF9JUlFIYW5kbGVyICAgICAgIC8qIDEyOiBFdGhlcm5ldCAgICAgICAgICAgICAgICAgICAqLworICAgIC5sb25nICAgIFVTQkRDX0lSUUhhbmRsZXIgICAgICAvKiAxMzogVVNCIERldmljZSAgICAgICAgICAgICAgICAgKi8KKyAgICAubG9uZyAgICBVU0JIQ19JUlFIYW5kbGVyICAgICAgLyogMTQ6IFVTQiBIb3N0IENvbnRyb2xsZXIgICAgICAgICovCisgICAgLmxvbmcgICAgQ0hMQ0RfSVJRSGFuZGxlciAgICAgIC8qIDE1OiBDaGFyYWN0ZXIgTENEICAgICAgICAgICAgICAqLworICAgIC5sb25nICAgIEZMRVhSQVlfSVJRSGFuZGxlciAgICAvKiAxNjogRmxleHJheSAgICAgICAgICAgICAgICAgICAgKi8KKyAgICAubG9uZyAgICBDQU5fSVJRSGFuZGxlciAgICAgICAgLyogMTc6IENBTiAgICAgICAgICAgICAgICAgICAgICAgICovCisgICAgLmxvbmcgICAgTElOX0lSUUhhbmRsZXIgICAgICAgIC8qIDE4OiBMSU4gICAgICAgICAgICAgICAgICAgICAgICAqLworICAgIC5sb25nICAgIEkyQ19JUlFIYW5kbGVyICAgICAgICAvKiAxOTogSTJDIEFEQy9EQUMgICAgICAgICAgICAgICAgKi8KKyAgICAubG9uZyAgICAwICAgICAgICAgICAgICAgICAgICAgLyogMjA6IFJlc2VydmVkICAgICAgICAgICAgICAgICAgICovCisgICAgLmxvbmcgICAgMCAgICAgICAgICAgICAgICAgICAgIC8qIDIxOiBSZXNlcnZlZCAgICAgICAgICAgICAgICAgICAqLworICAgIC5sb25nICAgIDAgICAgICAgICAgICAgICAgICAgICAvKiAyMjogUmVzZXJ2ZWQgICAgICAgICAgICAgICAgICAgKi8KKyAgICAubG9uZyAgICAwICAgICAgICAgICAgICAgICAgICAgLyogMjM6IFJlc2VydmVkICAgICAgICAgICAgICAgICAgICovCisgICAgLmxvbmcgICAgMCAgICAgICAgICAgICAgICAgICAgIC8qIDI0OiBSZXNlcnZlZCAgICAgICAgICAgICAgICAgICAqLworICAgIC5sb25nICAgIDAgICAgICAgICAgICAgICAgICAgICAvKiAyNTogUmVzZXJ2ZWQgICAgICAgICAgICAgICAgICAgKi8KKyAgICAubG9uZyAgICAwICAgICAgICAgICAgICAgICAgICAgLyogMjY6IFJlc2VydmVkICAgICAgICAgICAgICAgICAgICovCisgICAgLmxvbmcgICAgMCAgICAgICAgICAgICAgICAgICAgIC8qIDI3OiBSZXNlcnZlZCAgICAgICAgICAgICAgICAgICAqLworICAgIC5sb25nICAgIENQVV9DTENEX0lSUUhhbmRsZXIgICAvKiAyODogUmVzZXJ2ZWQgLSBDUFUgRlBHQSBDTENEICAgKi8KKyAgICAubG9uZyAgICAwICAgICAgICAgICAgICAgICAgICAgLyogMjk6IFJlc2VydmVkIC0gQ1BVIEZQR0EgICAgICAgICovCisgICAgLmxvbmcgICAgVUFSVDNfSVJRSGFuZGxlciAgICAgIC8qIDMwOiBVQVJUMyAgICAtIENQVSBGUEdBICAgICAgICAqLworICAgIC5sb25nICAgIFNQSV9JUlFIYW5kbGVyICAgICAgICAvKiAzMTogU1BJIFRvdWNoc2NyZWVuIC0gQ1BVIEZQR0EgKi8KKworICAgIC5zaXplICAgIF9faXNyX3ZlY3RvciwgLiAtIF9faXNyX3ZlY3RvcgorI2Vsc2UKKy5tYWNybyBJU1JfSEFORExFUiBuYW1lPQorICAuc2VjdGlvbiAudmVjdG9ycywgImF4IgorICAud29yZCBcbmFtZQorICAuc2VjdGlvbiAuaW5pdCwgImF4IgorICAudGh1bWJfZnVuYworICAud2VhayBcbmFtZQorXG5hbWU6CisxOiBiIDFiIC8qIGVuZGxlc3MgbG9vcCAqLworLmVuZG0KKworLm1hY3JvIElTUl9SRVNFUlZFRAorICAuc2VjdGlvbiAudmVjdG9ycywgImF4IgorICAud29yZCAwCisuZW5kbQorCisgIC5zeW50YXggdW5pZmllZAorICAuZ2xvYmFsIHJlc2V0X2hhbmRsZXIKKworICAuc2VjdGlvbiAudmVjdG9ycywgImF4IgorICAuY29kZSAxNiAgCisgIC5nbG9iYWwgX3ZlY3RvcnMgIAorCitfdmVjdG9yczoKKyAgICAubG9uZyAgICBfX1N0YWNrVG9wICAgICAgICAgICAgLyogVG9wIG9mIFN0YWNrICovCisgICAgLmxvbmcgICAgUmVzZXRfSGFuZGxlciAgICAgICAgIC8qIFJlc2V0IEhhbmRsZXIgKi8KK0lTUl9IQU5ETEVSIE5NSV9IYW5kbGVyCitJU1JfSEFORExFUiBIYXJkRmF1bHRfSGFuZGxlcgorSVNSX0hBTkRMRVIgTWVtTWFuYWdlX0hhbmRsZXIgCitJU1JfSEFORExFUiBCdXNGYXVsdF9IYW5kbGVyCitJU1JfSEFORExFUiBVc2FnZUZhdWx0X0hhbmRsZXIKK0lTUl9SRVNFUlZFRAorSVNSX1JFU0VSVkVECitJU1JfUkVTRVJWRUQKK0lTUl9SRVNFUlZFRAorSVNSX0hBTkRMRVIgU1ZDX0hhbmRsZXIKK0lTUl9IQU5ETEVSIERlYnVnTW9uX0hhbmRsZXIKK0lTUl9SRVNFUlZFRAorSVNSX0hBTkRMRVIgUGVuZFNWX0hhbmRsZXIKK0lTUl9IQU5ETEVSIFN5c1RpY2tfSGFuZGxlciAKKy8qIGludGVycnVwdHMgKi8KK0lTUl9IQU5ETEVSIFdXREdfSVJRSGFuZGxlcgorSVNSX0hBTkRMRVIgUFZEX0lSUUhhbmRsZXIKK0lTUl9IQU5ETEVSIFRBTVBfU1RBTVBfSVJRSGFuZGxlcgorSVNSX0hBTkRMRVIgUlRDX1dLVVBfSVJRSGFuZGxlcgorSVNSX0hBTkRMRVIgRkxBU0hfSVJRSGFuZGxlcgorSVNSX0hBTkRMRVIgUkNDX0lSUUhhbmRsZXIKK0lTUl9IQU5ETEVSIEVYVEkwX0lSUUhhbmRsZXIKK0lTUl9IQU5ETEVSIEVYVEkxX0lSUUhhbmRsZXIKK0lTUl9IQU5ETEVSIEVYVEkyX0lSUUhhbmRsZXIKK0lTUl9IQU5ETEVSIEVYVEkzX0lSUUhhbmRsZXIKK0lTUl9IQU5ETEVSIEVYVEk0X0lSUUhhbmRsZXIKK0lTUl9IQU5ETEVSIERNQTFfU3RyZWFtMF9JUlFIYW5kbGVyCitJU1JfSEFORExFUiBETUExX1N0cmVhbTFfSVJRSGFuZGxlcgorSVNSX0hBTkRMRVIgRE1BMV9TdHJlYW0yX0lSUUhhbmRsZXIKK0lTUl9IQU5ETEVSIERNQTFfU3RyZWFtM19JUlFIYW5kbGVyCitJU1JfSEFORExFUiBETUExX1N0cmVhbTRfSVJRSGFuZGxlcgorSVNSX0hBTkRMRVIgRE1BMV9TdHJlYW01X0lSUUhhbmRsZXIKK0lTUl9IQU5ETEVSIERNQTFfU3RyZWFtNl9JUlFIYW5kbGVyCitJU1JfSEFORExFUiBBRENfSVJRSGFuZGxlcgorSVNSX0hBTkRMRVIgQ0FOMV9UWF9JUlFIYW5kbGVyCitJU1JfSEFORExFUiBDQU4xX1JYMF9JUlFIYW5kbGVyCitJU1JfSEFORExFUiBDQU4xX1JYMV9JUlFIYW5kbGVyCitJU1JfSEFORExFUiBDQU4xX1NDRV9JUlFIYW5kbGVyCitJU1JfSEFORExFUiBFWFRJOV81X0lSUUhhbmRsZXIKK0lTUl9IQU5ETEVSIFRJTTFfQlJLX1RJTTlfSVJRSGFuZGxlcgorSVNSX0hBTkRMRVIgVElNMV9VUF9USU0xMF9JUlFIYW5kbGVyCitJU1JfSEFORExFUiBUSU0xX1RSR19DT01fVElNMTFfSVJRSGFuZGxlcgorSVNSX0hBTkRMRVIgVElNMV9DQ19JUlFIYW5kbGVyCitJU1JfSEFORExFUiBUSU0yX0lSUUhhbmRsZXIKK0lTUl9IQU5ETEVSIFRJTTNfSVJRSGFuZGxlcgorSVNSX0hBTkRMRVIgVElNNF9JUlFIYW5kbGVyCitJU1JfSEFORExFUiBJMkMxX0VWX0lSUUhhbmRsZXIKK0lTUl9IQU5ETEVSIEkyQzFfRVJfSVJRSGFuZGxlcgorSVNSX0hBTkRMRVIgSTJDMl9FVl9JUlFIYW5kbGVyCitJU1JfSEFORExFUiBJMkMyX0VSX0lSUUhhbmRsZXIKK0lTUl9IQU5ETEVSIFNQSTFfSVJRSGFuZGxlcgorSVNSX0hBTkRMRVIgU1BJMl9JUlFIYW5kbGVyCitJU1JfSEFORExFUiBVU0FSVDFfSVJRSGFuZGxlcgorSVNSX0hBTkRMRVIgVVNBUlQyX0lSUUhhbmRsZXIKK0lTUl9IQU5ETEVSIFVTQVJUM19JUlFIYW5kbGVyCitJU1JfSEFORExFUiBFWFRJMTVfMTBfSVJRSGFuZGxlcgorSVNSX0hBTkRMRVIgUlRDX0FsYXJtX0lSUUhhbmRsZXIKK0lTUl9IQU5ETEVSIE9UR19GU19XS1VQX0lSUUhhbmRsZXIKK0lTUl9IQU5ETEVSIFRJTThfQlJLX1RJTTEyX0lSUUhhbmRsZXIKK0lTUl9IQU5ETEVSIFRJTThfVVBfVElNMTNfSVJRSGFuZGxlcgorSVNSX0hBTkRMRVIgVElNOF9UUkdfQ09NX1RJTTE0X0lSUUhhbmRsZXIKK0lTUl9IQU5ETEVSIFRJTThfQ0NfSVJRSGFuZGxlcgorSVNSX0hBTkRMRVIgRE1BMV9TdHJlYW03X0lSUUhhbmRsZXIKK0lTUl9IQU5ETEVSIEZTTUNfSVJRSGFuZGxlcgorSVNSX0hBTkRMRVIgU0RJT19JUlFIYW5kbGVyCitJU1JfSEFORExFUiBUSU01X0lSUUhhbmRsZXIKK0lTUl9IQU5ETEVSIFNQSTNfSVJRSGFuZGxlcgorSVNSX0hBTkRMRVIgVUFSVDRfSVJRSGFuZGxlcgorSVNSX0hBTkRMRVIgVUFSVDVfSVJRSGFuZGxlcgorSVNSX0hBTkRMRVIgVElNNl9EQUNfSVJRSGFuZGxlcgorSVNSX0hBTkRMRVIgVElNN19JUlFIYW5kbGVyCitJU1JfSEFORExFUiBETUEyX1N0cmVhbTBfSVJRSGFuZGxlcgorSVNSX0hBTkRMRVIgRE1BMl9TdHJlYW0xX0lSUUhhbmRsZXIKK0lTUl9IQU5ETEVSIERNQTJfU3RyZWFtMl9JUlFIYW5kbGVyCitJU1JfSEFORExFUiBETUEyX1N0cmVhbTNfSVJRSGFuZGxlcgorSVNSX0hBTkRMRVIgRE1BMl9TdHJlYW00X0lSUUhhbmRsZXIKK0lTUl9IQU5ETEVSIEVUSF9JUlFIYW5kbGVyCitJU1JfSEFORExFUiBFVEhfV0tVUF9JUlFIYW5kbGVyCitJU1JfSEFORExFUiBDQU4yX1RYX0lSUUhhbmRsZXIKK0lTUl9IQU5ETEVSIENBTjJfUlgwX0lSUUhhbmRsZXIKK0lTUl9IQU5ETEVSIENBTjJfUlgxX0lSUUhhbmRsZXIKK0lTUl9IQU5ETEVSIENBTjJfU0NFX0lSUUhhbmRsZXIKK0lTUl9IQU5ETEVSIE9UR19GU19JUlFIYW5kbGVyCitJU1JfSEFORExFUiBETUEyX1N0cmVhbTVfSVJRSGFuZGxlcgorSVNSX0hBTkRMRVIgRE1BMl9TdHJlYW02X0lSUUhhbmRsZXIKK0lTUl9IQU5ETEVSIERNQTJfU3RyZWFtN19JUlFIYW5kbGVyCitJU1JfSEFORExFUiBVU0FSVDZfSVJRSGFuZGxlcgorSVNSX0hBTkRMRVIgSTJDM19FVl9JUlFIYW5kbGVyCitJU1JfSEFORExFUiBJMkMzX0VSX0lSUUhhbmRsZXIKK0lTUl9IQU5ETEVSIE9UR19IU19FUDFfT1VUX0lSUUhhbmRsZXIKK0lTUl9IQU5ETEVSIE9UR19IU19FUDFfSU5fSVJRSGFuZGxlcgorSVNSX0hBTkRMRVIgT1RHX0hTX1dLVVBfSVJRSGFuZGxlcgorSVNSX0hBTkRMRVIgT1RHX0hTX0lSUUhhbmRsZXIKK0lTUl9IQU5ETEVSIERDTUlfSVJRSGFuZGxlcgorSVNSX0hBTkRMRVIgQ1JZUF9JUlFIYW5kbGVyCitJU1JfSEFORExFUiBIQVNIX1JOR19JUlFIYW5kbGVyCisgIC5zZWN0aW9uIC52ZWN0b3JzLCAiYXgiCitfdmVjdG9yc19lbmQ6CisKKworICAuc2VjdGlvbiAudmVjdG9yc19yYW0sICJheCIKK192ZWN0b3JzX3JhbToKKyAgLnNwYWNlIF92ZWN0b3JzX2VuZC1fdmVjdG9ycywgMAorI2VuZGlmCisKKyAgICAudGV4dAorICAgIC50aHVtYgorICAgIC50aHVtYl9mdW5jCisgICAgLmFsaWduIDIKKyAgICAuZ2xvYmwgICAgUmVzZXRfSGFuZGxlcgorICAgIC50eXBlICAgIFJlc2V0X0hhbmRsZXIsICVmdW5jdGlvbgorUmVzZXRfSGFuZGxlcjoKKy8qICAgICBMb29wIHRvIGNvcHkgZGF0YSBmcm9tIHJlYWQgb25seSBtZW1vcnkgdG8gUkFNLiBUaGUgcmFuZ2VzCisgKiAgICAgIG9mIGNvcHkgZnJvbS90byBhcmUgc3BlY2lmaWVkIGJ5IGZvbGxvd2luZyBzeW1ib2xzIGV2YWx1YXRlZCBpbgorICogICAgICBsaW5rZXIgc2NyaXB0LgorICogICAgICBfX2V0ZXh0OiBFbmQgb2YgY29kZSBzZWN0aW9uLCBpLmUuLCBiZWdpbiBvZiBkYXRhIHNlY3Rpb25zIHRvIGNvcHkgZnJvbS4KKyAqICAgICAgX19kYXRhX3N0YXJ0X18vX19kYXRhX2VuZF9fOiBSQU0gYWRkcmVzcyByYW5nZSB0aGF0IGRhdGEgc2hvdWxkIGJlCisgKiAgICAgIGNvcGllZCB0by4gQm90aCBtdXN0IGJlIGFsaWduZWQgdG8gNCBieXRlcyBib3VuZGFyeS4gICovCisKKyAgICBsZHIgICAgcjEsID1fX2V0ZXh0CisgICAgbGRyICAgIHIyLCA9X19kYXRhX3N0YXJ0X18KKyAgICBsZHIgICAgcjMsID1fX2RhdGFfZW5kX18KKworICAgIHN1YnMgICAgcjMsIHIyCisgICAgYmxlICAgIC5MQzEKKy5MQzA6CisgICAgc3VicyAgICByMywgIzQKKyAgICBsZHIgICAgcjAsIFtyMSwgcjNdCisgICAgc3RyICAgIHIwLCBbcjIsIHIzXQorICAgIGJndCAgICAuTEMwCisuTEMxOgorCisvKiAgICAgTG9vcCB0byB6ZXJvIG91dCBCU1Mgc2VjdGlvbiwgd2hpY2ggdXNlcyBmb2xsb3dpbmcgc3ltYm9scworICogICAgIGluIGxpbmtlciBzY3JpcHQ6CisgKiAgICAgIF9fYnNzX3N0YXJ0X186IHN0YXJ0IG9mIEJTUyBzZWN0aW9uLiBNdXN0IGFsaWduIHRvIDQKKyAqICAgICAgX19ic3NfZW5kX186IGVuZCBvZiBCU1Mgc2VjdGlvbi4gTXVzdCBhbGlnbiB0byA0CisgKi8KKyAgICBsZHIgcjEsID1fX2Jzc19zdGFydF9fCisgICAgbGRyIHIyLCA9X19ic3NfZW5kX18KKworICAgIG1vdnMgICAgcjAsIDAKKy5MQzI6CisgICAgY21wICAgICByMSwgcjIKKyAgICBpdHQgICAgbHQKKyAgICBzdHJsdCAgIHIwLCBbcjFdLCAjNAorICAgIGJsdCAgICAuTEMyCisKKyAgICBibCAgICBTeXN0ZW1Jbml0CisKKyAgbGRyIHIwLCA9X192ZWN0b3JzX2xvYWRfc3RhcnRfXworICBsZHIgcjEsID1fX3ZlY3RvcnNfbG9hZF9lbmRfXworICBsZHIgcjIsID1fdmVjdG9yc19yYW0KK2wwOgorICBjbXAgcjAsIHIxCisgIGJlcSBsMQorICBsZHIgcjMsIFtyMF0KKyAgc3RyIHIzLCBbcjJdCisgIGFkZHMgcjAsIHIwLCAjNAorICBhZGRzIHIyLCByMiwgIzQKKyAgYiBsMAorbDE6CisKKyAgLyogQ29uZmlndXJlIHZlY3RvciB0YWJsZSBvZmZzZXQgcmVnaXN0ZXIgKi8KKyAgbGRyIHIwLCA9MHhFMDAwRUQwOAorICBsZHIgcjEsID1fdmVjdG9yc19yYW0KKyAgc3RyIHIxLCBbcjBdCisKKyNpZm5kZWYgX19TVEFSVAorI2RlZmluZSBfX1NUQVJUIF9zdGFydAorI2VuZGlmCisgICAgYmwgICAgX19TVEFSVAorICAgIC5wb29sCisgICAgLnNpemUgUmVzZXRfSGFuZGxlciwgLiAtIFJlc2V0X0hhbmRsZXIKZGlmZiAtLWdpdCBhL2JiYl9jYXBlL3NyYy9jYXBlL2NvcmVfY20zLmggYi9iYmJfY2FwZS9zcmMvY2FwZS9jb3JlX2NtMy5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjEyMmM5YWEKLS0tIC9kZXYvbnVsbAorKysgYi9iYmJfY2FwZS9zcmMvY2FwZS9jb3JlX2NtMy5oCkBAIC0wLDAgKzEsMTYyNyBAQAorLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLy8qKgorICogQGZpbGUgICAgIGNvcmVfY20zLmgKKyAqIEBicmllZiAgICBDTVNJUyBDb3J0ZXgtTTMgQ29yZSBQZXJpcGhlcmFsIEFjY2VzcyBMYXllciBIZWFkZXIgRmlsZQorICogQHZlcnNpb24gIFYzLjIwCisgKiBAZGF0ZSAgICAgMjUuIEZlYnJ1YXJ5IDIwMTMKKyAqCisgKiBAbm90ZQorICoKKyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCisvKiBDb3B5cmlnaHQgKGMpIDIwMDkgLSAyMDEzIEFSTSBMSU1JVEVECisKKyAgIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgICBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAgIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUgbWV0OgorICAgLSBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgICAtIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAgICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAgIC0gTmVpdGhlciB0aGUgbmFtZSBvZiBBUk0gbm9yIHRoZSBuYW1lcyBvZiBpdHMgY29udHJpYnV0b3JzIG1heSBiZSB1c2VkCisgICAgIHRvIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20gdGhpcyBzb2Z0d2FyZSB3aXRob3V0CisgICAgIHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KKyAgICoKKyAgIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMgIkFTIElTIgorICAgQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRQorICAgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UKKyAgIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTIEJFCisgICBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCisgICBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgorICAgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisgICBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgorICAgQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKKyAgIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFCisgICBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAgIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovCisKKworI2lmIGRlZmluZWQgKCBfX0lDQ0FSTV9fICkKKyAjcHJhZ21hIHN5c3RlbV9pbmNsdWRlICAvKiB0cmVhdCBmaWxlIGFzIHN5c3RlbSBpbmNsdWRlIGZpbGUgZm9yIE1JU1JBIGNoZWNrICovCisjZW5kaWYKKworI2lmZGVmIF9fY3BsdXNwbHVzCisgZXh0ZXJuICJDIiB7CisjZW5kaWYKKworI2lmbmRlZiBfX0NPUkVfQ00zX0hfR0VORVJJQworI2RlZmluZSBfX0NPUkVfQ00zX0hfR0VORVJJQworCisvKiogXHBhZ2UgQ01TSVNfTUlTUkFfRXhjZXB0aW9ucyAgTUlTUkEtQzoyMDA0IENvbXBsaWFuY2UgRXhjZXB0aW9ucworICBDTVNJUyB2aW9sYXRlcyB0aGUgZm9sbG93aW5nIE1JU1JBLUM6MjAwNCBydWxlczoKKworICAgXGxpIFJlcXVpcmVkIFJ1bGUgOC41LCBvYmplY3QvZnVuY3Rpb24gZGVmaW5pdGlvbiBpbiBoZWFkZXIgZmlsZS48YnI+CisgICAgIEZ1bmN0aW9uIGRlZmluaXRpb25zIGluIGhlYWRlciBmaWxlcyBhcmUgdXNlZCB0byBhbGxvdyAnaW5saW5pbmcnLgorCisgICBcbGkgUmVxdWlyZWQgUnVsZSAxOC40LCBkZWNsYXJhdGlvbiBvZiB1bmlvbiB0eXBlIG9yIG9iamVjdCBvZiB1bmlvbiB0eXBlOiAney4uLn0nLjxicj4KKyAgICAgVW5pb25zIGFyZSB1c2VkIGZvciBlZmZlY3RpdmUgcmVwcmVzZW50YXRpb24gb2YgY29yZSByZWdpc3RlcnMuCisKKyAgIFxsaSBBZHZpc29yeSBSdWxlIDE5LjcsIEZ1bmN0aW9uLWxpa2UgbWFjcm8gZGVmaW5lZC48YnI+CisgICAgIEZ1bmN0aW9uLWxpa2UgbWFjcm9zIGFyZSB1c2VkIHRvIGFsbG93IG1vcmUgZWZmaWNpZW50IGNvZGUuCisgKi8KKworCisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorICogICAgICAgICAgICAgICAgIENNU0lTIGRlZmluaXRpb25zCisgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLworLyoqIFxpbmdyb3VwIENvcnRleF9NMworICBAeworICovCisKKy8qICBDTVNJUyBDTTMgZGVmaW5pdGlvbnMgKi8KKyNkZWZpbmUgX19DTTNfQ01TSVNfVkVSU0lPTl9NQUlOICAoMHgwMykgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgWzMxOjE2XSBDTVNJUyBIQUwgbWFpbiB2ZXJzaW9uICAgKi8KKyNkZWZpbmUgX19DTTNfQ01TSVNfVkVSU0lPTl9TVUIgICAoMHgyMCkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgWzE1OjBdICBDTVNJUyBIQUwgc3ViIHZlcnNpb24gICAgKi8KKyNkZWZpbmUgX19DTTNfQ01TSVNfVkVSU0lPTiAgICAgICAoKF9fQ00zX0NNU0lTX1ZFUlNJT05fTUFJTiA8PCAxNikgfCBcCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBfX0NNM19DTVNJU19WRVJTSU9OX1NVQiAgICAgICAgICApICAgICAvKiE8IENNU0lTIEhBTCB2ZXJzaW9uIG51bWJlciAgICAgICAgICovCisKKyNkZWZpbmUgX19DT1JURVhfTSAgICAgICAgICAgICAgICAoMHgwMykgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgQ29ydGV4LU0gQ29yZSAgICAgICAgICAgICAgICAgICAgKi8KKworCisjaWYgICBkZWZpbmVkICggX19DQ19BUk0gKQorICAjZGVmaW5lIF9fQVNNICAgICAgICAgICAgX19hc20gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgYXNtIGtleXdvcmQgZm9yIEFSTSBDb21waWxlciAgICAgICAgICAqLworICAjZGVmaW5lIF9fSU5MSU5FICAgICAgICAgX19pbmxpbmUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgaW5saW5lIGtleXdvcmQgZm9yIEFSTSBDb21waWxlciAgICAgICAqLworICAjZGVmaW5lIF9fU1RBVElDX0lOTElORSAgc3RhdGljIF9faW5saW5lCisKKyNlbGlmIGRlZmluZWQgKCBfX0lDQ0FSTV9fICkKKyAgI2RlZmluZSBfX0FTTSAgICAgICAgICAgIF9fYXNtICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IGFzbSBrZXl3b3JkIGZvciBJQVIgQ29tcGlsZXIgICAgICAgICAgKi8KKyAgI2RlZmluZSBfX0lOTElORSAgICAgICAgIGlubGluZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IGlubGluZSBrZXl3b3JkIGZvciBJQVIgQ29tcGlsZXIuIE9ubHkgYXZhaWxhYmxlIGluIEhpZ2ggb3B0aW1pemF0aW9uIG1vZGUhICovCisgICNkZWZpbmUgX19TVEFUSUNfSU5MSU5FICBzdGF0aWMgaW5saW5lCisKKyNlbGlmIGRlZmluZWQgKCBfX1RNUzQ3MF9fICkKKyAgI2RlZmluZSBfX0FTTSAgICAgICAgICAgIF9fYXNtICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IGFzbSBrZXl3b3JkIGZvciBUSSBDQ1MgQ29tcGlsZXIgICAgICAgKi8KKyAgI2RlZmluZSBfX1NUQVRJQ19JTkxJTkUgIHN0YXRpYyBpbmxpbmUKKworI2VsaWYgZGVmaW5lZCAoIF9fR05VQ19fICkKKyAgI2RlZmluZSBfX0FTTSAgICAgICAgICAgIF9fYXNtICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IGFzbSBrZXl3b3JkIGZvciBHTlUgQ29tcGlsZXIgICAgICAgICAgKi8KKyAgI2RlZmluZSBfX0lOTElORSAgICAgICAgIGlubGluZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IGlubGluZSBrZXl3b3JkIGZvciBHTlUgQ29tcGlsZXIgICAgICAgKi8KKyAgI2RlZmluZSBfX1NUQVRJQ19JTkxJTkUgIHN0YXRpYyBpbmxpbmUKKworI2VsaWYgZGVmaW5lZCAoIF9fVEFTS0lOR19fICkKKyAgI2RlZmluZSBfX0FTTSAgICAgICAgICAgIF9fYXNtICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IGFzbSBrZXl3b3JkIGZvciBUQVNLSU5HIENvbXBpbGVyICAgICAgKi8KKyAgI2RlZmluZSBfX0lOTElORSAgICAgICAgIGlubGluZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IGlubGluZSBrZXl3b3JkIGZvciBUQVNLSU5HIENvbXBpbGVyICAgKi8KKyAgI2RlZmluZSBfX1NUQVRJQ19JTkxJTkUgIHN0YXRpYyBpbmxpbmUKKworI2VuZGlmCisKKy8qKiBfX0ZQVV9VU0VEIGluZGljYXRlcyB3aGV0aGVyIGFuIEZQVSBpcyB1c2VkIG9yIG5vdC4gVGhpcyBjb3JlIGRvZXMgbm90IHN1cHBvcnQgYW4gRlBVIGF0IGFsbAorKi8KKyNkZWZpbmUgX19GUFVfVVNFRCAgICAgICAwCisKKyNpZiBkZWZpbmVkICggX19DQ19BUk0gKQorICAjaWYgZGVmaW5lZCBfX1RBUkdFVF9GUFVfVkZQCisgICAgI3dhcm5pbmcgIkNvbXBpbGVyIGdlbmVyYXRlcyBGUFUgaW5zdHJ1Y3Rpb25zIGZvciBhIGRldmljZSB3aXRob3V0IGFuIEZQVSAoY2hlY2sgX19GUFVfUFJFU0VOVCkiCisgICNlbmRpZgorCisjZWxpZiBkZWZpbmVkICggX19JQ0NBUk1fXyApCisgICNpZiBkZWZpbmVkIF9fQVJNVkZQX18KKyAgICAjd2FybmluZyAiQ29tcGlsZXIgZ2VuZXJhdGVzIEZQVSBpbnN0cnVjdGlvbnMgZm9yIGEgZGV2aWNlIHdpdGhvdXQgYW4gRlBVIChjaGVjayBfX0ZQVV9QUkVTRU5UKSIKKyAgI2VuZGlmCisKKyNlbGlmIGRlZmluZWQgKCBfX1RNUzQ3MF9fICkKKyAgI2lmIGRlZmluZWQgX19USV9fVkZQX1NVUFBPUlRfX19fCisgICAgI3dhcm5pbmcgIkNvbXBpbGVyIGdlbmVyYXRlcyBGUFUgaW5zdHJ1Y3Rpb25zIGZvciBhIGRldmljZSB3aXRob3V0IGFuIEZQVSAoY2hlY2sgX19GUFVfUFJFU0VOVCkiCisgICNlbmRpZgorCisjZWxpZiBkZWZpbmVkICggX19HTlVDX18gKQorICAjaWYgZGVmaW5lZCAoX19WRlBfRlBfXykgJiYgIWRlZmluZWQoX19TT0ZURlBfXykKKyAgICAjd2FybmluZyAiQ29tcGlsZXIgZ2VuZXJhdGVzIEZQVSBpbnN0cnVjdGlvbnMgZm9yIGEgZGV2aWNlIHdpdGhvdXQgYW4gRlBVIChjaGVjayBfX0ZQVV9QUkVTRU5UKSIKKyAgI2VuZGlmCisKKyNlbGlmIGRlZmluZWQgKCBfX1RBU0tJTkdfXyApCisgICNpZiBkZWZpbmVkIF9fRlBVX1ZGUF9fCisgICAgI2Vycm9yICJDb21waWxlciBnZW5lcmF0ZXMgRlBVIGluc3RydWN0aW9ucyBmb3IgYSBkZXZpY2Ugd2l0aG91dCBhbiBGUFUgKGNoZWNrIF9fRlBVX1BSRVNFTlQpIgorICAjZW5kaWYKKyNlbmRpZgorCisjaW5jbHVkZSA8c3RkaW50Lmg+ICAgICAgICAgICAgICAgICAgICAgIC8qIHN0YW5kYXJkIHR5cGVzIGRlZmluaXRpb25zICAgICAgICAgICAgICAgICAgICAgICovCisjaW5jbHVkZSA8Y29yZV9jbUluc3RyLmg+ICAgICAgICAgICAgICAgIC8qIENvcmUgSW5zdHJ1Y3Rpb24gQWNjZXNzICAgICAgICAgICAgICAgICAgICAgICAgICovCisjaW5jbHVkZSA8Y29yZV9jbUZ1bmMuaD4gICAgICAgICAgICAgICAgIC8qIENvcmUgRnVuY3Rpb24gQWNjZXNzICAgICAgICAgICAgICAgICAgICAgICAgICAgICovCisKKyNlbmRpZiAvKiBfX0NPUkVfQ00zX0hfR0VORVJJQyAqLworCisjaWZuZGVmIF9fQ01TSVNfR0VORVJJQworCisjaWZuZGVmIF9fQ09SRV9DTTNfSF9ERVBFTkRBTlQKKyNkZWZpbmUgX19DT1JFX0NNM19IX0RFUEVOREFOVAorCisvKiBjaGVjayBkZXZpY2UgZGVmaW5lcyBhbmQgdXNlIGRlZmF1bHRzICovCisjaWYgZGVmaW5lZCBfX0NIRUNLX0RFVklDRV9ERUZJTkVTCisgICNpZm5kZWYgX19DTTNfUkVWCisgICAgI2RlZmluZSBfX0NNM19SRVYgICAgICAgICAgICAgICAweDAyMDAKKyAgICAjd2FybmluZyAiX19DTTNfUkVWIG5vdCBkZWZpbmVkIGluIGRldmljZSBoZWFkZXIgZmlsZTsgdXNpbmcgZGVmYXVsdCEiCisgICNlbmRpZgorCisgICNpZm5kZWYgX19NUFVfUFJFU0VOVAorICAgICNkZWZpbmUgX19NUFVfUFJFU0VOVCAgICAgICAgICAgICAwCisgICAgI3dhcm5pbmcgIl9fTVBVX1BSRVNFTlQgbm90IGRlZmluZWQgaW4gZGV2aWNlIGhlYWRlciBmaWxlOyB1c2luZyBkZWZhdWx0ISIKKyAgI2VuZGlmCisKKyAgI2lmbmRlZiBfX05WSUNfUFJJT19CSVRTCisgICAgI2RlZmluZSBfX05WSUNfUFJJT19CSVRTICAgICAgICAgIDQKKyAgICAjd2FybmluZyAiX19OVklDX1BSSU9fQklUUyBub3QgZGVmaW5lZCBpbiBkZXZpY2UgaGVhZGVyIGZpbGU7IHVzaW5nIGRlZmF1bHQhIgorICAjZW5kaWYKKworICAjaWZuZGVmIF9fVmVuZG9yX1N5c1RpY2tDb25maWcKKyAgICAjZGVmaW5lIF9fVmVuZG9yX1N5c1RpY2tDb25maWcgICAgMAorICAgICN3YXJuaW5nICJfX1ZlbmRvcl9TeXNUaWNrQ29uZmlnIG5vdCBkZWZpbmVkIGluIGRldmljZSBoZWFkZXIgZmlsZTsgdXNpbmcgZGVmYXVsdCEiCisgICNlbmRpZgorI2VuZGlmCisKKy8qIElPIGRlZmluaXRpb25zIChhY2Nlc3MgcmVzdHJpY3Rpb25zIHRvIHBlcmlwaGVyYWwgcmVnaXN0ZXJzKSAqLworLyoqCisgICAgXGRlZmdyb3VwIENNU0lTX2dsb2JfZGVmcyBDTVNJUyBHbG9iYWwgRGVmaW5lcworCisgICAgPHN0cm9uZz5JTyBUeXBlIFF1YWxpZmllcnM8L3N0cm9uZz4gYXJlIHVzZWQKKyAgICBcbGkgdG8gc3BlY2lmeSB0aGUgYWNjZXNzIHRvIHBlcmlwaGVyYWwgdmFyaWFibGVzLgorICAgIFxsaSBmb3IgYXV0b21hdGljIGdlbmVyYXRpb24gb2YgcGVyaXBoZXJhbCByZWdpc3RlciBkZWJ1ZyBpbmZvcm1hdGlvbi4KKyovCisjaWZkZWYgX19jcGx1c3BsdXMKKyAgI2RlZmluZSAgIF9fSSAgICAgdm9sYXRpbGUgICAgICAgICAgICAgLyohPCBEZWZpbmVzICdyZWFkIG9ubHknIHBlcm1pc3Npb25zICAgICAgICAgICAgICAgICAqLworI2Vsc2UKKyAgI2RlZmluZSAgIF9fSSAgICAgdm9sYXRpbGUgY29uc3QgICAgICAgLyohPCBEZWZpbmVzICdyZWFkIG9ubHknIHBlcm1pc3Npb25zICAgICAgICAgICAgICAgICAqLworI2VuZGlmCisjZGVmaW5lICAgICBfX08gICAgIHZvbGF0aWxlICAgICAgICAgICAgIC8qITwgRGVmaW5lcyAnd3JpdGUgb25seScgcGVybWlzc2lvbnMgICAgICAgICAgICAgICAgKi8KKyNkZWZpbmUgICAgIF9fSU8gICAgdm9sYXRpbGUgICAgICAgICAgICAgLyohPCBEZWZpbmVzICdyZWFkIC8gd3JpdGUnIHBlcm1pc3Npb25zICAgICAgICAgICAgICAqLworCisvKkB9IGVuZCBvZiBncm91cCBDb3J0ZXhfTTMgKi8KKworCisKKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisgKiAgICAgICAgICAgICAgICAgUmVnaXN0ZXIgQWJzdHJhY3Rpb24KKyAgQ29yZSBSZWdpc3RlciBjb250YWluOgorICAtIENvcmUgUmVnaXN0ZXIKKyAgLSBDb3JlIE5WSUMgUmVnaXN0ZXIKKyAgLSBDb3JlIFNDQiBSZWdpc3RlcgorICAtIENvcmUgU3lzVGljayBSZWdpc3RlcgorICAtIENvcmUgRGVidWcgUmVnaXN0ZXIKKyAgLSBDb3JlIE1QVSBSZWdpc3RlcgorICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KKy8qKiBcZGVmZ3JvdXAgQ01TSVNfY29yZV9yZWdpc3RlciBEZWZpbmVzIGFuZCBUeXBlIERlZmluaXRpb25zCisgICAgXGJyaWVmIFR5cGUgZGVmaW5pdGlvbnMgYW5kIGRlZmluZXMgZm9yIENvcnRleC1NIHByb2Nlc3NvciBiYXNlZCBkZXZpY2VzLgorKi8KKworLyoqIFxpbmdyb3VwICAgIENNU0lTX2NvcmVfcmVnaXN0ZXIKKyAgICBcZGVmZ3JvdXAgICBDTVNJU19DT1JFICBTdGF0dXMgYW5kIENvbnRyb2wgUmVnaXN0ZXJzCisgICAgXGJyaWVmICBDb3JlIFJlZ2lzdGVyIHR5cGUgZGVmaW5pdGlvbnMuCisgIEB7CisgKi8KKworLyoqIFxicmllZiAgVW5pb24gdHlwZSB0byBhY2Nlc3MgdGhlIEFwcGxpY2F0aW9uIFByb2dyYW0gU3RhdHVzIFJlZ2lzdGVyIChBUFNSKS4KKyAqLwordHlwZWRlZiB1bmlvbgoreworICBzdHJ1Y3QKKyAgeworI2lmIChfX0NPUlRFWF9NICE9IDB4MDQpCisgICAgdWludDMyX3QgX3Jlc2VydmVkMDoyNzsgICAgICAgICAgICAgIC8qITwgYml0OiAgMC4uMjYgIFJlc2VydmVkICAgICAgICAgICAgICAgICAgICAgICAgICAgKi8KKyNlbHNlCisgICAgdWludDMyX3QgX3Jlc2VydmVkMDoxNjsgICAgICAgICAgICAgIC8qITwgYml0OiAgMC4uMTUgIFJlc2VydmVkICAgICAgICAgICAgICAgICAgICAgICAgICAgKi8KKyAgICB1aW50MzJfdCBHRTo0OyAgICAgICAgICAgICAgICAgICAgICAgLyohPCBiaXQ6IDE2Li4xOSAgR3JlYXRlciB0aGFuIG9yIEVxdWFsIGZsYWdzICAgICAgICAqLworICAgIHVpbnQzMl90IF9yZXNlcnZlZDE6NzsgICAgICAgICAgICAgICAvKiE8IGJpdDogMjAuLjI2ICBSZXNlcnZlZCAgICAgICAgICAgICAgICAgICAgICAgICAgICovCisjZW5kaWYKKyAgICB1aW50MzJfdCBROjE7ICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBiaXQ6ICAgICAyNyAgU2F0dXJhdGlvbiBjb25kaXRpb24gZmxhZyAgICAgICAgICAqLworICAgIHVpbnQzMl90IFY6MTsgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IGJpdDogICAgIDI4ICBPdmVyZmxvdyBjb25kaXRpb24gY29kZSBmbGFnICAgICAgICovCisgICAgdWludDMyX3QgQzoxOyAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgYml0OiAgICAgMjkgIENhcnJ5IGNvbmRpdGlvbiBjb2RlIGZsYWcgICAgICAgICAgKi8KKyAgICB1aW50MzJfdCBaOjE7ICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBiaXQ6ICAgICAzMCAgWmVybyBjb25kaXRpb24gY29kZSBmbGFnICAgICAgICAgICAqLworICAgIHVpbnQzMl90IE46MTsgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IGJpdDogICAgIDMxICBOZWdhdGl2ZSBjb25kaXRpb24gY29kZSBmbGFnICAgICAgICovCisgIH0gYjsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgU3RydWN0dXJlIHVzZWQgZm9yIGJpdCAgYWNjZXNzICAgICAgICAgICAgICAgICAgKi8KKyAgdWludDMyX3QgdzsgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBUeXBlICAgICAgdXNlZCBmb3Igd29yZCBhY2Nlc3MgICAgICAgICAgICAgICAgICAqLworfSBBUFNSX1R5cGU7CisKKworLyoqIFxicmllZiAgVW5pb24gdHlwZSB0byBhY2Nlc3MgdGhlIEludGVycnVwdCBQcm9ncmFtIFN0YXR1cyBSZWdpc3RlciAoSVBTUikuCisgKi8KK3R5cGVkZWYgdW5pb24KK3sKKyAgc3RydWN0CisgIHsKKyAgICB1aW50MzJfdCBJU1I6OTsgICAgICAgICAgICAgICAgICAgICAgLyohPCBiaXQ6ICAwLi4gOCAgRXhjZXB0aW9uIG51bWJlciAgICAgICAgICAgICAgICAgICAqLworICAgIHVpbnQzMl90IF9yZXNlcnZlZDA6MjM7ICAgICAgICAgICAgICAvKiE8IGJpdDogIDkuLjMxICBSZXNlcnZlZCAgICAgICAgICAgICAgICAgICAgICAgICAgICovCisgIH0gYjsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgU3RydWN0dXJlIHVzZWQgZm9yIGJpdCAgYWNjZXNzICAgICAgICAgICAgICAgICAgKi8KKyAgdWludDMyX3QgdzsgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBUeXBlICAgICAgdXNlZCBmb3Igd29yZCBhY2Nlc3MgICAgICAgICAgICAgICAgICAqLworfSBJUFNSX1R5cGU7CisKKworLyoqIFxicmllZiAgVW5pb24gdHlwZSB0byBhY2Nlc3MgdGhlIFNwZWNpYWwtUHVycG9zZSBQcm9ncmFtIFN0YXR1cyBSZWdpc3RlcnMgKHhQU1IpLgorICovCit0eXBlZGVmIHVuaW9uCit7CisgIHN0cnVjdAorICB7CisgICAgdWludDMyX3QgSVNSOjk7ICAgICAgICAgICAgICAgICAgICAgIC8qITwgYml0OiAgMC4uIDggIEV4Y2VwdGlvbiBudW1iZXIgICAgICAgICAgICAgICAgICAgKi8KKyNpZiAoX19DT1JURVhfTSAhPSAweDA0KQorICAgIHVpbnQzMl90IF9yZXNlcnZlZDA6MTU7ICAgICAgICAgICAgICAvKiE8IGJpdDogIDkuLjIzICBSZXNlcnZlZCAgICAgICAgICAgICAgICAgICAgICAgICAgICovCisjZWxzZQorICAgIHVpbnQzMl90IF9yZXNlcnZlZDA6NzsgICAgICAgICAgICAgICAvKiE8IGJpdDogIDkuLjE1ICBSZXNlcnZlZCAgICAgICAgICAgICAgICAgICAgICAgICAgICovCisgICAgdWludDMyX3QgR0U6NDsgICAgICAgICAgICAgICAgICAgICAgIC8qITwgYml0OiAxNi4uMTkgIEdyZWF0ZXIgdGhhbiBvciBFcXVhbCBmbGFncyAgICAgICAgKi8KKyAgICB1aW50MzJfdCBfcmVzZXJ2ZWQxOjQ7ICAgICAgICAgICAgICAgLyohPCBiaXQ6IDIwLi4yMyAgUmVzZXJ2ZWQgICAgICAgICAgICAgICAgICAgICAgICAgICAqLworI2VuZGlmCisgICAgdWludDMyX3QgVDoxOyAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgYml0OiAgICAgMjQgIFRodW1iIGJpdCAgICAgICAgKHJlYWQgMCkgICAgICAgICAgKi8KKyAgICB1aW50MzJfdCBJVDoyOyAgICAgICAgICAgICAgICAgICAgICAgLyohPCBiaXQ6IDI1Li4yNiAgc2F2ZWQgSVQgc3RhdGUgICAocmVhZCAwKSAgICAgICAgICAqLworICAgIHVpbnQzMl90IFE6MTsgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IGJpdDogICAgIDI3ICBTYXR1cmF0aW9uIGNvbmRpdGlvbiBmbGFnICAgICAgICAgICovCisgICAgdWludDMyX3QgVjoxOyAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgYml0OiAgICAgMjggIE92ZXJmbG93IGNvbmRpdGlvbiBjb2RlIGZsYWcgICAgICAgKi8KKyAgICB1aW50MzJfdCBDOjE7ICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBiaXQ6ICAgICAyOSAgQ2FycnkgY29uZGl0aW9uIGNvZGUgZmxhZyAgICAgICAgICAqLworICAgIHVpbnQzMl90IFo6MTsgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IGJpdDogICAgIDMwICBaZXJvIGNvbmRpdGlvbiBjb2RlIGZsYWcgICAgICAgICAgICovCisgICAgdWludDMyX3QgTjoxOyAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgYml0OiAgICAgMzEgIE5lZ2F0aXZlIGNvbmRpdGlvbiBjb2RlIGZsYWcgICAgICAgKi8KKyAgfSBiOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBTdHJ1Y3R1cmUgdXNlZCBmb3IgYml0ICBhY2Nlc3MgICAgICAgICAgICAgICAgICAqLworICB1aW50MzJfdCB3OyAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IFR5cGUgICAgICB1c2VkIGZvciB3b3JkIGFjY2VzcyAgICAgICAgICAgICAgICAgICovCit9IHhQU1JfVHlwZTsKKworCisvKiogXGJyaWVmICBVbmlvbiB0eXBlIHRvIGFjY2VzcyB0aGUgQ29udHJvbCBSZWdpc3RlcnMgKENPTlRST0wpLgorICovCit0eXBlZGVmIHVuaW9uCit7CisgIHN0cnVjdAorICB7CisgICAgdWludDMyX3QgblBSSVY6MTsgICAgICAgICAgICAgICAgICAgIC8qITwgYml0OiAgICAgIDAgIEV4ZWN1dGlvbiBwcml2aWxlZ2UgaW4gVGhyZWFkIG1vZGUgKi8KKyAgICB1aW50MzJfdCBTUFNFTDoxOyAgICAgICAgICAgICAgICAgICAgLyohPCBiaXQ6ICAgICAgMSAgU3RhY2sgdG8gYmUgdXNlZCAgICAgICAgICAgICAgICAgICAqLworICAgIHVpbnQzMl90IEZQQ0E6MTsgICAgICAgICAgICAgICAgICAgICAvKiE8IGJpdDogICAgICAyICBGUCBleHRlbnNpb24gYWN0aXZlIGZsYWcgICAgICAgICAgICovCisgICAgdWludDMyX3QgX3Jlc2VydmVkMDoyOTsgICAgICAgICAgICAgIC8qITwgYml0OiAgMy4uMzEgIFJlc2VydmVkICAgICAgICAgICAgICAgICAgICAgICAgICAgKi8KKyAgfSBiOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBTdHJ1Y3R1cmUgdXNlZCBmb3IgYml0ICBhY2Nlc3MgICAgICAgICAgICAgICAgICAqLworICB1aW50MzJfdCB3OyAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IFR5cGUgICAgICB1c2VkIGZvciB3b3JkIGFjY2VzcyAgICAgICAgICAgICAgICAgICovCit9IENPTlRST0xfVHlwZTsKKworLypAfSBlbmQgb2YgZ3JvdXAgQ01TSVNfQ09SRSAqLworCisKKy8qKiBcaW5ncm91cCAgICBDTVNJU19jb3JlX3JlZ2lzdGVyCisgICAgXGRlZmdyb3VwICAgQ01TSVNfTlZJQyAgTmVzdGVkIFZlY3RvcmVkIEludGVycnVwdCBDb250cm9sbGVyIChOVklDKQorICAgIFxicmllZiAgICAgIFR5cGUgZGVmaW5pdGlvbnMgZm9yIHRoZSBOVklDIFJlZ2lzdGVycworICBAeworICovCisKKy8qKiBcYnJpZWYgIFN0cnVjdHVyZSB0eXBlIHRvIGFjY2VzcyB0aGUgTmVzdGVkIFZlY3RvcmVkIEludGVycnVwdCBDb250cm9sbGVyIChOVklDKS4KKyAqLwordHlwZWRlZiBzdHJ1Y3QKK3sKKyAgX19JTyB1aW50MzJfdCBJU0VSWzhdOyAgICAgICAgICAgICAgICAgLyohPCBPZmZzZXQ6IDB4MDAwIChSL1cpICBJbnRlcnJ1cHQgU2V0IEVuYWJsZSBSZWdpc3RlciAgICAgICAgICAgKi8KKyAgICAgICB1aW50MzJfdCBSRVNFUlZFRDBbMjRdOworICBfX0lPIHVpbnQzMl90IElDRVJbOF07ICAgICAgICAgICAgICAgICAvKiE8IE9mZnNldDogMHgwODAgKFIvVykgIEludGVycnVwdCBDbGVhciBFbmFibGUgUmVnaXN0ZXIgICAgICAgICAqLworICAgICAgIHVpbnQzMl90IFJTRVJWRUQxWzI0XTsKKyAgX19JTyB1aW50MzJfdCBJU1BSWzhdOyAgICAgICAgICAgICAgICAgLyohPCBPZmZzZXQ6IDB4MTAwIChSL1cpICBJbnRlcnJ1cHQgU2V0IFBlbmRpbmcgUmVnaXN0ZXIgICAgICAgICAgKi8KKyAgICAgICB1aW50MzJfdCBSRVNFUlZFRDJbMjRdOworICBfX0lPIHVpbnQzMl90IElDUFJbOF07ICAgICAgICAgICAgICAgICAvKiE8IE9mZnNldDogMHgxODAgKFIvVykgIEludGVycnVwdCBDbGVhciBQZW5kaW5nIFJlZ2lzdGVyICAgICAgICAqLworICAgICAgIHVpbnQzMl90IFJFU0VSVkVEM1syNF07CisgIF9fSU8gdWludDMyX3QgSUFCUls4XTsgICAgICAgICAgICAgICAgIC8qITwgT2Zmc2V0OiAweDIwMCAoUi9XKSAgSW50ZXJydXB0IEFjdGl2ZSBiaXQgUmVnaXN0ZXIgICAgICAgICAgICovCisgICAgICAgdWludDMyX3QgUkVTRVJWRUQ0WzU2XTsKKyAgX19JTyB1aW50OF90ICBJUFsyNDBdOyAgICAgICAgICAgICAgICAgLyohPCBPZmZzZXQ6IDB4MzAwIChSL1cpICBJbnRlcnJ1cHQgUHJpb3JpdHkgUmVnaXN0ZXIgKDhCaXQgd2lkZSkgKi8KKyAgICAgICB1aW50MzJfdCBSRVNFUlZFRDVbNjQ0XTsKKyAgX19PICB1aW50MzJfdCBTVElSOyAgICAgICAgICAgICAgICAgICAgLyohPCBPZmZzZXQ6IDB4RTAwICggL1cpICBTb2Z0d2FyZSBUcmlnZ2VyIEludGVycnVwdCBSZWdpc3RlciAgICAgKi8KK30gIE5WSUNfVHlwZTsKKworLyogU29mdHdhcmUgVHJpZ2dlcmVkIEludGVycnVwdCBSZWdpc3RlciBEZWZpbml0aW9ucyAqLworI2RlZmluZSBOVklDX1NUSVJfSU5USURfUG9zICAgICAgICAgICAgICAgICAwICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBTVElSOiBJTlRMSU5FU05VTSBQb3NpdGlvbiAqLworI2RlZmluZSBOVklDX1NUSVJfSU5USURfTXNrICAgICAgICAgICAgICAgICgweDFGRlVMIDw8IE5WSUNfU1RJUl9JTlRJRF9Qb3MpICAgICAgICAgICAgLyohPCBTVElSOiBJTlRMSU5FU05VTSBNYXNrICovCisKKy8qQH0gZW5kIG9mIGdyb3VwIENNU0lTX05WSUMgKi8KKworCisvKiogXGluZ3JvdXAgIENNU0lTX2NvcmVfcmVnaXN0ZXIKKyAgICBcZGVmZ3JvdXAgQ01TSVNfU0NCICAgICBTeXN0ZW0gQ29udHJvbCBCbG9jayAoU0NCKQorICAgIFxicmllZiAgICAgIFR5cGUgZGVmaW5pdGlvbnMgZm9yIHRoZSBTeXN0ZW0gQ29udHJvbCBCbG9jayBSZWdpc3RlcnMKKyAgQHsKKyAqLworCisvKiogXGJyaWVmICBTdHJ1Y3R1cmUgdHlwZSB0byBhY2Nlc3MgdGhlIFN5c3RlbSBDb250cm9sIEJsb2NrIChTQ0IpLgorICovCit0eXBlZGVmIHN0cnVjdAoreworICBfX0kgIHVpbnQzMl90IENQVUlEOyAgICAgICAgICAgICAgICAgICAvKiE8IE9mZnNldDogMHgwMDAgKFIvICkgIENQVUlEIEJhc2UgUmVnaXN0ZXIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICovCisgIF9fSU8gdWludDMyX3QgSUNTUjsgICAgICAgICAgICAgICAgICAgIC8qITwgT2Zmc2V0OiAweDAwNCAoUi9XKSAgSW50ZXJydXB0IENvbnRyb2wgYW5kIFN0YXRlIFJlZ2lzdGVyICAgICAgICAgICAgICAgICAgKi8KKyAgX19JTyB1aW50MzJfdCBWVE9SOyAgICAgICAgICAgICAgICAgICAgLyohPCBPZmZzZXQ6IDB4MDA4IChSL1cpICBWZWN0b3IgVGFibGUgT2Zmc2V0IFJlZ2lzdGVyICAgICAgICAgICAgICAgICAgICAgICAgICAqLworICBfX0lPIHVpbnQzMl90IEFJUkNSOyAgICAgICAgICAgICAgICAgICAvKiE8IE9mZnNldDogMHgwMEMgKFIvVykgIEFwcGxpY2F0aW9uIEludGVycnVwdCBhbmQgUmVzZXQgQ29udHJvbCBSZWdpc3RlciAgICAgICovCisgIF9fSU8gdWludDMyX3QgU0NSOyAgICAgICAgICAgICAgICAgICAgIC8qITwgT2Zmc2V0OiAweDAxMCAoUi9XKSAgU3lzdGVtIENvbnRyb2wgUmVnaXN0ZXIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKi8KKyAgX19JTyB1aW50MzJfdCBDQ1I7ICAgICAgICAgICAgICAgICAgICAgLyohPCBPZmZzZXQ6IDB4MDE0IChSL1cpICBDb25maWd1cmF0aW9uIENvbnRyb2wgUmVnaXN0ZXIgICAgICAgICAgICAgICAgICAgICAgICAqLworICBfX0lPIHVpbnQ4X3QgIFNIUFsxMl07ICAgICAgICAgICAgICAgICAvKiE8IE9mZnNldDogMHgwMTggKFIvVykgIFN5c3RlbSBIYW5kbGVycyBQcmlvcml0eSBSZWdpc3RlcnMgKDQtNywgOC0xMSwgMTItMTUpICovCisgIF9fSU8gdWludDMyX3QgU0hDU1I7ICAgICAgICAgICAgICAgICAgIC8qITwgT2Zmc2V0OiAweDAyNCAoUi9XKSAgU3lzdGVtIEhhbmRsZXIgQ29udHJvbCBhbmQgU3RhdGUgUmVnaXN0ZXIgICAgICAgICAgICAgKi8KKyAgX19JTyB1aW50MzJfdCBDRlNSOyAgICAgICAgICAgICAgICAgICAgLyohPCBPZmZzZXQ6IDB4MDI4IChSL1cpICBDb25maWd1cmFibGUgRmF1bHQgU3RhdHVzIFJlZ2lzdGVyICAgICAgICAgICAgICAgICAgICAqLworICBfX0lPIHVpbnQzMl90IEhGU1I7ICAgICAgICAgICAgICAgICAgICAvKiE8IE9mZnNldDogMHgwMkMgKFIvVykgIEhhcmRGYXVsdCBTdGF0dXMgUmVnaXN0ZXIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICovCisgIF9fSU8gdWludDMyX3QgREZTUjsgICAgICAgICAgICAgICAgICAgIC8qITwgT2Zmc2V0OiAweDAzMCAoUi9XKSAgRGVidWcgRmF1bHQgU3RhdHVzIFJlZ2lzdGVyICAgICAgICAgICAgICAgICAgICAgICAgICAgKi8KKyAgX19JTyB1aW50MzJfdCBNTUZBUjsgICAgICAgICAgICAgICAgICAgLyohPCBPZmZzZXQ6IDB4MDM0IChSL1cpICBNZW1NYW5hZ2UgRmF1bHQgQWRkcmVzcyBSZWdpc3RlciAgICAgICAgICAgICAgICAgICAgICAqLworICBfX0lPIHVpbnQzMl90IEJGQVI7ICAgICAgICAgICAgICAgICAgICAvKiE8IE9mZnNldDogMHgwMzggKFIvVykgIEJ1c0ZhdWx0IEFkZHJlc3MgUmVnaXN0ZXIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICovCisgIF9fSU8gdWludDMyX3QgQUZTUjsgICAgICAgICAgICAgICAgICAgIC8qITwgT2Zmc2V0OiAweDAzQyAoUi9XKSAgQXV4aWxpYXJ5IEZhdWx0IFN0YXR1cyBSZWdpc3RlciAgICAgICAgICAgICAgICAgICAgICAgKi8KKyAgX19JICB1aW50MzJfdCBQRlJbMl07ICAgICAgICAgICAgICAgICAgLyohPCBPZmZzZXQ6IDB4MDQwIChSLyApICBQcm9jZXNzb3IgRmVhdHVyZSBSZWdpc3RlciAgICAgICAgICAgICAgICAgICAgICAgICAgICAqLworICBfX0kgIHVpbnQzMl90IERGUjsgICAgICAgICAgICAgICAgICAgICAvKiE8IE9mZnNldDogMHgwNDggKFIvICkgIERlYnVnIEZlYXR1cmUgUmVnaXN0ZXIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICovCisgIF9fSSAgdWludDMyX3QgQURSOyAgICAgICAgICAgICAgICAgICAgIC8qITwgT2Zmc2V0OiAweDA0QyAoUi8gKSAgQXV4aWxpYXJ5IEZlYXR1cmUgUmVnaXN0ZXIgICAgICAgICAgICAgICAgICAgICAgICAgICAgKi8KKyAgX19JICB1aW50MzJfdCBNTUZSWzRdOyAgICAgICAgICAgICAgICAgLyohPCBPZmZzZXQ6IDB4MDUwIChSLyApICBNZW1vcnkgTW9kZWwgRmVhdHVyZSBSZWdpc3RlciAgICAgICAgICAgICAgICAgICAgICAgICAqLworICBfX0kgIHVpbnQzMl90IElTQVJbNV07ICAgICAgICAgICAgICAgICAvKiE8IE9mZnNldDogMHgwNjAgKFIvICkgIEluc3RydWN0aW9uIFNldCBBdHRyaWJ1dGVzIFJlZ2lzdGVyICAgICAgICAgICAgICAgICAgICovCisgICAgICAgdWludDMyX3QgUkVTRVJWRUQwWzVdOworICBfX0lPIHVpbnQzMl90IENQQUNSOyAgICAgICAgICAgICAgICAgICAvKiE8IE9mZnNldDogMHgwODggKFIvVykgIENvcHJvY2Vzc29yIEFjY2VzcyBDb250cm9sIFJlZ2lzdGVyICAgICAgICAgICAgICAgICAgICovCit9IFNDQl9UeXBlOworCisvKiBTQ0IgQ1BVSUQgUmVnaXN0ZXIgRGVmaW5pdGlvbnMgKi8KKyNkZWZpbmUgU0NCX0NQVUlEX0lNUExFTUVOVEVSX1BvcyAgICAgICAgICAyNCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgU0NCIENQVUlEOiBJTVBMRU1FTlRFUiBQb3NpdGlvbiAqLworI2RlZmluZSBTQ0JfQ1BVSURfSU1QTEVNRU5URVJfTXNrICAgICAgICAgICgweEZGVUwgPDwgU0NCX0NQVUlEX0lNUExFTUVOVEVSX1BvcykgICAgICAgICAgLyohPCBTQ0IgQ1BVSUQ6IElNUExFTUVOVEVSIE1hc2sgKi8KKworI2RlZmluZSBTQ0JfQ1BVSURfVkFSSUFOVF9Qb3MgICAgICAgICAgICAgIDIwICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBTQ0IgQ1BVSUQ6IFZBUklBTlQgUG9zaXRpb24gKi8KKyNkZWZpbmUgU0NCX0NQVUlEX1ZBUklBTlRfTXNrICAgICAgICAgICAgICAoMHhGVUwgPDwgU0NCX0NQVUlEX1ZBUklBTlRfUG9zKSAgICAgICAgICAgICAgIC8qITwgU0NCIENQVUlEOiBWQVJJQU5UIE1hc2sgKi8KKworI2RlZmluZSBTQ0JfQ1BVSURfQVJDSElURUNUVVJFX1BvcyAgICAgICAgIDE2ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBTQ0IgQ1BVSUQ6IEFSQ0hJVEVDVFVSRSBQb3NpdGlvbiAqLworI2RlZmluZSBTQ0JfQ1BVSURfQVJDSElURUNUVVJFX01zayAgICAgICAgICgweEZVTCA8PCBTQ0JfQ1BVSURfQVJDSElURUNUVVJFX1BvcykgICAgICAgICAgLyohPCBTQ0IgQ1BVSUQ6IEFSQ0hJVEVDVFVSRSBNYXNrICovCisKKyNkZWZpbmUgU0NCX0NQVUlEX1BBUlROT19Qb3MgICAgICAgICAgICAgICAgNCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgU0NCIENQVUlEOiBQQVJUTk8gUG9zaXRpb24gKi8KKyNkZWZpbmUgU0NCX0NQVUlEX1BBUlROT19Nc2sgICAgICAgICAgICAgICAoMHhGRkZVTCA8PCBTQ0JfQ1BVSURfUEFSVE5PX1BvcykgICAgICAgICAgICAgIC8qITwgU0NCIENQVUlEOiBQQVJUTk8gTWFzayAqLworCisjZGVmaW5lIFNDQl9DUFVJRF9SRVZJU0lPTl9Qb3MgICAgICAgICAgICAgIDAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IFNDQiBDUFVJRDogUkVWSVNJT04gUG9zaXRpb24gKi8KKyNkZWZpbmUgU0NCX0NQVUlEX1JFVklTSU9OX01zayAgICAgICAgICAgICAoMHhGVUwgPDwgU0NCX0NQVUlEX1JFVklTSU9OX1BvcykgICAgICAgICAgICAgIC8qITwgU0NCIENQVUlEOiBSRVZJU0lPTiBNYXNrICovCisKKy8qIFNDQiBJbnRlcnJ1cHQgQ29udHJvbCBTdGF0ZSBSZWdpc3RlciBEZWZpbml0aW9ucyAqLworI2RlZmluZSBTQ0JfSUNTUl9OTUlQRU5EU0VUX1BvcyAgICAgICAgICAgIDMxICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBTQ0IgSUNTUjogTk1JUEVORFNFVCBQb3NpdGlvbiAqLworI2RlZmluZSBTQ0JfSUNTUl9OTUlQRU5EU0VUX01zayAgICAgICAgICAgICgxVUwgPDwgU0NCX0lDU1JfTk1JUEVORFNFVF9Qb3MpICAgICAgICAgICAgICAgLyohPCBTQ0IgSUNTUjogTk1JUEVORFNFVCBNYXNrICovCisKKyNkZWZpbmUgU0NCX0lDU1JfUEVORFNWU0VUX1BvcyAgICAgICAgICAgICAyOCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgU0NCIElDU1I6IFBFTkRTVlNFVCBQb3NpdGlvbiAqLworI2RlZmluZSBTQ0JfSUNTUl9QRU5EU1ZTRVRfTXNrICAgICAgICAgICAgICgxVUwgPDwgU0NCX0lDU1JfUEVORFNWU0VUX1BvcykgICAgICAgICAgICAgICAgLyohPCBTQ0IgSUNTUjogUEVORFNWU0VUIE1hc2sgKi8KKworI2RlZmluZSBTQ0JfSUNTUl9QRU5EU1ZDTFJfUG9zICAgICAgICAgICAgIDI3ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBTQ0IgSUNTUjogUEVORFNWQ0xSIFBvc2l0aW9uICovCisjZGVmaW5lIFNDQl9JQ1NSX1BFTkRTVkNMUl9Nc2sgICAgICAgICAgICAgKDFVTCA8PCBTQ0JfSUNTUl9QRU5EU1ZDTFJfUG9zKSAgICAgICAgICAgICAgICAvKiE8IFNDQiBJQ1NSOiBQRU5EU1ZDTFIgTWFzayAqLworCisjZGVmaW5lIFNDQl9JQ1NSX1BFTkRTVFNFVF9Qb3MgICAgICAgICAgICAgMjYgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IFNDQiBJQ1NSOiBQRU5EU1RTRVQgUG9zaXRpb24gKi8KKyNkZWZpbmUgU0NCX0lDU1JfUEVORFNUU0VUX01zayAgICAgICAgICAgICAoMVVMIDw8IFNDQl9JQ1NSX1BFTkRTVFNFVF9Qb3MpICAgICAgICAgICAgICAgIC8qITwgU0NCIElDU1I6IFBFTkRTVFNFVCBNYXNrICovCisKKyNkZWZpbmUgU0NCX0lDU1JfUEVORFNUQ0xSX1BvcyAgICAgICAgICAgICAyNSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgU0NCIElDU1I6IFBFTkRTVENMUiBQb3NpdGlvbiAqLworI2RlZmluZSBTQ0JfSUNTUl9QRU5EU1RDTFJfTXNrICAgICAgICAgICAgICgxVUwgPDwgU0NCX0lDU1JfUEVORFNUQ0xSX1BvcykgICAgICAgICAgICAgICAgLyohPCBTQ0IgSUNTUjogUEVORFNUQ0xSIE1hc2sgKi8KKworI2RlZmluZSBTQ0JfSUNTUl9JU1JQUkVFTVBUX1BvcyAgICAgICAgICAgIDIzICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBTQ0IgSUNTUjogSVNSUFJFRU1QVCBQb3NpdGlvbiAqLworI2RlZmluZSBTQ0JfSUNTUl9JU1JQUkVFTVBUX01zayAgICAgICAgICAgICgxVUwgPDwgU0NCX0lDU1JfSVNSUFJFRU1QVF9Qb3MpICAgICAgICAgICAgICAgLyohPCBTQ0IgSUNTUjogSVNSUFJFRU1QVCBNYXNrICovCisKKyNkZWZpbmUgU0NCX0lDU1JfSVNSUEVORElOR19Qb3MgICAgICAgICAgICAyMiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgU0NCIElDU1I6IElTUlBFTkRJTkcgUG9zaXRpb24gKi8KKyNkZWZpbmUgU0NCX0lDU1JfSVNSUEVORElOR19Nc2sgICAgICAgICAgICAoMVVMIDw8IFNDQl9JQ1NSX0lTUlBFTkRJTkdfUG9zKSAgICAgICAgICAgICAgIC8qITwgU0NCIElDU1I6IElTUlBFTkRJTkcgTWFzayAqLworCisjZGVmaW5lIFNDQl9JQ1NSX1ZFQ1RQRU5ESU5HX1BvcyAgICAgICAgICAgMTIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IFNDQiBJQ1NSOiBWRUNUUEVORElORyBQb3NpdGlvbiAqLworI2RlZmluZSBTQ0JfSUNTUl9WRUNUUEVORElOR19Nc2sgICAgICAgICAgICgweDFGRlVMIDw8IFNDQl9JQ1NSX1ZFQ1RQRU5ESU5HX1BvcykgICAgICAgICAgLyohPCBTQ0IgSUNTUjogVkVDVFBFTkRJTkcgTWFzayAqLworCisjZGVmaW5lIFNDQl9JQ1NSX1JFVFRPQkFTRV9Qb3MgICAgICAgICAgICAgMTEgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IFNDQiBJQ1NSOiBSRVRUT0JBU0UgUG9zaXRpb24gKi8KKyNkZWZpbmUgU0NCX0lDU1JfUkVUVE9CQVNFX01zayAgICAgICAgICAgICAoMVVMIDw8IFNDQl9JQ1NSX1JFVFRPQkFTRV9Qb3MpICAgICAgICAgICAgICAgIC8qITwgU0NCIElDU1I6IFJFVFRPQkFTRSBNYXNrICovCisKKyNkZWZpbmUgU0NCX0lDU1JfVkVDVEFDVElWRV9Qb3MgICAgICAgICAgICAgMCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgU0NCIElDU1I6IFZFQ1RBQ1RJVkUgUG9zaXRpb24gKi8KKyNkZWZpbmUgU0NCX0lDU1JfVkVDVEFDVElWRV9Nc2sgICAgICAgICAgICAoMHgxRkZVTCA8PCBTQ0JfSUNTUl9WRUNUQUNUSVZFX1BvcykgICAgICAgICAgIC8qITwgU0NCIElDU1I6IFZFQ1RBQ1RJVkUgTWFzayAqLworCisvKiBTQ0IgVmVjdG9yIFRhYmxlIE9mZnNldCBSZWdpc3RlciBEZWZpbml0aW9ucyAqLworI2lmIChfX0NNM19SRVYgPCAweDAyMDEpICAgICAgICAgICAgICAgICAgIC8qIGNvcmUgcjJwMSAqLworI2RlZmluZSBTQ0JfVlRPUl9UQkxCQVNFX1BvcyAgICAgICAgICAgICAgIDI5ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBTQ0IgVlRPUjogVEJMQkFTRSBQb3NpdGlvbiAqLworI2RlZmluZSBTQ0JfVlRPUl9UQkxCQVNFX01zayAgICAgICAgICAgICAgICgxVUwgPDwgU0NCX1ZUT1JfVEJMQkFTRV9Qb3MpICAgICAgICAgICAgICAgICAgLyohPCBTQ0IgVlRPUjogVEJMQkFTRSBNYXNrICovCisKKyNkZWZpbmUgU0NCX1ZUT1JfVEJMT0ZGX1BvcyAgICAgICAgICAgICAgICAgNyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgU0NCIFZUT1I6IFRCTE9GRiBQb3NpdGlvbiAqLworI2RlZmluZSBTQ0JfVlRPUl9UQkxPRkZfTXNrICAgICAgICAgICAgICAgICgweDNGRkZGRlVMIDw8IFNDQl9WVE9SX1RCTE9GRl9Qb3MpICAgICAgICAgICAgLyohPCBTQ0IgVlRPUjogVEJMT0ZGIE1hc2sgKi8KKyNlbHNlCisjZGVmaW5lIFNDQl9WVE9SX1RCTE9GRl9Qb3MgICAgICAgICAgICAgICAgIDcgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IFNDQiBWVE9SOiBUQkxPRkYgUG9zaXRpb24gKi8KKyNkZWZpbmUgU0NCX1ZUT1JfVEJMT0ZGX01zayAgICAgICAgICAgICAgICAoMHgxRkZGRkZGVUwgPDwgU0NCX1ZUT1JfVEJMT0ZGX1BvcykgICAgICAgICAgIC8qITwgU0NCIFZUT1I6IFRCTE9GRiBNYXNrICovCisjZW5kaWYKKworLyogU0NCIEFwcGxpY2F0aW9uIEludGVycnVwdCBhbmQgUmVzZXQgQ29udHJvbCBSZWdpc3RlciBEZWZpbml0aW9ucyAqLworI2RlZmluZSBTQ0JfQUlSQ1JfVkVDVEtFWV9Qb3MgICAgICAgICAgICAgIDE2ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBTQ0IgQUlSQ1I6IFZFQ1RLRVkgUG9zaXRpb24gKi8KKyNkZWZpbmUgU0NCX0FJUkNSX1ZFQ1RLRVlfTXNrICAgICAgICAgICAgICAoMHhGRkZGVUwgPDwgU0NCX0FJUkNSX1ZFQ1RLRVlfUG9zKSAgICAgICAgICAgIC8qITwgU0NCIEFJUkNSOiBWRUNUS0VZIE1hc2sgKi8KKworI2RlZmluZSBTQ0JfQUlSQ1JfVkVDVEtFWVNUQVRfUG9zICAgICAgICAgIDE2ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBTQ0IgQUlSQ1I6IFZFQ1RLRVlTVEFUIFBvc2l0aW9uICovCisjZGVmaW5lIFNDQl9BSVJDUl9WRUNUS0VZU1RBVF9Nc2sgICAgICAgICAgKDB4RkZGRlVMIDw8IFNDQl9BSVJDUl9WRUNUS0VZU1RBVF9Qb3MpICAgICAgICAvKiE8IFNDQiBBSVJDUjogVkVDVEtFWVNUQVQgTWFzayAqLworCisjZGVmaW5lIFNDQl9BSVJDUl9FTkRJQU5FU1NfUG9zICAgICAgICAgICAgMTUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IFNDQiBBSVJDUjogRU5ESUFORVNTIFBvc2l0aW9uICovCisjZGVmaW5lIFNDQl9BSVJDUl9FTkRJQU5FU1NfTXNrICAgICAgICAgICAgKDFVTCA8PCBTQ0JfQUlSQ1JfRU5ESUFORVNTX1BvcykgICAgICAgICAgICAgICAvKiE8IFNDQiBBSVJDUjogRU5ESUFORVNTIE1hc2sgKi8KKworI2RlZmluZSBTQ0JfQUlSQ1JfUFJJR1JPVVBfUG9zICAgICAgICAgICAgICA4ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBTQ0IgQUlSQ1I6IFBSSUdST1VQIFBvc2l0aW9uICovCisjZGVmaW5lIFNDQl9BSVJDUl9QUklHUk9VUF9Nc2sgICAgICAgICAgICAgKDdVTCA8PCBTQ0JfQUlSQ1JfUFJJR1JPVVBfUG9zKSAgICAgICAgICAgICAgICAvKiE8IFNDQiBBSVJDUjogUFJJR1JPVVAgTWFzayAqLworCisjZGVmaW5lIFNDQl9BSVJDUl9TWVNSRVNFVFJFUV9Qb3MgICAgICAgICAgIDIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IFNDQiBBSVJDUjogU1lTUkVTRVRSRVEgUG9zaXRpb24gKi8KKyNkZWZpbmUgU0NCX0FJUkNSX1NZU1JFU0VUUkVRX01zayAgICAgICAgICAoMVVMIDw8IFNDQl9BSVJDUl9TWVNSRVNFVFJFUV9Qb3MpICAgICAgICAgICAgIC8qITwgU0NCIEFJUkNSOiBTWVNSRVNFVFJFUSBNYXNrICovCisKKyNkZWZpbmUgU0NCX0FJUkNSX1ZFQ1RDTFJBQ1RJVkVfUG9zICAgICAgICAgMSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgU0NCIEFJUkNSOiBWRUNUQ0xSQUNUSVZFIFBvc2l0aW9uICovCisjZGVmaW5lIFNDQl9BSVJDUl9WRUNUQ0xSQUNUSVZFX01zayAgICAgICAgKDFVTCA8PCBTQ0JfQUlSQ1JfVkVDVENMUkFDVElWRV9Qb3MpICAgICAgICAgICAvKiE8IFNDQiBBSVJDUjogVkVDVENMUkFDVElWRSBNYXNrICovCisKKyNkZWZpbmUgU0NCX0FJUkNSX1ZFQ1RSRVNFVF9Qb3MgICAgICAgICAgICAgMCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgU0NCIEFJUkNSOiBWRUNUUkVTRVQgUG9zaXRpb24gKi8KKyNkZWZpbmUgU0NCX0FJUkNSX1ZFQ1RSRVNFVF9Nc2sgICAgICAgICAgICAoMVVMIDw8IFNDQl9BSVJDUl9WRUNUUkVTRVRfUG9zKSAgICAgICAgICAgICAgIC8qITwgU0NCIEFJUkNSOiBWRUNUUkVTRVQgTWFzayAqLworCisvKiBTQ0IgU3lzdGVtIENvbnRyb2wgUmVnaXN0ZXIgRGVmaW5pdGlvbnMgKi8KKyNkZWZpbmUgU0NCX1NDUl9TRVZPTlBFTkRfUG9zICAgICAgICAgICAgICAgNCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgU0NCIFNDUjogU0VWT05QRU5EIFBvc2l0aW9uICovCisjZGVmaW5lIFNDQl9TQ1JfU0VWT05QRU5EX01zayAgICAgICAgICAgICAgKDFVTCA8PCBTQ0JfU0NSX1NFVk9OUEVORF9Qb3MpICAgICAgICAgICAgICAgICAvKiE8IFNDQiBTQ1I6IFNFVk9OUEVORCBNYXNrICovCisKKyNkZWZpbmUgU0NCX1NDUl9TTEVFUERFRVBfUG9zICAgICAgICAgICAgICAgMiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgU0NCIFNDUjogU0xFRVBERUVQIFBvc2l0aW9uICovCisjZGVmaW5lIFNDQl9TQ1JfU0xFRVBERUVQX01zayAgICAgICAgICAgICAgKDFVTCA8PCBTQ0JfU0NSX1NMRUVQREVFUF9Qb3MpICAgICAgICAgICAgICAgICAvKiE8IFNDQiBTQ1I6IFNMRUVQREVFUCBNYXNrICovCisKKyNkZWZpbmUgU0NCX1NDUl9TTEVFUE9ORVhJVF9Qb3MgICAgICAgICAgICAgMSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgU0NCIFNDUjogU0xFRVBPTkVYSVQgUG9zaXRpb24gKi8KKyNkZWZpbmUgU0NCX1NDUl9TTEVFUE9ORVhJVF9Nc2sgICAgICAgICAgICAoMVVMIDw8IFNDQl9TQ1JfU0xFRVBPTkVYSVRfUG9zKSAgICAgICAgICAgICAgIC8qITwgU0NCIFNDUjogU0xFRVBPTkVYSVQgTWFzayAqLworCisvKiBTQ0IgQ29uZmlndXJhdGlvbiBDb250cm9sIFJlZ2lzdGVyIERlZmluaXRpb25zICovCisjZGVmaW5lIFNDQl9DQ1JfU1RLQUxJR05fUG9zICAgICAgICAgICAgICAgIDkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IFNDQiBDQ1I6IFNUS0FMSUdOIFBvc2l0aW9uICovCisjZGVmaW5lIFNDQl9DQ1JfU1RLQUxJR05fTXNrICAgICAgICAgICAgICAgKDFVTCA8PCBTQ0JfQ0NSX1NUS0FMSUdOX1BvcykgICAgICAgICAgICAgICAgICAvKiE8IFNDQiBDQ1I6IFNUS0FMSUdOIE1hc2sgKi8KKworI2RlZmluZSBTQ0JfQ0NSX0JGSEZOTUlHTl9Qb3MgICAgICAgICAgICAgICA4ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBTQ0IgQ0NSOiBCRkhGTk1JR04gUG9zaXRpb24gKi8KKyNkZWZpbmUgU0NCX0NDUl9CRkhGTk1JR05fTXNrICAgICAgICAgICAgICAoMVVMIDw8IFNDQl9DQ1JfQkZIRk5NSUdOX1BvcykgICAgICAgICAgICAgICAgIC8qITwgU0NCIENDUjogQkZIRk5NSUdOIE1hc2sgKi8KKworI2RlZmluZSBTQ0JfQ0NSX0RJVl8wX1RSUF9Qb3MgICAgICAgICAgICAgICA0ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBTQ0IgQ0NSOiBESVZfMF9UUlAgUG9zaXRpb24gKi8KKyNkZWZpbmUgU0NCX0NDUl9ESVZfMF9UUlBfTXNrICAgICAgICAgICAgICAoMVVMIDw8IFNDQl9DQ1JfRElWXzBfVFJQX1BvcykgICAgICAgICAgICAgICAgIC8qITwgU0NCIENDUjogRElWXzBfVFJQIE1hc2sgKi8KKworI2RlZmluZSBTQ0JfQ0NSX1VOQUxJR05fVFJQX1BvcyAgICAgICAgICAgICAzICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBTQ0IgQ0NSOiBVTkFMSUdOX1RSUCBQb3NpdGlvbiAqLworI2RlZmluZSBTQ0JfQ0NSX1VOQUxJR05fVFJQX01zayAgICAgICAgICAgICgxVUwgPDwgU0NCX0NDUl9VTkFMSUdOX1RSUF9Qb3MpICAgICAgICAgICAgICAgLyohPCBTQ0IgQ0NSOiBVTkFMSUdOX1RSUCBNYXNrICovCisKKyNkZWZpbmUgU0NCX0NDUl9VU0VSU0VUTVBFTkRfUG9zICAgICAgICAgICAgMSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgU0NCIENDUjogVVNFUlNFVE1QRU5EIFBvc2l0aW9uICovCisjZGVmaW5lIFNDQl9DQ1JfVVNFUlNFVE1QRU5EX01zayAgICAgICAgICAgKDFVTCA8PCBTQ0JfQ0NSX1VTRVJTRVRNUEVORF9Qb3MpICAgICAgICAgICAgICAvKiE8IFNDQiBDQ1I6IFVTRVJTRVRNUEVORCBNYXNrICovCisKKyNkZWZpbmUgU0NCX0NDUl9OT05CQVNFVEhSREVOQV9Qb3MgICAgICAgICAgMCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgU0NCIENDUjogTk9OQkFTRVRIUkRFTkEgUG9zaXRpb24gKi8KKyNkZWZpbmUgU0NCX0NDUl9OT05CQVNFVEhSREVOQV9Nc2sgICAgICAgICAoMVVMIDw8IFNDQl9DQ1JfTk9OQkFTRVRIUkRFTkFfUG9zKSAgICAgICAgICAgIC8qITwgU0NCIENDUjogTk9OQkFTRVRIUkRFTkEgTWFzayAqLworCisvKiBTQ0IgU3lzdGVtIEhhbmRsZXIgQ29udHJvbCBhbmQgU3RhdGUgUmVnaXN0ZXIgRGVmaW5pdGlvbnMgKi8KKyNkZWZpbmUgU0NCX1NIQ1NSX1VTR0ZBVUxURU5BX1BvcyAgICAgICAgICAxOCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgU0NCIFNIQ1NSOiBVU0dGQVVMVEVOQSBQb3NpdGlvbiAqLworI2RlZmluZSBTQ0JfU0hDU1JfVVNHRkFVTFRFTkFfTXNrICAgICAgICAgICgxVUwgPDwgU0NCX1NIQ1NSX1VTR0ZBVUxURU5BX1BvcykgICAgICAgICAgICAgLyohPCBTQ0IgU0hDU1I6IFVTR0ZBVUxURU5BIE1hc2sgKi8KKworI2RlZmluZSBTQ0JfU0hDU1JfQlVTRkFVTFRFTkFfUG9zICAgICAgICAgIDE3ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBTQ0IgU0hDU1I6IEJVU0ZBVUxURU5BIFBvc2l0aW9uICovCisjZGVmaW5lIFNDQl9TSENTUl9CVVNGQVVMVEVOQV9Nc2sgICAgICAgICAgKDFVTCA8PCBTQ0JfU0hDU1JfQlVTRkFVTFRFTkFfUG9zKSAgICAgICAgICAgICAvKiE8IFNDQiBTSENTUjogQlVTRkFVTFRFTkEgTWFzayAqLworCisjZGVmaW5lIFNDQl9TSENTUl9NRU1GQVVMVEVOQV9Qb3MgICAgICAgICAgMTYgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IFNDQiBTSENTUjogTUVNRkFVTFRFTkEgUG9zaXRpb24gKi8KKyNkZWZpbmUgU0NCX1NIQ1NSX01FTUZBVUxURU5BX01zayAgICAgICAgICAoMVVMIDw8IFNDQl9TSENTUl9NRU1GQVVMVEVOQV9Qb3MpICAgICAgICAgICAgIC8qITwgU0NCIFNIQ1NSOiBNRU1GQVVMVEVOQSBNYXNrICovCisKKyNkZWZpbmUgU0NCX1NIQ1NSX1NWQ0FMTFBFTkRFRF9Qb3MgICAgICAgICAxNSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgU0NCIFNIQ1NSOiBTVkNBTExQRU5ERUQgUG9zaXRpb24gKi8KKyNkZWZpbmUgU0NCX1NIQ1NSX1NWQ0FMTFBFTkRFRF9Nc2sgICAgICAgICAoMVVMIDw8IFNDQl9TSENTUl9TVkNBTExQRU5ERURfUG9zKSAgICAgICAgICAgIC8qITwgU0NCIFNIQ1NSOiBTVkNBTExQRU5ERUQgTWFzayAqLworCisjZGVmaW5lIFNDQl9TSENTUl9CVVNGQVVMVFBFTkRFRF9Qb3MgICAgICAgMTQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IFNDQiBTSENTUjogQlVTRkFVTFRQRU5ERUQgUG9zaXRpb24gKi8KKyNkZWZpbmUgU0NCX1NIQ1NSX0JVU0ZBVUxUUEVOREVEX01zayAgICAgICAoMVVMIDw8IFNDQl9TSENTUl9CVVNGQVVMVFBFTkRFRF9Qb3MpICAgICAgICAgIC8qITwgU0NCIFNIQ1NSOiBCVVNGQVVMVFBFTkRFRCBNYXNrICovCisKKyNkZWZpbmUgU0NCX1NIQ1NSX01FTUZBVUxUUEVOREVEX1BvcyAgICAgICAxMyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgU0NCIFNIQ1NSOiBNRU1GQVVMVFBFTkRFRCBQb3NpdGlvbiAqLworI2RlZmluZSBTQ0JfU0hDU1JfTUVNRkFVTFRQRU5ERURfTXNrICAgICAgICgxVUwgPDwgU0NCX1NIQ1NSX01FTUZBVUxUUEVOREVEX1BvcykgICAgICAgICAgLyohPCBTQ0IgU0hDU1I6IE1FTUZBVUxUUEVOREVEIE1hc2sgKi8KKworI2RlZmluZSBTQ0JfU0hDU1JfVVNHRkFVTFRQRU5ERURfUG9zICAgICAgIDEyICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBTQ0IgU0hDU1I6IFVTR0ZBVUxUUEVOREVEIFBvc2l0aW9uICovCisjZGVmaW5lIFNDQl9TSENTUl9VU0dGQVVMVFBFTkRFRF9Nc2sgICAgICAgKDFVTCA8PCBTQ0JfU0hDU1JfVVNHRkFVTFRQRU5ERURfUG9zKSAgICAgICAgICAvKiE8IFNDQiBTSENTUjogVVNHRkFVTFRQRU5ERUQgTWFzayAqLworCisjZGVmaW5lIFNDQl9TSENTUl9TWVNUSUNLQUNUX1BvcyAgICAgICAgICAgMTEgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IFNDQiBTSENTUjogU1lTVElDS0FDVCBQb3NpdGlvbiAqLworI2RlZmluZSBTQ0JfU0hDU1JfU1lTVElDS0FDVF9Nc2sgICAgICAgICAgICgxVUwgPDwgU0NCX1NIQ1NSX1NZU1RJQ0tBQ1RfUG9zKSAgICAgICAgICAgICAgLyohPCBTQ0IgU0hDU1I6IFNZU1RJQ0tBQ1QgTWFzayAqLworCisjZGVmaW5lIFNDQl9TSENTUl9QRU5EU1ZBQ1RfUG9zICAgICAgICAgICAgMTAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IFNDQiBTSENTUjogUEVORFNWQUNUIFBvc2l0aW9uICovCisjZGVmaW5lIFNDQl9TSENTUl9QRU5EU1ZBQ1RfTXNrICAgICAgICAgICAgKDFVTCA8PCBTQ0JfU0hDU1JfUEVORFNWQUNUX1BvcykgICAgICAgICAgICAgICAvKiE8IFNDQiBTSENTUjogUEVORFNWQUNUIE1hc2sgKi8KKworI2RlZmluZSBTQ0JfU0hDU1JfTU9OSVRPUkFDVF9Qb3MgICAgICAgICAgICA4ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBTQ0IgU0hDU1I6IE1PTklUT1JBQ1QgUG9zaXRpb24gKi8KKyNkZWZpbmUgU0NCX1NIQ1NSX01PTklUT1JBQ1RfTXNrICAgICAgICAgICAoMVVMIDw8IFNDQl9TSENTUl9NT05JVE9SQUNUX1BvcykgICAgICAgICAgICAgIC8qITwgU0NCIFNIQ1NSOiBNT05JVE9SQUNUIE1hc2sgKi8KKworI2RlZmluZSBTQ0JfU0hDU1JfU1ZDQUxMQUNUX1BvcyAgICAgICAgICAgICA3ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBTQ0IgU0hDU1I6IFNWQ0FMTEFDVCBQb3NpdGlvbiAqLworI2RlZmluZSBTQ0JfU0hDU1JfU1ZDQUxMQUNUX01zayAgICAgICAgICAgICgxVUwgPDwgU0NCX1NIQ1NSX1NWQ0FMTEFDVF9Qb3MpICAgICAgICAgICAgICAgLyohPCBTQ0IgU0hDU1I6IFNWQ0FMTEFDVCBNYXNrICovCisKKyNkZWZpbmUgU0NCX1NIQ1NSX1VTR0ZBVUxUQUNUX1BvcyAgICAgICAgICAgMyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgU0NCIFNIQ1NSOiBVU0dGQVVMVEFDVCBQb3NpdGlvbiAqLworI2RlZmluZSBTQ0JfU0hDU1JfVVNHRkFVTFRBQ1RfTXNrICAgICAgICAgICgxVUwgPDwgU0NCX1NIQ1NSX1VTR0ZBVUxUQUNUX1BvcykgICAgICAgICAgICAgLyohPCBTQ0IgU0hDU1I6IFVTR0ZBVUxUQUNUIE1hc2sgKi8KKworI2RlZmluZSBTQ0JfU0hDU1JfQlVTRkFVTFRBQ1RfUG9zICAgICAgICAgICAxICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBTQ0IgU0hDU1I6IEJVU0ZBVUxUQUNUIFBvc2l0aW9uICovCisjZGVmaW5lIFNDQl9TSENTUl9CVVNGQVVMVEFDVF9Nc2sgICAgICAgICAgKDFVTCA8PCBTQ0JfU0hDU1JfQlVTRkFVTFRBQ1RfUG9zKSAgICAgICAgICAgICAvKiE8IFNDQiBTSENTUjogQlVTRkFVTFRBQ1QgTWFzayAqLworCisjZGVmaW5lIFNDQl9TSENTUl9NRU1GQVVMVEFDVF9Qb3MgICAgICAgICAgIDAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IFNDQiBTSENTUjogTUVNRkFVTFRBQ1QgUG9zaXRpb24gKi8KKyNkZWZpbmUgU0NCX1NIQ1NSX01FTUZBVUxUQUNUX01zayAgICAgICAgICAoMVVMIDw8IFNDQl9TSENTUl9NRU1GQVVMVEFDVF9Qb3MpICAgICAgICAgICAgIC8qITwgU0NCIFNIQ1NSOiBNRU1GQVVMVEFDVCBNYXNrICovCisKKy8qIFNDQiBDb25maWd1cmFibGUgRmF1bHQgU3RhdHVzIFJlZ2lzdGVycyBEZWZpbml0aW9ucyAqLworI2RlZmluZSBTQ0JfQ0ZTUl9VU0dGQVVMVFNSX1BvcyAgICAgICAgICAgIDE2ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBTQ0IgQ0ZTUjogVXNhZ2UgRmF1bHQgU3RhdHVzIFJlZ2lzdGVyIFBvc2l0aW9uICovCisjZGVmaW5lIFNDQl9DRlNSX1VTR0ZBVUxUU1JfTXNrICAgICAgICAgICAgKDB4RkZGRlVMIDw8IFNDQl9DRlNSX1VTR0ZBVUxUU1JfUG9zKSAgICAgICAgICAvKiE8IFNDQiBDRlNSOiBVc2FnZSBGYXVsdCBTdGF0dXMgUmVnaXN0ZXIgTWFzayAqLworCisjZGVmaW5lIFNDQl9DRlNSX0JVU0ZBVUxUU1JfUG9zICAgICAgICAgICAgIDggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IFNDQiBDRlNSOiBCdXMgRmF1bHQgU3RhdHVzIFJlZ2lzdGVyIFBvc2l0aW9uICovCisjZGVmaW5lIFNDQl9DRlNSX0JVU0ZBVUxUU1JfTXNrICAgICAgICAgICAgKDB4RkZVTCA8PCBTQ0JfQ0ZTUl9CVVNGQVVMVFNSX1BvcykgICAgICAgICAgICAvKiE8IFNDQiBDRlNSOiBCdXMgRmF1bHQgU3RhdHVzIFJlZ2lzdGVyIE1hc2sgKi8KKworI2RlZmluZSBTQ0JfQ0ZTUl9NRU1GQVVMVFNSX1BvcyAgICAgICAgICAgICAwICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBTQ0IgQ0ZTUjogTWVtb3J5IE1hbmFnZSBGYXVsdCBTdGF0dXMgUmVnaXN0ZXIgUG9zaXRpb24gKi8KKyNkZWZpbmUgU0NCX0NGU1JfTUVNRkFVTFRTUl9Nc2sgICAgICAgICAgICAoMHhGRlVMIDw8IFNDQl9DRlNSX01FTUZBVUxUU1JfUG9zKSAgICAgICAgICAgIC8qITwgU0NCIENGU1I6IE1lbW9yeSBNYW5hZ2UgRmF1bHQgU3RhdHVzIFJlZ2lzdGVyIE1hc2sgKi8KKworLyogU0NCIEhhcmQgRmF1bHQgU3RhdHVzIFJlZ2lzdGVycyBEZWZpbml0aW9ucyAqLworI2RlZmluZSBTQ0JfSEZTUl9ERUJVR0VWVF9Qb3MgICAgICAgICAgICAgIDMxICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBTQ0IgSEZTUjogREVCVUdFVlQgUG9zaXRpb24gKi8KKyNkZWZpbmUgU0NCX0hGU1JfREVCVUdFVlRfTXNrICAgICAgICAgICAgICAoMVVMIDw8IFNDQl9IRlNSX0RFQlVHRVZUX1BvcykgICAgICAgICAgICAgICAgIC8qITwgU0NCIEhGU1I6IERFQlVHRVZUIE1hc2sgKi8KKworI2RlZmluZSBTQ0JfSEZTUl9GT1JDRURfUG9zICAgICAgICAgICAgICAgIDMwICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBTQ0IgSEZTUjogRk9SQ0VEIFBvc2l0aW9uICovCisjZGVmaW5lIFNDQl9IRlNSX0ZPUkNFRF9Nc2sgICAgICAgICAgICAgICAgKDFVTCA8PCBTQ0JfSEZTUl9GT1JDRURfUG9zKSAgICAgICAgICAgICAgICAgICAvKiE8IFNDQiBIRlNSOiBGT1JDRUQgTWFzayAqLworCisjZGVmaW5lIFNDQl9IRlNSX1ZFQ1RUQkxfUG9zICAgICAgICAgICAgICAgIDEgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IFNDQiBIRlNSOiBWRUNUVEJMIFBvc2l0aW9uICovCisjZGVmaW5lIFNDQl9IRlNSX1ZFQ1RUQkxfTXNrICAgICAgICAgICAgICAgKDFVTCA8PCBTQ0JfSEZTUl9WRUNUVEJMX1BvcykgICAgICAgICAgICAgICAgICAvKiE8IFNDQiBIRlNSOiBWRUNUVEJMIE1hc2sgKi8KKworLyogU0NCIERlYnVnIEZhdWx0IFN0YXR1cyBSZWdpc3RlciBEZWZpbml0aW9ucyAqLworI2RlZmluZSBTQ0JfREZTUl9FWFRFUk5BTF9Qb3MgICAgICAgICAgICAgICA0ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBTQ0IgREZTUjogRVhURVJOQUwgUG9zaXRpb24gKi8KKyNkZWZpbmUgU0NCX0RGU1JfRVhURVJOQUxfTXNrICAgICAgICAgICAgICAoMVVMIDw8IFNDQl9ERlNSX0VYVEVSTkFMX1BvcykgICAgICAgICAgICAgICAgIC8qITwgU0NCIERGU1I6IEVYVEVSTkFMIE1hc2sgKi8KKworI2RlZmluZSBTQ0JfREZTUl9WQ0FUQ0hfUG9zICAgICAgICAgICAgICAgICAzICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBTQ0IgREZTUjogVkNBVENIIFBvc2l0aW9uICovCisjZGVmaW5lIFNDQl9ERlNSX1ZDQVRDSF9Nc2sgICAgICAgICAgICAgICAgKDFVTCA8PCBTQ0JfREZTUl9WQ0FUQ0hfUG9zKSAgICAgICAgICAgICAgICAgICAvKiE8IFNDQiBERlNSOiBWQ0FUQ0ggTWFzayAqLworCisjZGVmaW5lIFNDQl9ERlNSX0RXVFRSQVBfUG9zICAgICAgICAgICAgICAgIDIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IFNDQiBERlNSOiBEV1RUUkFQIFBvc2l0aW9uICovCisjZGVmaW5lIFNDQl9ERlNSX0RXVFRSQVBfTXNrICAgICAgICAgICAgICAgKDFVTCA8PCBTQ0JfREZTUl9EV1RUUkFQX1BvcykgICAgICAgICAgICAgICAgICAvKiE8IFNDQiBERlNSOiBEV1RUUkFQIE1hc2sgKi8KKworI2RlZmluZSBTQ0JfREZTUl9CS1BUX1BvcyAgICAgICAgICAgICAgICAgICAxICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBTQ0IgREZTUjogQktQVCBQb3NpdGlvbiAqLworI2RlZmluZSBTQ0JfREZTUl9CS1BUX01zayAgICAgICAgICAgICAgICAgICgxVUwgPDwgU0NCX0RGU1JfQktQVF9Qb3MpICAgICAgICAgICAgICAgICAgICAgLyohPCBTQ0IgREZTUjogQktQVCBNYXNrICovCisKKyNkZWZpbmUgU0NCX0RGU1JfSEFMVEVEX1BvcyAgICAgICAgICAgICAgICAgMCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgU0NCIERGU1I6IEhBTFRFRCBQb3NpdGlvbiAqLworI2RlZmluZSBTQ0JfREZTUl9IQUxURURfTXNrICAgICAgICAgICAgICAgICgxVUwgPDwgU0NCX0RGU1JfSEFMVEVEX1BvcykgICAgICAgICAgICAgICAgICAgLyohPCBTQ0IgREZTUjogSEFMVEVEIE1hc2sgKi8KKworLypAfSBlbmQgb2YgZ3JvdXAgQ01TSVNfU0NCICovCisKKworLyoqIFxpbmdyb3VwICBDTVNJU19jb3JlX3JlZ2lzdGVyCisgICAgXGRlZmdyb3VwIENNU0lTX1NDblNDQiBTeXN0ZW0gQ29udHJvbHMgbm90IGluIFNDQiAoU0NuU0NCKQorICAgIFxicmllZiAgICAgIFR5cGUgZGVmaW5pdGlvbnMgZm9yIHRoZSBTeXN0ZW0gQ29udHJvbCBhbmQgSUQgUmVnaXN0ZXIgbm90IGluIHRoZSBTQ0IKKyAgQHsKKyAqLworCisvKiogXGJyaWVmICBTdHJ1Y3R1cmUgdHlwZSB0byBhY2Nlc3MgdGhlIFN5c3RlbSBDb250cm9sIGFuZCBJRCBSZWdpc3RlciBub3QgaW4gdGhlIFNDQi4KKyAqLwordHlwZWRlZiBzdHJ1Y3QKK3sKKyAgICAgICB1aW50MzJfdCBSRVNFUlZFRDBbMV07CisgIF9fSSAgdWludDMyX3QgSUNUUjsgICAgICAgICAgICAgICAgICAgIC8qITwgT2Zmc2V0OiAweDAwNCAoUi8gKSAgSW50ZXJydXB0IENvbnRyb2xsZXIgVHlwZSBSZWdpc3RlciAgICAgICovCisjaWYgKChkZWZpbmVkIF9fQ00zX1JFVikgJiYgKF9fQ00zX1JFViA+PSAweDIwMCkpCisgIF9fSU8gdWludDMyX3QgQUNUTFI7ICAgICAgICAgICAgICAgICAgIC8qITwgT2Zmc2V0OiAweDAwOCAoUi9XKSAgQXV4aWxpYXJ5IENvbnRyb2wgUmVnaXN0ZXIgICAgICAqLworI2Vsc2UKKyAgICAgICB1aW50MzJfdCBSRVNFUlZFRDFbMV07CisjZW5kaWYKK30gU0NuU0NCX1R5cGU7CisKKy8qIEludGVycnVwdCBDb250cm9sbGVyIFR5cGUgUmVnaXN0ZXIgRGVmaW5pdGlvbnMgKi8KKyNkZWZpbmUgU0NuU0NCX0lDVFJfSU5UTElORVNOVU1fUG9zICAgICAgICAgMCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgSUNUUjogSU5UTElORVNOVU0gUG9zaXRpb24gKi8KKyNkZWZpbmUgU0NuU0NCX0lDVFJfSU5UTElORVNOVU1fTXNrICAgICAgICAoMHhGVUwgPDwgU0NuU0NCX0lDVFJfSU5UTElORVNOVU1fUG9zKSAgICAgIC8qITwgSUNUUjogSU5UTElORVNOVU0gTWFzayAqLworCisvKiBBdXhpbGlhcnkgQ29udHJvbCBSZWdpc3RlciBEZWZpbml0aW9ucyAqLworCisjZGVmaW5lIFNDblNDQl9BQ1RMUl9ESVNGT0xEX1BvcyAgICAgICAgICAgIDIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IEFDVExSOiBESVNGT0xEIFBvc2l0aW9uICovCisjZGVmaW5lIFNDblNDQl9BQ1RMUl9ESVNGT0xEX01zayAgICAgICAgICAgKDFVTCA8PCBTQ25TQ0JfQUNUTFJfRElTRk9MRF9Qb3MpICAgICAgICAgICAvKiE8IEFDVExSOiBESVNGT0xEIE1hc2sgKi8KKworI2RlZmluZSBTQ25TQ0JfQUNUTFJfRElTREVGV0JVRl9Qb3MgICAgICAgICAxICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBBQ1RMUjogRElTREVGV0JVRiBQb3NpdGlvbiAqLworI2RlZmluZSBTQ25TQ0JfQUNUTFJfRElTREVGV0JVRl9Nc2sgICAgICAgICgxVUwgPDwgU0NuU0NCX0FDVExSX0RJU0RFRldCVUZfUG9zKSAgICAgICAgLyohPCBBQ1RMUjogRElTREVGV0JVRiBNYXNrICovCisKKyNkZWZpbmUgU0NuU0NCX0FDVExSX0RJU01DWUNJTlRfUG9zICAgICAgICAgMCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgQUNUTFI6IERJU01DWUNJTlQgUG9zaXRpb24gKi8KKyNkZWZpbmUgU0NuU0NCX0FDVExSX0RJU01DWUNJTlRfTXNrICAgICAgICAoMVVMIDw8IFNDblNDQl9BQ1RMUl9ESVNNQ1lDSU5UX1BvcykgICAgICAgIC8qITwgQUNUTFI6IERJU01DWUNJTlQgTWFzayAqLworCisvKkB9IGVuZCBvZiBncm91cCBDTVNJU19TQ25vdFNDQiAqLworCisKKy8qKiBcaW5ncm91cCAgQ01TSVNfY29yZV9yZWdpc3RlcgorICAgIFxkZWZncm91cCBDTVNJU19TeXNUaWNrICAgICBTeXN0ZW0gVGljayBUaW1lciAoU3lzVGljaykKKyAgICBcYnJpZWYgICAgICBUeXBlIGRlZmluaXRpb25zIGZvciB0aGUgU3lzdGVtIFRpbWVyIFJlZ2lzdGVycy4KKyAgQHsKKyAqLworCisvKiogXGJyaWVmICBTdHJ1Y3R1cmUgdHlwZSB0byBhY2Nlc3MgdGhlIFN5c3RlbSBUaW1lciAoU3lzVGljaykuCisgKi8KK3R5cGVkZWYgc3RydWN0Cit7CisgIF9fSU8gdWludDMyX3QgQ1RSTDsgICAgICAgICAgICAgICAgICAgIC8qITwgT2Zmc2V0OiAweDAwMCAoUi9XKSAgU3lzVGljayBDb250cm9sIGFuZCBTdGF0dXMgUmVnaXN0ZXIgKi8KKyAgX19JTyB1aW50MzJfdCBMT0FEOyAgICAgICAgICAgICAgICAgICAgLyohPCBPZmZzZXQ6IDB4MDA0IChSL1cpICBTeXNUaWNrIFJlbG9hZCBWYWx1ZSBSZWdpc3RlciAgICAgICAqLworICBfX0lPIHVpbnQzMl90IFZBTDsgICAgICAgICAgICAgICAgICAgICAvKiE8IE9mZnNldDogMHgwMDggKFIvVykgIFN5c1RpY2sgQ3VycmVudCBWYWx1ZSBSZWdpc3RlciAgICAgICovCisgIF9fSSAgdWludDMyX3QgQ0FMSUI7ICAgICAgICAgICAgICAgICAgIC8qITwgT2Zmc2V0OiAweDAwQyAoUi8gKSAgU3lzVGljayBDYWxpYnJhdGlvbiBSZWdpc3RlciAgICAgICAgKi8KK30gU3lzVGlja19UeXBlOworCisvKiBTeXNUaWNrIENvbnRyb2wgLyBTdGF0dXMgUmVnaXN0ZXIgRGVmaW5pdGlvbnMgKi8KKyNkZWZpbmUgU3lzVGlja19DVFJMX0NPVU5URkxBR19Qb3MgICAgICAgICAxNiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgU3lzVGljayBDVFJMOiBDT1VOVEZMQUcgUG9zaXRpb24gKi8KKyNkZWZpbmUgU3lzVGlja19DVFJMX0NPVU5URkxBR19Nc2sgICAgICAgICAoMVVMIDw8IFN5c1RpY2tfQ1RSTF9DT1VOVEZMQUdfUG9zKSAgICAgICAgICAgIC8qITwgU3lzVGljayBDVFJMOiBDT1VOVEZMQUcgTWFzayAqLworCisjZGVmaW5lIFN5c1RpY2tfQ1RSTF9DTEtTT1VSQ0VfUG9zICAgICAgICAgIDIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IFN5c1RpY2sgQ1RSTDogQ0xLU09VUkNFIFBvc2l0aW9uICovCisjZGVmaW5lIFN5c1RpY2tfQ1RSTF9DTEtTT1VSQ0VfTXNrICAgICAgICAgKDFVTCA8PCBTeXNUaWNrX0NUUkxfQ0xLU09VUkNFX1BvcykgICAgICAgICAgICAvKiE8IFN5c1RpY2sgQ1RSTDogQ0xLU09VUkNFIE1hc2sgKi8KKworI2RlZmluZSBTeXNUaWNrX0NUUkxfVElDS0lOVF9Qb3MgICAgICAgICAgICAxICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBTeXNUaWNrIENUUkw6IFRJQ0tJTlQgUG9zaXRpb24gKi8KKyNkZWZpbmUgU3lzVGlja19DVFJMX1RJQ0tJTlRfTXNrICAgICAgICAgICAoMVVMIDw8IFN5c1RpY2tfQ1RSTF9USUNLSU5UX1BvcykgICAgICAgICAgICAgIC8qITwgU3lzVGljayBDVFJMOiBUSUNLSU5UIE1hc2sgKi8KKworI2RlZmluZSBTeXNUaWNrX0NUUkxfRU5BQkxFX1BvcyAgICAgICAgICAgICAwICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBTeXNUaWNrIENUUkw6IEVOQUJMRSBQb3NpdGlvbiAqLworI2RlZmluZSBTeXNUaWNrX0NUUkxfRU5BQkxFX01zayAgICAgICAgICAgICgxVUwgPDwgU3lzVGlja19DVFJMX0VOQUJMRV9Qb3MpICAgICAgICAgICAgICAgLyohPCBTeXNUaWNrIENUUkw6IEVOQUJMRSBNYXNrICovCisKKy8qIFN5c1RpY2sgUmVsb2FkIFJlZ2lzdGVyIERlZmluaXRpb25zICovCisjZGVmaW5lIFN5c1RpY2tfTE9BRF9SRUxPQURfUG9zICAgICAgICAgICAgIDAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IFN5c1RpY2sgTE9BRDogUkVMT0FEIFBvc2l0aW9uICovCisjZGVmaW5lIFN5c1RpY2tfTE9BRF9SRUxPQURfTXNrICAgICAgICAgICAgKDB4RkZGRkZGVUwgPDwgU3lzVGlja19MT0FEX1JFTE9BRF9Qb3MpICAgICAgICAvKiE8IFN5c1RpY2sgTE9BRDogUkVMT0FEIE1hc2sgKi8KKworLyogU3lzVGljayBDdXJyZW50IFJlZ2lzdGVyIERlZmluaXRpb25zICovCisjZGVmaW5lIFN5c1RpY2tfVkFMX0NVUlJFTlRfUG9zICAgICAgICAgICAgIDAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IFN5c1RpY2sgVkFMOiBDVVJSRU5UIFBvc2l0aW9uICovCisjZGVmaW5lIFN5c1RpY2tfVkFMX0NVUlJFTlRfTXNrICAgICAgICAgICAgKDB4RkZGRkZGVUwgPDwgU3lzVGlja19WQUxfQ1VSUkVOVF9Qb3MpICAgICAgICAvKiE8IFN5c1RpY2sgVkFMOiBDVVJSRU5UIE1hc2sgKi8KKworLyogU3lzVGljayBDYWxpYnJhdGlvbiBSZWdpc3RlciBEZWZpbml0aW9ucyAqLworI2RlZmluZSBTeXNUaWNrX0NBTElCX05PUkVGX1BvcyAgICAgICAgICAgIDMxICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBTeXNUaWNrIENBTElCOiBOT1JFRiBQb3NpdGlvbiAqLworI2RlZmluZSBTeXNUaWNrX0NBTElCX05PUkVGX01zayAgICAgICAgICAgICgxVUwgPDwgU3lzVGlja19DQUxJQl9OT1JFRl9Qb3MpICAgICAgICAgICAgICAgLyohPCBTeXNUaWNrIENBTElCOiBOT1JFRiBNYXNrICovCisKKyNkZWZpbmUgU3lzVGlja19DQUxJQl9TS0VXX1BvcyAgICAgICAgICAgICAzMCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgU3lzVGljayBDQUxJQjogU0tFVyBQb3NpdGlvbiAqLworI2RlZmluZSBTeXNUaWNrX0NBTElCX1NLRVdfTXNrICAgICAgICAgICAgICgxVUwgPDwgU3lzVGlja19DQUxJQl9TS0VXX1BvcykgICAgICAgICAgICAgICAgLyohPCBTeXNUaWNrIENBTElCOiBTS0VXIE1hc2sgKi8KKworI2RlZmluZSBTeXNUaWNrX0NBTElCX1RFTk1TX1BvcyAgICAgICAgICAgICAwICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBTeXNUaWNrIENBTElCOiBURU5NUyBQb3NpdGlvbiAqLworI2RlZmluZSBTeXNUaWNrX0NBTElCX1RFTk1TX01zayAgICAgICAgICAgICgweEZGRkZGRlVMIDw8IFN5c1RpY2tfVkFMX0NVUlJFTlRfUG9zKSAgICAgICAgLyohPCBTeXNUaWNrIENBTElCOiBURU5NUyBNYXNrICovCisKKy8qQH0gZW5kIG9mIGdyb3VwIENNU0lTX1N5c1RpY2sgKi8KKworCisvKiogXGluZ3JvdXAgIENNU0lTX2NvcmVfcmVnaXN0ZXIKKyAgICBcZGVmZ3JvdXAgQ01TSVNfSVRNICAgICBJbnN0cnVtZW50YXRpb24gVHJhY2UgTWFjcm9jZWxsIChJVE0pCisgICAgXGJyaWVmICAgICAgVHlwZSBkZWZpbml0aW9ucyBmb3IgdGhlIEluc3RydW1lbnRhdGlvbiBUcmFjZSBNYWNyb2NlbGwgKElUTSkKKyAgQHsKKyAqLworCisvKiogXGJyaWVmICBTdHJ1Y3R1cmUgdHlwZSB0byBhY2Nlc3MgdGhlIEluc3RydW1lbnRhdGlvbiBUcmFjZSBNYWNyb2NlbGwgUmVnaXN0ZXIgKElUTSkuCisgKi8KK3R5cGVkZWYgc3RydWN0Cit7CisgIF9fTyAgdW5pb24KKyAgeworICAgIF9fTyAgdWludDhfdCAgICB1ODsgICAgICAgICAgICAgICAgICAvKiE8IE9mZnNldDogMHgwMDAgKCAvVykgIElUTSBTdGltdWx1cyBQb3J0IDgtYml0ICAgICAgICAgICAgICAgICAgICovCisgICAgX19PICB1aW50MTZfdCAgIHUxNjsgICAgICAgICAgICAgICAgIC8qITwgT2Zmc2V0OiAweDAwMCAoIC9XKSAgSVRNIFN0aW11bHVzIFBvcnQgMTYtYml0ICAgICAgICAgICAgICAgICAgKi8KKyAgICBfX08gIHVpbnQzMl90ICAgdTMyOyAgICAgICAgICAgICAgICAgLyohPCBPZmZzZXQ6IDB4MDAwICggL1cpICBJVE0gU3RpbXVsdXMgUG9ydCAzMi1iaXQgICAgICAgICAgICAgICAgICAqLworICB9ICBQT1JUIFszMl07ICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IE9mZnNldDogMHgwMDAgKCAvVykgIElUTSBTdGltdWx1cyBQb3J0IFJlZ2lzdGVycyAgICAgICAgICAgICAgICovCisgICAgICAgdWludDMyX3QgUkVTRVJWRUQwWzg2NF07CisgIF9fSU8gdWludDMyX3QgVEVSOyAgICAgICAgICAgICAgICAgICAgIC8qITwgT2Zmc2V0OiAweEUwMCAoUi9XKSAgSVRNIFRyYWNlIEVuYWJsZSBSZWdpc3RlciAgICAgICAgICAgICAgICAgKi8KKyAgICAgICB1aW50MzJfdCBSRVNFUlZFRDFbMTVdOworICBfX0lPIHVpbnQzMl90IFRQUjsgICAgICAgICAgICAgICAgICAgICAvKiE8IE9mZnNldDogMHhFNDAgKFIvVykgIElUTSBUcmFjZSBQcml2aWxlZ2UgUmVnaXN0ZXIgICAgICAgICAgICAgICovCisgICAgICAgdWludDMyX3QgUkVTRVJWRUQyWzE1XTsKKyAgX19JTyB1aW50MzJfdCBUQ1I7ICAgICAgICAgICAgICAgICAgICAgLyohPCBPZmZzZXQ6IDB4RTgwIChSL1cpICBJVE0gVHJhY2UgQ29udHJvbCBSZWdpc3RlciAgICAgICAgICAgICAgICAqLworICAgICAgIHVpbnQzMl90IFJFU0VSVkVEM1syOV07CisgIF9fTyAgdWludDMyX3QgSVdSOyAgICAgICAgICAgICAgICAgICAgIC8qITwgT2Zmc2V0OiAweEVGOCAoIC9XKSAgSVRNIEludGVncmF0aW9uIFdyaXRlIFJlZ2lzdGVyICAgICAgICAgICAgKi8KKyAgX19JICB1aW50MzJfdCBJUlI7ICAgICAgICAgICAgICAgICAgICAgLyohPCBPZmZzZXQ6IDB4RUZDIChSLyApICBJVE0gSW50ZWdyYXRpb24gUmVhZCBSZWdpc3RlciAgICAgICAgICAgICAqLworICBfX0lPIHVpbnQzMl90IElNQ1I7ICAgICAgICAgICAgICAgICAgICAvKiE8IE9mZnNldDogMHhGMDAgKFIvVykgIElUTSBJbnRlZ3JhdGlvbiBNb2RlIENvbnRyb2wgUmVnaXN0ZXIgICAgICovCisgICAgICAgdWludDMyX3QgUkVTRVJWRUQ0WzQzXTsKKyAgX19PICB1aW50MzJfdCBMQVI7ICAgICAgICAgICAgICAgICAgICAgLyohPCBPZmZzZXQ6IDB4RkIwICggL1cpICBJVE0gTG9jayBBY2Nlc3MgUmVnaXN0ZXIgICAgICAgICAgICAgICAgICAqLworICBfX0kgIHVpbnQzMl90IExTUjsgICAgICAgICAgICAgICAgICAgICAvKiE8IE9mZnNldDogMHhGQjQgKFIvICkgIElUTSBMb2NrIFN0YXR1cyBSZWdpc3RlciAgICAgICAgICAgICAgICAgICovCisgICAgICAgdWludDMyX3QgUkVTRVJWRUQ1WzZdOworICBfX0kgIHVpbnQzMl90IFBJRDQ7ICAgICAgICAgICAgICAgICAgICAvKiE8IE9mZnNldDogMHhGRDAgKFIvICkgIElUTSBQZXJpcGhlcmFsIElkZW50aWZpY2F0aW9uIFJlZ2lzdGVyICM0ICovCisgIF9fSSAgdWludDMyX3QgUElENTsgICAgICAgICAgICAgICAgICAgIC8qITwgT2Zmc2V0OiAweEZENCAoUi8gKSAgSVRNIFBlcmlwaGVyYWwgSWRlbnRpZmljYXRpb24gUmVnaXN0ZXIgIzUgKi8KKyAgX19JICB1aW50MzJfdCBQSUQ2OyAgICAgICAgICAgICAgICAgICAgLyohPCBPZmZzZXQ6IDB4RkQ4IChSLyApICBJVE0gUGVyaXBoZXJhbCBJZGVudGlmaWNhdGlvbiBSZWdpc3RlciAjNiAqLworICBfX0kgIHVpbnQzMl90IFBJRDc7ICAgICAgICAgICAgICAgICAgICAvKiE8IE9mZnNldDogMHhGREMgKFIvICkgIElUTSBQZXJpcGhlcmFsIElkZW50aWZpY2F0aW9uIFJlZ2lzdGVyICM3ICovCisgIF9fSSAgdWludDMyX3QgUElEMDsgICAgICAgICAgICAgICAgICAgIC8qITwgT2Zmc2V0OiAweEZFMCAoUi8gKSAgSVRNIFBlcmlwaGVyYWwgSWRlbnRpZmljYXRpb24gUmVnaXN0ZXIgIzAgKi8KKyAgX19JICB1aW50MzJfdCBQSUQxOyAgICAgICAgICAgICAgICAgICAgLyohPCBPZmZzZXQ6IDB4RkU0IChSLyApICBJVE0gUGVyaXBoZXJhbCBJZGVudGlmaWNhdGlvbiBSZWdpc3RlciAjMSAqLworICBfX0kgIHVpbnQzMl90IFBJRDI7ICAgICAgICAgICAgICAgICAgICAvKiE8IE9mZnNldDogMHhGRTggKFIvICkgIElUTSBQZXJpcGhlcmFsIElkZW50aWZpY2F0aW9uIFJlZ2lzdGVyICMyICovCisgIF9fSSAgdWludDMyX3QgUElEMzsgICAgICAgICAgICAgICAgICAgIC8qITwgT2Zmc2V0OiAweEZFQyAoUi8gKSAgSVRNIFBlcmlwaGVyYWwgSWRlbnRpZmljYXRpb24gUmVnaXN0ZXIgIzMgKi8KKyAgX19JICB1aW50MzJfdCBDSUQwOyAgICAgICAgICAgICAgICAgICAgLyohPCBPZmZzZXQ6IDB4RkYwIChSLyApICBJVE0gQ29tcG9uZW50ICBJZGVudGlmaWNhdGlvbiBSZWdpc3RlciAjMCAqLworICBfX0kgIHVpbnQzMl90IENJRDE7ICAgICAgICAgICAgICAgICAgICAvKiE8IE9mZnNldDogMHhGRjQgKFIvICkgIElUTSBDb21wb25lbnQgIElkZW50aWZpY2F0aW9uIFJlZ2lzdGVyICMxICovCisgIF9fSSAgdWludDMyX3QgQ0lEMjsgICAgICAgICAgICAgICAgICAgIC8qITwgT2Zmc2V0OiAweEZGOCAoUi8gKSAgSVRNIENvbXBvbmVudCAgSWRlbnRpZmljYXRpb24gUmVnaXN0ZXIgIzIgKi8KKyAgX19JICB1aW50MzJfdCBDSUQzOyAgICAgICAgICAgICAgICAgICAgLyohPCBPZmZzZXQ6IDB4RkZDIChSLyApICBJVE0gQ29tcG9uZW50ICBJZGVudGlmaWNhdGlvbiBSZWdpc3RlciAjMyAqLworfSBJVE1fVHlwZTsKKworLyogSVRNIFRyYWNlIFByaXZpbGVnZSBSZWdpc3RlciBEZWZpbml0aW9ucyAqLworI2RlZmluZSBJVE1fVFBSX1BSSVZNQVNLX1BvcyAgICAgICAgICAgICAgICAwICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBJVE0gVFBSOiBQUklWTUFTSyBQb3NpdGlvbiAqLworI2RlZmluZSBJVE1fVFBSX1BSSVZNQVNLX01zayAgICAgICAgICAgICAgICgweEZVTCA8PCBJVE1fVFBSX1BSSVZNQVNLX1BvcykgICAgICAgICAgICAgICAgLyohPCBJVE0gVFBSOiBQUklWTUFTSyBNYXNrICovCisKKy8qIElUTSBUcmFjZSBDb250cm9sIFJlZ2lzdGVyIERlZmluaXRpb25zICovCisjZGVmaW5lIElUTV9UQ1JfQlVTWV9Qb3MgICAgICAgICAgICAgICAgICAgMjMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IElUTSBUQ1I6IEJVU1kgUG9zaXRpb24gKi8KKyNkZWZpbmUgSVRNX1RDUl9CVVNZX01zayAgICAgICAgICAgICAgICAgICAoMVVMIDw8IElUTV9UQ1JfQlVTWV9Qb3MpICAgICAgICAgICAgICAgICAgICAgIC8qITwgSVRNIFRDUjogQlVTWSBNYXNrICovCisKKyNkZWZpbmUgSVRNX1RDUl9UcmFjZUJ1c0lEX1BvcyAgICAgICAgICAgICAxNiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgSVRNIFRDUjogQVRCSUQgUG9zaXRpb24gKi8KKyNkZWZpbmUgSVRNX1RDUl9UcmFjZUJ1c0lEX01zayAgICAgICAgICAgICAoMHg3RlVMIDw8IElUTV9UQ1JfVHJhY2VCdXNJRF9Qb3MpICAgICAgICAgICAgIC8qITwgSVRNIFRDUjogQVRCSUQgTWFzayAqLworCisjZGVmaW5lIElUTV9UQ1JfR1RTRlJFUV9Qb3MgICAgICAgICAgICAgICAgMTAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IElUTSBUQ1I6IEdsb2JhbCB0aW1lc3RhbXAgZnJlcXVlbmN5IFBvc2l0aW9uICovCisjZGVmaW5lIElUTV9UQ1JfR1RTRlJFUV9Nc2sgICAgICAgICAgICAgICAgKDNVTCA8PCBJVE1fVENSX0dUU0ZSRVFfUG9zKSAgICAgICAgICAgICAgICAgICAvKiE8IElUTSBUQ1I6IEdsb2JhbCB0aW1lc3RhbXAgZnJlcXVlbmN5IE1hc2sgKi8KKworI2RlZmluZSBJVE1fVENSX1RTUHJlc2NhbGVfUG9zICAgICAgICAgICAgICA4ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBJVE0gVENSOiBUU1ByZXNjYWxlIFBvc2l0aW9uICovCisjZGVmaW5lIElUTV9UQ1JfVFNQcmVzY2FsZV9Nc2sgICAgICAgICAgICAgKDNVTCA8PCBJVE1fVENSX1RTUHJlc2NhbGVfUG9zKSAgICAgICAgICAgICAgICAvKiE8IElUTSBUQ1I6IFRTUHJlc2NhbGUgTWFzayAqLworCisjZGVmaW5lIElUTV9UQ1JfU1dPRU5BX1BvcyAgICAgICAgICAgICAgICAgIDQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IElUTSBUQ1I6IFNXT0VOQSBQb3NpdGlvbiAqLworI2RlZmluZSBJVE1fVENSX1NXT0VOQV9Nc2sgICAgICAgICAgICAgICAgICgxVUwgPDwgSVRNX1RDUl9TV09FTkFfUG9zKSAgICAgICAgICAgICAgICAgICAgLyohPCBJVE0gVENSOiBTV09FTkEgTWFzayAqLworCisjZGVmaW5lIElUTV9UQ1JfRFdURU5BX1BvcyAgICAgICAgICAgICAgICAgIDMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IElUTSBUQ1I6IERXVEVOQSBQb3NpdGlvbiAqLworI2RlZmluZSBJVE1fVENSX0RXVEVOQV9Nc2sgICAgICAgICAgICAgICAgICgxVUwgPDwgSVRNX1RDUl9EV1RFTkFfUG9zKSAgICAgICAgICAgICAgICAgICAgLyohPCBJVE0gVENSOiBEV1RFTkEgTWFzayAqLworCisjZGVmaW5lIElUTV9UQ1JfU1lOQ0VOQV9Qb3MgICAgICAgICAgICAgICAgIDIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IElUTSBUQ1I6IFNZTkNFTkEgUG9zaXRpb24gKi8KKyNkZWZpbmUgSVRNX1RDUl9TWU5DRU5BX01zayAgICAgICAgICAgICAgICAoMVVMIDw8IElUTV9UQ1JfU1lOQ0VOQV9Qb3MpICAgICAgICAgICAgICAgICAgIC8qITwgSVRNIFRDUjogU1lOQ0VOQSBNYXNrICovCisKKyNkZWZpbmUgSVRNX1RDUl9UU0VOQV9Qb3MgICAgICAgICAgICAgICAgICAgMSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgSVRNIFRDUjogVFNFTkEgUG9zaXRpb24gKi8KKyNkZWZpbmUgSVRNX1RDUl9UU0VOQV9Nc2sgICAgICAgICAgICAgICAgICAoMVVMIDw8IElUTV9UQ1JfVFNFTkFfUG9zKSAgICAgICAgICAgICAgICAgICAgIC8qITwgSVRNIFRDUjogVFNFTkEgTWFzayAqLworCisjZGVmaW5lIElUTV9UQ1JfSVRNRU5BX1BvcyAgICAgICAgICAgICAgICAgIDAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IElUTSBUQ1I6IElUTSBFbmFibGUgYml0IFBvc2l0aW9uICovCisjZGVmaW5lIElUTV9UQ1JfSVRNRU5BX01zayAgICAgICAgICAgICAgICAgKDFVTCA8PCBJVE1fVENSX0lUTUVOQV9Qb3MpICAgICAgICAgICAgICAgICAgICAvKiE8IElUTSBUQ1I6IElUTSBFbmFibGUgYml0IE1hc2sgKi8KKworLyogSVRNIEludGVncmF0aW9uIFdyaXRlIFJlZ2lzdGVyIERlZmluaXRpb25zICovCisjZGVmaW5lIElUTV9JV1JfQVRWQUxJRE1fUG9zICAgICAgICAgICAgICAgIDAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IElUTSBJV1I6IEFUVkFMSURNIFBvc2l0aW9uICovCisjZGVmaW5lIElUTV9JV1JfQVRWQUxJRE1fTXNrICAgICAgICAgICAgICAgKDFVTCA8PCBJVE1fSVdSX0FUVkFMSURNX1BvcykgICAgICAgICAgICAgICAgICAvKiE8IElUTSBJV1I6IEFUVkFMSURNIE1hc2sgKi8KKworLyogSVRNIEludGVncmF0aW9uIFJlYWQgUmVnaXN0ZXIgRGVmaW5pdGlvbnMgKi8KKyNkZWZpbmUgSVRNX0lSUl9BVFJFQURZTV9Qb3MgICAgICAgICAgICAgICAgMCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgSVRNIElSUjogQVRSRUFEWU0gUG9zaXRpb24gKi8KKyNkZWZpbmUgSVRNX0lSUl9BVFJFQURZTV9Nc2sgICAgICAgICAgICAgICAoMVVMIDw8IElUTV9JUlJfQVRSRUFEWU1fUG9zKSAgICAgICAgICAgICAgICAgIC8qITwgSVRNIElSUjogQVRSRUFEWU0gTWFzayAqLworCisvKiBJVE0gSW50ZWdyYXRpb24gTW9kZSBDb250cm9sIFJlZ2lzdGVyIERlZmluaXRpb25zICovCisjZGVmaW5lIElUTV9JTUNSX0lOVEVHUkFUSU9OX1BvcyAgICAgICAgICAgIDAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IElUTSBJTUNSOiBJTlRFR1JBVElPTiBQb3NpdGlvbiAqLworI2RlZmluZSBJVE1fSU1DUl9JTlRFR1JBVElPTl9Nc2sgICAgICAgICAgICgxVUwgPDwgSVRNX0lNQ1JfSU5URUdSQVRJT05fUG9zKSAgICAgICAgICAgICAgLyohPCBJVE0gSU1DUjogSU5URUdSQVRJT04gTWFzayAqLworCisvKiBJVE0gTG9jayBTdGF0dXMgUmVnaXN0ZXIgRGVmaW5pdGlvbnMgKi8KKyNkZWZpbmUgSVRNX0xTUl9CeXRlQWNjX1BvcyAgICAgICAgICAgICAgICAgMiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgSVRNIExTUjogQnl0ZUFjYyBQb3NpdGlvbiAqLworI2RlZmluZSBJVE1fTFNSX0J5dGVBY2NfTXNrICAgICAgICAgICAgICAgICgxVUwgPDwgSVRNX0xTUl9CeXRlQWNjX1BvcykgICAgICAgICAgICAgICAgICAgLyohPCBJVE0gTFNSOiBCeXRlQWNjIE1hc2sgKi8KKworI2RlZmluZSBJVE1fTFNSX0FjY2Vzc19Qb3MgICAgICAgICAgICAgICAgICAxICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBJVE0gTFNSOiBBY2Nlc3MgUG9zaXRpb24gKi8KKyNkZWZpbmUgSVRNX0xTUl9BY2Nlc3NfTXNrICAgICAgICAgICAgICAgICAoMVVMIDw8IElUTV9MU1JfQWNjZXNzX1BvcykgICAgICAgICAgICAgICAgICAgIC8qITwgSVRNIExTUjogQWNjZXNzIE1hc2sgKi8KKworI2RlZmluZSBJVE1fTFNSX1ByZXNlbnRfUG9zICAgICAgICAgICAgICAgICAwICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBJVE0gTFNSOiBQcmVzZW50IFBvc2l0aW9uICovCisjZGVmaW5lIElUTV9MU1JfUHJlc2VudF9Nc2sgICAgICAgICAgICAgICAgKDFVTCA8PCBJVE1fTFNSX1ByZXNlbnRfUG9zKSAgICAgICAgICAgICAgICAgICAvKiE8IElUTSBMU1I6IFByZXNlbnQgTWFzayAqLworCisvKkB9Ki8gLyogZW5kIG9mIGdyb3VwIENNU0lTX0lUTSAqLworCisKKy8qKiBcaW5ncm91cCAgQ01TSVNfY29yZV9yZWdpc3RlcgorICAgIFxkZWZncm91cCBDTVNJU19EV1QgICAgIERhdGEgV2F0Y2hwb2ludCBhbmQgVHJhY2UgKERXVCkKKyAgICBcYnJpZWYgICAgICBUeXBlIGRlZmluaXRpb25zIGZvciB0aGUgRGF0YSBXYXRjaHBvaW50IGFuZCBUcmFjZSAoRFdUKQorICBAeworICovCisKKy8qKiBcYnJpZWYgIFN0cnVjdHVyZSB0eXBlIHRvIGFjY2VzcyB0aGUgRGF0YSBXYXRjaHBvaW50IGFuZCBUcmFjZSBSZWdpc3RlciAoRFdUKS4KKyAqLwordHlwZWRlZiBzdHJ1Y3QKK3sKKyAgX19JTyB1aW50MzJfdCBDVFJMOyAgICAgICAgICAgICAgICAgICAgLyohPCBPZmZzZXQ6IDB4MDAwIChSL1cpICBDb250cm9sIFJlZ2lzdGVyICAgICAgICAgICAgICAgICAgICAgICAgICAqLworICBfX0lPIHVpbnQzMl90IENZQ0NOVDsgICAgICAgICAgICAgICAgICAvKiE8IE9mZnNldDogMHgwMDQgKFIvVykgIEN5Y2xlIENvdW50IFJlZ2lzdGVyICAgICAgICAgICAgICAgICAgICAgICovCisgIF9fSU8gdWludDMyX3QgQ1BJQ05UOyAgICAgICAgICAgICAgICAgIC8qITwgT2Zmc2V0OiAweDAwOCAoUi9XKSAgQ1BJIENvdW50IFJlZ2lzdGVyICAgICAgICAgICAgICAgICAgICAgICAgKi8KKyAgX19JTyB1aW50MzJfdCBFWENDTlQ7ICAgICAgICAgICAgICAgICAgLyohPCBPZmZzZXQ6IDB4MDBDIChSL1cpICBFeGNlcHRpb24gT3ZlcmhlYWQgQ291bnQgUmVnaXN0ZXIgICAgICAgICAqLworICBfX0lPIHVpbnQzMl90IFNMRUVQQ05UOyAgICAgICAgICAgICAgICAvKiE8IE9mZnNldDogMHgwMTAgKFIvVykgIFNsZWVwIENvdW50IFJlZ2lzdGVyICAgICAgICAgICAgICAgICAgICAgICovCisgIF9fSU8gdWludDMyX3QgTFNVQ05UOyAgICAgICAgICAgICAgICAgIC8qITwgT2Zmc2V0OiAweDAxNCAoUi9XKSAgTFNVIENvdW50IFJlZ2lzdGVyICAgICAgICAgICAgICAgICAgICAgICAgKi8KKyAgX19JTyB1aW50MzJfdCBGT0xEQ05UOyAgICAgICAgICAgICAgICAgLyohPCBPZmZzZXQ6IDB4MDE4IChSL1cpICBGb2xkZWQtaW5zdHJ1Y3Rpb24gQ291bnQgUmVnaXN0ZXIgICAgICAgICAqLworICBfX0kgIHVpbnQzMl90IFBDU1I7ICAgICAgICAgICAgICAgICAgICAvKiE8IE9mZnNldDogMHgwMUMgKFIvICkgIFByb2dyYW0gQ291bnRlciBTYW1wbGUgUmVnaXN0ZXIgICAgICAgICAgICovCisgIF9fSU8gdWludDMyX3QgQ09NUDA7ICAgICAgICAgICAgICAgICAgIC8qITwgT2Zmc2V0OiAweDAyMCAoUi9XKSAgQ29tcGFyYXRvciBSZWdpc3RlciAwICAgICAgICAgICAgICAgICAgICAgKi8KKyAgX19JTyB1aW50MzJfdCBNQVNLMDsgICAgICAgICAgICAgICAgICAgLyohPCBPZmZzZXQ6IDB4MDI0IChSL1cpICBNYXNrIFJlZ2lzdGVyIDAgICAgICAgICAgICAgICAgICAgICAgICAgICAqLworICBfX0lPIHVpbnQzMl90IEZVTkNUSU9OMDsgICAgICAgICAgICAgICAvKiE8IE9mZnNldDogMHgwMjggKFIvVykgIEZ1bmN0aW9uIFJlZ2lzdGVyIDAgICAgICAgICAgICAgICAgICAgICAgICovCisgICAgICAgdWludDMyX3QgUkVTRVJWRUQwWzFdOworICBfX0lPIHVpbnQzMl90IENPTVAxOyAgICAgICAgICAgICAgICAgICAvKiE8IE9mZnNldDogMHgwMzAgKFIvVykgIENvbXBhcmF0b3IgUmVnaXN0ZXIgMSAgICAgICAgICAgICAgICAgICAgICovCisgIF9fSU8gdWludDMyX3QgTUFTSzE7ICAgICAgICAgICAgICAgICAgIC8qITwgT2Zmc2V0OiAweDAzNCAoUi9XKSAgTWFzayBSZWdpc3RlciAxICAgICAgICAgICAgICAgICAgICAgICAgICAgKi8KKyAgX19JTyB1aW50MzJfdCBGVU5DVElPTjE7ICAgICAgICAgICAgICAgLyohPCBPZmZzZXQ6IDB4MDM4IChSL1cpICBGdW5jdGlvbiBSZWdpc3RlciAxICAgICAgICAgICAgICAgICAgICAgICAqLworICAgICAgIHVpbnQzMl90IFJFU0VSVkVEMVsxXTsKKyAgX19JTyB1aW50MzJfdCBDT01QMjsgICAgICAgICAgICAgICAgICAgLyohPCBPZmZzZXQ6IDB4MDQwIChSL1cpICBDb21wYXJhdG9yIFJlZ2lzdGVyIDIgICAgICAgICAgICAgICAgICAgICAqLworICBfX0lPIHVpbnQzMl90IE1BU0syOyAgICAgICAgICAgICAgICAgICAvKiE8IE9mZnNldDogMHgwNDQgKFIvVykgIE1hc2sgUmVnaXN0ZXIgMiAgICAgICAgICAgICAgICAgICAgICAgICAgICovCisgIF9fSU8gdWludDMyX3QgRlVOQ1RJT04yOyAgICAgICAgICAgICAgIC8qITwgT2Zmc2V0OiAweDA0OCAoUi9XKSAgRnVuY3Rpb24gUmVnaXN0ZXIgMiAgICAgICAgICAgICAgICAgICAgICAgKi8KKyAgICAgICB1aW50MzJfdCBSRVNFUlZFRDJbMV07CisgIF9fSU8gdWludDMyX3QgQ09NUDM7ICAgICAgICAgICAgICAgICAgIC8qITwgT2Zmc2V0OiAweDA1MCAoUi9XKSAgQ29tcGFyYXRvciBSZWdpc3RlciAzICAgICAgICAgICAgICAgICAgICAgKi8KKyAgX19JTyB1aW50MzJfdCBNQVNLMzsgICAgICAgICAgICAgICAgICAgLyohPCBPZmZzZXQ6IDB4MDU0IChSL1cpICBNYXNrIFJlZ2lzdGVyIDMgICAgICAgICAgICAgICAgICAgICAgICAgICAqLworICBfX0lPIHVpbnQzMl90IEZVTkNUSU9OMzsgICAgICAgICAgICAgICAvKiE8IE9mZnNldDogMHgwNTggKFIvVykgIEZ1bmN0aW9uIFJlZ2lzdGVyIDMgICAgICAgICAgICAgICAgICAgICAgICovCit9IERXVF9UeXBlOworCisvKiBEV1QgQ29udHJvbCBSZWdpc3RlciBEZWZpbml0aW9ucyAqLworI2RlZmluZSBEV1RfQ1RSTF9OVU1DT01QX1BvcyAgICAgICAgICAgICAgIDI4ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBEV1QgQ1RSTDogTlVNQ09NUCBQb3NpdGlvbiAqLworI2RlZmluZSBEV1RfQ1RSTF9OVU1DT01QX01zayAgICAgICAgICAgICAgICgweEZVTCA8PCBEV1RfQ1RSTF9OVU1DT01QX1BvcykgICAgICAgICAgICAgLyohPCBEV1QgQ1RSTDogTlVNQ09NUCBNYXNrICovCisKKyNkZWZpbmUgRFdUX0NUUkxfTk9UUkNQS1RfUG9zICAgICAgICAgICAgICAyNyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgRFdUIENUUkw6IE5PVFJDUEtUIFBvc2l0aW9uICovCisjZGVmaW5lIERXVF9DVFJMX05PVFJDUEtUX01zayAgICAgICAgICAgICAgKDB4MVVMIDw8IERXVF9DVFJMX05PVFJDUEtUX1BvcykgICAgICAgICAgICAvKiE8IERXVCBDVFJMOiBOT1RSQ1BLVCBNYXNrICovCisKKyNkZWZpbmUgRFdUX0NUUkxfTk9FWFRUUklHX1BvcyAgICAgICAgICAgICAyNiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgRFdUIENUUkw6IE5PRVhUVFJJRyBQb3NpdGlvbiAqLworI2RlZmluZSBEV1RfQ1RSTF9OT0VYVFRSSUdfTXNrICAgICAgICAgICAgICgweDFVTCA8PCBEV1RfQ1RSTF9OT0VYVFRSSUdfUG9zKSAgICAgICAgICAgLyohPCBEV1QgQ1RSTDogTk9FWFRUUklHIE1hc2sgKi8KKworI2RlZmluZSBEV1RfQ1RSTF9OT0NZQ0NOVF9Qb3MgICAgICAgICAgICAgIDI1ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBEV1QgQ1RSTDogTk9DWUNDTlQgUG9zaXRpb24gKi8KKyNkZWZpbmUgRFdUX0NUUkxfTk9DWUNDTlRfTXNrICAgICAgICAgICAgICAoMHgxVUwgPDwgRFdUX0NUUkxfTk9DWUNDTlRfUG9zKSAgICAgICAgICAgIC8qITwgRFdUIENUUkw6IE5PQ1lDQ05UIE1hc2sgKi8KKworI2RlZmluZSBEV1RfQ1RSTF9OT1BSRkNOVF9Qb3MgICAgICAgICAgICAgIDI0ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBEV1QgQ1RSTDogTk9QUkZDTlQgUG9zaXRpb24gKi8KKyNkZWZpbmUgRFdUX0NUUkxfTk9QUkZDTlRfTXNrICAgICAgICAgICAgICAoMHgxVUwgPDwgRFdUX0NUUkxfTk9QUkZDTlRfUG9zKSAgICAgICAgICAgIC8qITwgRFdUIENUUkw6IE5PUFJGQ05UIE1hc2sgKi8KKworI2RlZmluZSBEV1RfQ1RSTF9DWUNFVlRFTkFfUG9zICAgICAgICAgICAgIDIyICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBEV1QgQ1RSTDogQ1lDRVZURU5BIFBvc2l0aW9uICovCisjZGVmaW5lIERXVF9DVFJMX0NZQ0VWVEVOQV9Nc2sgICAgICAgICAgICAgKDB4MVVMIDw8IERXVF9DVFJMX0NZQ0VWVEVOQV9Qb3MpICAgICAgICAgICAvKiE8IERXVCBDVFJMOiBDWUNFVlRFTkEgTWFzayAqLworCisjZGVmaW5lIERXVF9DVFJMX0ZPTERFVlRFTkFfUG9zICAgICAgICAgICAgMjEgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IERXVCBDVFJMOiBGT0xERVZURU5BIFBvc2l0aW9uICovCisjZGVmaW5lIERXVF9DVFJMX0ZPTERFVlRFTkFfTXNrICAgICAgICAgICAgKDB4MVVMIDw8IERXVF9DVFJMX0ZPTERFVlRFTkFfUG9zKSAgICAgICAgICAvKiE8IERXVCBDVFJMOiBGT0xERVZURU5BIE1hc2sgKi8KKworI2RlZmluZSBEV1RfQ1RSTF9MU1VFVlRFTkFfUG9zICAgICAgICAgICAgIDIwICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBEV1QgQ1RSTDogTFNVRVZURU5BIFBvc2l0aW9uICovCisjZGVmaW5lIERXVF9DVFJMX0xTVUVWVEVOQV9Nc2sgICAgICAgICAgICAgKDB4MVVMIDw8IERXVF9DVFJMX0xTVUVWVEVOQV9Qb3MpICAgICAgICAgICAvKiE8IERXVCBDVFJMOiBMU1VFVlRFTkEgTWFzayAqLworCisjZGVmaW5lIERXVF9DVFJMX1NMRUVQRVZURU5BX1BvcyAgICAgICAgICAgMTkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IERXVCBDVFJMOiBTTEVFUEVWVEVOQSBQb3NpdGlvbiAqLworI2RlZmluZSBEV1RfQ1RSTF9TTEVFUEVWVEVOQV9Nc2sgICAgICAgICAgICgweDFVTCA8PCBEV1RfQ1RSTF9TTEVFUEVWVEVOQV9Qb3MpICAgICAgICAgLyohPCBEV1QgQ1RSTDogU0xFRVBFVlRFTkEgTWFzayAqLworCisjZGVmaW5lIERXVF9DVFJMX0VYQ0VWVEVOQV9Qb3MgICAgICAgICAgICAgMTggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IERXVCBDVFJMOiBFWENFVlRFTkEgUG9zaXRpb24gKi8KKyNkZWZpbmUgRFdUX0NUUkxfRVhDRVZURU5BX01zayAgICAgICAgICAgICAoMHgxVUwgPDwgRFdUX0NUUkxfRVhDRVZURU5BX1BvcykgICAgICAgICAgIC8qITwgRFdUIENUUkw6IEVYQ0VWVEVOQSBNYXNrICovCisKKyNkZWZpbmUgRFdUX0NUUkxfQ1BJRVZURU5BX1BvcyAgICAgICAgICAgICAxNyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgRFdUIENUUkw6IENQSUVWVEVOQSBQb3NpdGlvbiAqLworI2RlZmluZSBEV1RfQ1RSTF9DUElFVlRFTkFfTXNrICAgICAgICAgICAgICgweDFVTCA8PCBEV1RfQ1RSTF9DUElFVlRFTkFfUG9zKSAgICAgICAgICAgLyohPCBEV1QgQ1RSTDogQ1BJRVZURU5BIE1hc2sgKi8KKworI2RlZmluZSBEV1RfQ1RSTF9FWENUUkNFTkFfUG9zICAgICAgICAgICAgIDE2ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBEV1QgQ1RSTDogRVhDVFJDRU5BIFBvc2l0aW9uICovCisjZGVmaW5lIERXVF9DVFJMX0VYQ1RSQ0VOQV9Nc2sgICAgICAgICAgICAgKDB4MVVMIDw8IERXVF9DVFJMX0VYQ1RSQ0VOQV9Qb3MpICAgICAgICAgICAvKiE8IERXVCBDVFJMOiBFWENUUkNFTkEgTWFzayAqLworCisjZGVmaW5lIERXVF9DVFJMX1BDU0FNUExFTkFfUG9zICAgICAgICAgICAgMTIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IERXVCBDVFJMOiBQQ1NBTVBMRU5BIFBvc2l0aW9uICovCisjZGVmaW5lIERXVF9DVFJMX1BDU0FNUExFTkFfTXNrICAgICAgICAgICAgKDB4MVVMIDw8IERXVF9DVFJMX1BDU0FNUExFTkFfUG9zKSAgICAgICAgICAvKiE8IERXVCBDVFJMOiBQQ1NBTVBMRU5BIE1hc2sgKi8KKworI2RlZmluZSBEV1RfQ1RSTF9TWU5DVEFQX1BvcyAgICAgICAgICAgICAgIDEwICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBEV1QgQ1RSTDogU1lOQ1RBUCBQb3NpdGlvbiAqLworI2RlZmluZSBEV1RfQ1RSTF9TWU5DVEFQX01zayAgICAgICAgICAgICAgICgweDNVTCA8PCBEV1RfQ1RSTF9TWU5DVEFQX1BvcykgICAgICAgICAgICAgLyohPCBEV1QgQ1RSTDogU1lOQ1RBUCBNYXNrICovCisKKyNkZWZpbmUgRFdUX0NUUkxfQ1lDVEFQX1BvcyAgICAgICAgICAgICAgICAgOSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgRFdUIENUUkw6IENZQ1RBUCBQb3NpdGlvbiAqLworI2RlZmluZSBEV1RfQ1RSTF9DWUNUQVBfTXNrICAgICAgICAgICAgICAgICgweDFVTCA8PCBEV1RfQ1RSTF9DWUNUQVBfUG9zKSAgICAgICAgICAgICAgLyohPCBEV1QgQ1RSTDogQ1lDVEFQIE1hc2sgKi8KKworI2RlZmluZSBEV1RfQ1RSTF9QT1NUSU5JVF9Qb3MgICAgICAgICAgICAgICA1ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBEV1QgQ1RSTDogUE9TVElOSVQgUG9zaXRpb24gKi8KKyNkZWZpbmUgRFdUX0NUUkxfUE9TVElOSVRfTXNrICAgICAgICAgICAgICAoMHhGVUwgPDwgRFdUX0NUUkxfUE9TVElOSVRfUG9zKSAgICAgICAgICAgIC8qITwgRFdUIENUUkw6IFBPU1RJTklUIE1hc2sgKi8KKworI2RlZmluZSBEV1RfQ1RSTF9QT1NUUFJFU0VUX1BvcyAgICAgICAgICAgICAxICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBEV1QgQ1RSTDogUE9TVFBSRVNFVCBQb3NpdGlvbiAqLworI2RlZmluZSBEV1RfQ1RSTF9QT1NUUFJFU0VUX01zayAgICAgICAgICAgICgweEZVTCA8PCBEV1RfQ1RSTF9QT1NUUFJFU0VUX1BvcykgICAgICAgICAgLyohPCBEV1QgQ1RSTDogUE9TVFBSRVNFVCBNYXNrICovCisKKyNkZWZpbmUgRFdUX0NUUkxfQ1lDQ05URU5BX1BvcyAgICAgICAgICAgICAgMCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgRFdUIENUUkw6IENZQ0NOVEVOQSBQb3NpdGlvbiAqLworI2RlZmluZSBEV1RfQ1RSTF9DWUNDTlRFTkFfTXNrICAgICAgICAgICAgICgweDFVTCA8PCBEV1RfQ1RSTF9DWUNDTlRFTkFfUG9zKSAgICAgICAgICAgLyohPCBEV1QgQ1RSTDogQ1lDQ05URU5BIE1hc2sgKi8KKworLyogRFdUIENQSSBDb3VudCBSZWdpc3RlciBEZWZpbml0aW9ucyAqLworI2RlZmluZSBEV1RfQ1BJQ05UX0NQSUNOVF9Qb3MgICAgICAgICAgICAgICAwICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBEV1QgQ1BJQ05UOiBDUElDTlQgUG9zaXRpb24gKi8KKyNkZWZpbmUgRFdUX0NQSUNOVF9DUElDTlRfTXNrICAgICAgICAgICAgICAoMHhGRlVMIDw8IERXVF9DUElDTlRfQ1BJQ05UX1BvcykgICAgICAgICAgIC8qITwgRFdUIENQSUNOVDogQ1BJQ05UIE1hc2sgKi8KKworLyogRFdUIEV4Y2VwdGlvbiBPdmVyaGVhZCBDb3VudCBSZWdpc3RlciBEZWZpbml0aW9ucyAqLworI2RlZmluZSBEV1RfRVhDQ05UX0VYQ0NOVF9Qb3MgICAgICAgICAgICAgICAwICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBEV1QgRVhDQ05UOiBFWENDTlQgUG9zaXRpb24gKi8KKyNkZWZpbmUgRFdUX0VYQ0NOVF9FWENDTlRfTXNrICAgICAgICAgICAgICAoMHhGRlVMIDw8IERXVF9FWENDTlRfRVhDQ05UX1BvcykgICAgICAgICAgIC8qITwgRFdUIEVYQ0NOVDogRVhDQ05UIE1hc2sgKi8KKworLyogRFdUIFNsZWVwIENvdW50IFJlZ2lzdGVyIERlZmluaXRpb25zICovCisjZGVmaW5lIERXVF9TTEVFUENOVF9TTEVFUENOVF9Qb3MgICAgICAgICAgIDAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IERXVCBTTEVFUENOVDogU0xFRVBDTlQgUG9zaXRpb24gKi8KKyNkZWZpbmUgRFdUX1NMRUVQQ05UX1NMRUVQQ05UX01zayAgICAgICAgICAoMHhGRlVMIDw8IERXVF9TTEVFUENOVF9TTEVFUENOVF9Qb3MpICAgICAgIC8qITwgRFdUIFNMRUVQQ05UOiBTTEVFUENOVCBNYXNrICovCisKKy8qIERXVCBMU1UgQ291bnQgUmVnaXN0ZXIgRGVmaW5pdGlvbnMgKi8KKyNkZWZpbmUgRFdUX0xTVUNOVF9MU1VDTlRfUG9zICAgICAgICAgICAgICAgMCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgRFdUIExTVUNOVDogTFNVQ05UIFBvc2l0aW9uICovCisjZGVmaW5lIERXVF9MU1VDTlRfTFNVQ05UX01zayAgICAgICAgICAgICAgKDB4RkZVTCA8PCBEV1RfTFNVQ05UX0xTVUNOVF9Qb3MpICAgICAgICAgICAvKiE8IERXVCBMU1VDTlQ6IExTVUNOVCBNYXNrICovCisKKy8qIERXVCBGb2xkZWQtaW5zdHJ1Y3Rpb24gQ291bnQgUmVnaXN0ZXIgRGVmaW5pdGlvbnMgKi8KKyNkZWZpbmUgRFdUX0ZPTERDTlRfRk9MRENOVF9Qb3MgICAgICAgICAgICAgMCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgRFdUIEZPTERDTlQ6IEZPTERDTlQgUG9zaXRpb24gKi8KKyNkZWZpbmUgRFdUX0ZPTERDTlRfRk9MRENOVF9Nc2sgICAgICAgICAgICAoMHhGRlVMIDw8IERXVF9GT0xEQ05UX0ZPTERDTlRfUG9zKSAgICAgICAgIC8qITwgRFdUIEZPTERDTlQ6IEZPTERDTlQgTWFzayAqLworCisvKiBEV1QgQ29tcGFyYXRvciBNYXNrIFJlZ2lzdGVyIERlZmluaXRpb25zICovCisjZGVmaW5lIERXVF9NQVNLX01BU0tfUG9zICAgICAgICAgICAgICAgICAgIDAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IERXVCBNQVNLOiBNQVNLIFBvc2l0aW9uICovCisjZGVmaW5lIERXVF9NQVNLX01BU0tfTXNrICAgICAgICAgICAgICAgICAgKDB4MUZVTCA8PCBEV1RfTUFTS19NQVNLX1BvcykgICAgICAgICAgICAgICAvKiE8IERXVCBNQVNLOiBNQVNLIE1hc2sgKi8KKworLyogRFdUIENvbXBhcmF0b3IgRnVuY3Rpb24gUmVnaXN0ZXIgRGVmaW5pdGlvbnMgKi8KKyNkZWZpbmUgRFdUX0ZVTkNUSU9OX01BVENIRURfUG9zICAgICAgICAgICAyNCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgRFdUIEZVTkNUSU9OOiBNQVRDSEVEIFBvc2l0aW9uICovCisjZGVmaW5lIERXVF9GVU5DVElPTl9NQVRDSEVEX01zayAgICAgICAgICAgKDB4MVVMIDw8IERXVF9GVU5DVElPTl9NQVRDSEVEX1BvcykgICAgICAgICAvKiE8IERXVCBGVU5DVElPTjogTUFUQ0hFRCBNYXNrICovCisKKyNkZWZpbmUgRFdUX0ZVTkNUSU9OX0RBVEFWQUREUjFfUG9zICAgICAgICAxNiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgRFdUIEZVTkNUSU9OOiBEQVRBVkFERFIxIFBvc2l0aW9uICovCisjZGVmaW5lIERXVF9GVU5DVElPTl9EQVRBVkFERFIxX01zayAgICAgICAgKDB4RlVMIDw8IERXVF9GVU5DVElPTl9EQVRBVkFERFIxX1BvcykgICAgICAvKiE8IERXVCBGVU5DVElPTjogREFUQVZBRERSMSBNYXNrICovCisKKyNkZWZpbmUgRFdUX0ZVTkNUSU9OX0RBVEFWQUREUjBfUG9zICAgICAgICAxMiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgRFdUIEZVTkNUSU9OOiBEQVRBVkFERFIwIFBvc2l0aW9uICovCisjZGVmaW5lIERXVF9GVU5DVElPTl9EQVRBVkFERFIwX01zayAgICAgICAgKDB4RlVMIDw8IERXVF9GVU5DVElPTl9EQVRBVkFERFIwX1BvcykgICAgICAvKiE8IERXVCBGVU5DVElPTjogREFUQVZBRERSMCBNYXNrICovCisKKyNkZWZpbmUgRFdUX0ZVTkNUSU9OX0RBVEFWU0laRV9Qb3MgICAgICAgICAxMCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgRFdUIEZVTkNUSU9OOiBEQVRBVlNJWkUgUG9zaXRpb24gKi8KKyNkZWZpbmUgRFdUX0ZVTkNUSU9OX0RBVEFWU0laRV9Nc2sgICAgICAgICAoMHgzVUwgPDwgRFdUX0ZVTkNUSU9OX0RBVEFWU0laRV9Qb3MpICAgICAgIC8qITwgRFdUIEZVTkNUSU9OOiBEQVRBVlNJWkUgTWFzayAqLworCisjZGVmaW5lIERXVF9GVU5DVElPTl9MTksxRU5BX1BvcyAgICAgICAgICAgIDkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IERXVCBGVU5DVElPTjogTE5LMUVOQSBQb3NpdGlvbiAqLworI2RlZmluZSBEV1RfRlVOQ1RJT05fTE5LMUVOQV9Nc2sgICAgICAgICAgICgweDFVTCA8PCBEV1RfRlVOQ1RJT05fTE5LMUVOQV9Qb3MpICAgICAgICAgLyohPCBEV1QgRlVOQ1RJT046IExOSzFFTkEgTWFzayAqLworCisjZGVmaW5lIERXVF9GVU5DVElPTl9EQVRBVk1BVENIX1BvcyAgICAgICAgIDggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IERXVCBGVU5DVElPTjogREFUQVZNQVRDSCBQb3NpdGlvbiAqLworI2RlZmluZSBEV1RfRlVOQ1RJT05fREFUQVZNQVRDSF9Nc2sgICAgICAgICgweDFVTCA8PCBEV1RfRlVOQ1RJT05fREFUQVZNQVRDSF9Qb3MpICAgICAgLyohPCBEV1QgRlVOQ1RJT046IERBVEFWTUFUQ0ggTWFzayAqLworCisjZGVmaW5lIERXVF9GVU5DVElPTl9DWUNNQVRDSF9Qb3MgICAgICAgICAgIDcgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IERXVCBGVU5DVElPTjogQ1lDTUFUQ0ggUG9zaXRpb24gKi8KKyNkZWZpbmUgRFdUX0ZVTkNUSU9OX0NZQ01BVENIX01zayAgICAgICAgICAoMHgxVUwgPDwgRFdUX0ZVTkNUSU9OX0NZQ01BVENIX1BvcykgICAgICAgIC8qITwgRFdUIEZVTkNUSU9OOiBDWUNNQVRDSCBNYXNrICovCisKKyNkZWZpbmUgRFdUX0ZVTkNUSU9OX0VNSVRSQU5HRV9Qb3MgICAgICAgICAgNSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgRFdUIEZVTkNUSU9OOiBFTUlUUkFOR0UgUG9zaXRpb24gKi8KKyNkZWZpbmUgRFdUX0ZVTkNUSU9OX0VNSVRSQU5HRV9Nc2sgICAgICAgICAoMHgxVUwgPDwgRFdUX0ZVTkNUSU9OX0VNSVRSQU5HRV9Qb3MpICAgICAgIC8qITwgRFdUIEZVTkNUSU9OOiBFTUlUUkFOR0UgTWFzayAqLworCisjZGVmaW5lIERXVF9GVU5DVElPTl9GVU5DVElPTl9Qb3MgICAgICAgICAgIDAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IERXVCBGVU5DVElPTjogRlVOQ1RJT04gUG9zaXRpb24gKi8KKyNkZWZpbmUgRFdUX0ZVTkNUSU9OX0ZVTkNUSU9OX01zayAgICAgICAgICAoMHhGVUwgPDwgRFdUX0ZVTkNUSU9OX0ZVTkNUSU9OX1BvcykgICAgICAgIC8qITwgRFdUIEZVTkNUSU9OOiBGVU5DVElPTiBNYXNrICovCisKKy8qQH0qLyAvKiBlbmQgb2YgZ3JvdXAgQ01TSVNfRFdUICovCisKKworLyoqIFxpbmdyb3VwICBDTVNJU19jb3JlX3JlZ2lzdGVyCisgICAgXGRlZmdyb3VwIENNU0lTX1RQSSAgICAgVHJhY2UgUG9ydCBJbnRlcmZhY2UgKFRQSSkKKyAgICBcYnJpZWYgICAgICBUeXBlIGRlZmluaXRpb25zIGZvciB0aGUgVHJhY2UgUG9ydCBJbnRlcmZhY2UgKFRQSSkKKyAgQHsKKyAqLworCisvKiogXGJyaWVmICBTdHJ1Y3R1cmUgdHlwZSB0byBhY2Nlc3MgdGhlIFRyYWNlIFBvcnQgSW50ZXJmYWNlIFJlZ2lzdGVyIChUUEkpLgorICovCit0eXBlZGVmIHN0cnVjdAoreworICBfX0lPIHVpbnQzMl90IFNTUFNSOyAgICAgICAgICAgICAgICAgICAvKiE8IE9mZnNldDogMHgwMDAgKFIvICkgIFN1cHBvcnRlZCBQYXJhbGxlbCBQb3J0IFNpemUgUmVnaXN0ZXIgICAgICovCisgIF9fSU8gdWludDMyX3QgQ1NQU1I7ICAgICAgICAgICAgICAgICAgIC8qITwgT2Zmc2V0OiAweDAwNCAoUi9XKSAgQ3VycmVudCBQYXJhbGxlbCBQb3J0IFNpemUgUmVnaXN0ZXIgKi8KKyAgICAgICB1aW50MzJfdCBSRVNFUlZFRDBbMl07CisgIF9fSU8gdWludDMyX3QgQUNQUjsgICAgICAgICAgICAgICAgICAgIC8qITwgT2Zmc2V0OiAweDAxMCAoUi9XKSAgQXN5bmNocm9ub3VzIENsb2NrIFByZXNjYWxlciBSZWdpc3RlciAqLworICAgICAgIHVpbnQzMl90IFJFU0VSVkVEMVs1NV07CisgIF9fSU8gdWludDMyX3QgU1BQUjsgICAgICAgICAgICAgICAgICAgIC8qITwgT2Zmc2V0OiAweDBGMCAoUi9XKSAgU2VsZWN0ZWQgUGluIFByb3RvY29sIFJlZ2lzdGVyICovCisgICAgICAgdWludDMyX3QgUkVTRVJWRUQyWzEzMV07CisgIF9fSSAgdWludDMyX3QgRkZTUjsgICAgICAgICAgICAgICAgICAgIC8qITwgT2Zmc2V0OiAweDMwMCAoUi8gKSAgRm9ybWF0dGVyIGFuZCBGbHVzaCBTdGF0dXMgUmVnaXN0ZXIgKi8KKyAgX19JTyB1aW50MzJfdCBGRkNSOyAgICAgICAgICAgICAgICAgICAgLyohPCBPZmZzZXQ6IDB4MzA0IChSL1cpICBGb3JtYXR0ZXIgYW5kIEZsdXNoIENvbnRyb2wgUmVnaXN0ZXIgKi8KKyAgX19JICB1aW50MzJfdCBGU0NSOyAgICAgICAgICAgICAgICAgICAgLyohPCBPZmZzZXQ6IDB4MzA4IChSLyApICBGb3JtYXR0ZXIgU3luY2hyb25pemF0aW9uIENvdW50ZXIgUmVnaXN0ZXIgKi8KKyAgICAgICB1aW50MzJfdCBSRVNFUlZFRDNbNzU5XTsKKyAgX19JICB1aW50MzJfdCBUUklHR0VSOyAgICAgICAgICAgICAgICAgLyohPCBPZmZzZXQ6IDB4RUU4IChSLyApICBUUklHR0VSICovCisgIF9fSSAgdWludDMyX3QgRklGTzA7ICAgICAgICAgICAgICAgICAgIC8qITwgT2Zmc2V0OiAweEVFQyAoUi8gKSAgSW50ZWdyYXRpb24gRVRNIERhdGEgKi8KKyAgX19JICB1aW50MzJfdCBJVEFUQkNUUjI7ICAgICAgICAgICAgICAgLyohPCBPZmZzZXQ6IDB4RUYwIChSLyApICBJVEFUQkNUUjIgKi8KKyAgICAgICB1aW50MzJfdCBSRVNFUlZFRDRbMV07CisgIF9fSSAgdWludDMyX3QgSVRBVEJDVFIwOyAgICAgICAgICAgICAgIC8qITwgT2Zmc2V0OiAweEVGOCAoUi8gKSAgSVRBVEJDVFIwICovCisgIF9fSSAgdWludDMyX3QgRklGTzE7ICAgICAgICAgICAgICAgICAgIC8qITwgT2Zmc2V0OiAweEVGQyAoUi8gKSAgSW50ZWdyYXRpb24gSVRNIERhdGEgKi8KKyAgX19JTyB1aW50MzJfdCBJVENUUkw7ICAgICAgICAgICAgICAgICAgLyohPCBPZmZzZXQ6IDB4RjAwIChSL1cpICBJbnRlZ3JhdGlvbiBNb2RlIENvbnRyb2wgKi8KKyAgICAgICB1aW50MzJfdCBSRVNFUlZFRDVbMzldOworICBfX0lPIHVpbnQzMl90IENMQUlNU0VUOyAgICAgICAgICAgICAgICAvKiE8IE9mZnNldDogMHhGQTAgKFIvVykgIENsYWltIHRhZyBzZXQgKi8KKyAgX19JTyB1aW50MzJfdCBDTEFJTUNMUjsgICAgICAgICAgICAgICAgLyohPCBPZmZzZXQ6IDB4RkE0IChSL1cpICBDbGFpbSB0YWcgY2xlYXIgKi8KKyAgICAgICB1aW50MzJfdCBSRVNFUlZFRDdbOF07CisgIF9fSSAgdWludDMyX3QgREVWSUQ7ICAgICAgICAgICAgICAgICAgIC8qITwgT2Zmc2V0OiAweEZDOCAoUi8gKSAgVFBJVV9ERVZJRCAqLworICBfX0kgIHVpbnQzMl90IERFVlRZUEU7ICAgICAgICAgICAgICAgICAvKiE8IE9mZnNldDogMHhGQ0MgKFIvICkgIFRQSVVfREVWVFlQRSAqLworfSBUUElfVHlwZTsKKworLyogVFBJIEFzeW5jaHJvbm91cyBDbG9jayBQcmVzY2FsZXIgUmVnaXN0ZXIgRGVmaW5pdGlvbnMgKi8KKyNkZWZpbmUgVFBJX0FDUFJfUFJFU0NBTEVSX1BvcyAgICAgICAgICAgICAgMCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgVFBJIEFDUFI6IFBSRVNDQUxFUiBQb3NpdGlvbiAqLworI2RlZmluZSBUUElfQUNQUl9QUkVTQ0FMRVJfTXNrICAgICAgICAgICAgICgweDFGRkZVTCA8PCBUUElfQUNQUl9QUkVTQ0FMRVJfUG9zKSAgICAgICAgLyohPCBUUEkgQUNQUjogUFJFU0NBTEVSIE1hc2sgKi8KKworLyogVFBJIFNlbGVjdGVkIFBpbiBQcm90b2NvbCBSZWdpc3RlciBEZWZpbml0aW9ucyAqLworI2RlZmluZSBUUElfU1BQUl9UWE1PREVfUG9zICAgICAgICAgICAgICAgICAwICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBUUEkgU1BQUjogVFhNT0RFIFBvc2l0aW9uICovCisjZGVmaW5lIFRQSV9TUFBSX1RYTU9ERV9Nc2sgICAgICAgICAgICAgICAgKDB4M1VMIDw8IFRQSV9TUFBSX1RYTU9ERV9Qb3MpICAgICAgICAgICAgICAvKiE8IFRQSSBTUFBSOiBUWE1PREUgTWFzayAqLworCisvKiBUUEkgRm9ybWF0dGVyIGFuZCBGbHVzaCBTdGF0dXMgUmVnaXN0ZXIgRGVmaW5pdGlvbnMgKi8KKyNkZWZpbmUgVFBJX0ZGU1JfRnROb25TdG9wX1BvcyAgICAgICAgICAgICAgMyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgVFBJIEZGU1I6IEZ0Tm9uU3RvcCBQb3NpdGlvbiAqLworI2RlZmluZSBUUElfRkZTUl9GdE5vblN0b3BfTXNrICAgICAgICAgICAgICgweDFVTCA8PCBUUElfRkZTUl9GdE5vblN0b3BfUG9zKSAgICAgICAgICAgLyohPCBUUEkgRkZTUjogRnROb25TdG9wIE1hc2sgKi8KKworI2RlZmluZSBUUElfRkZTUl9UQ1ByZXNlbnRfUG9zICAgICAgICAgICAgICAyICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBUUEkgRkZTUjogVENQcmVzZW50IFBvc2l0aW9uICovCisjZGVmaW5lIFRQSV9GRlNSX1RDUHJlc2VudF9Nc2sgICAgICAgICAgICAgKDB4MVVMIDw8IFRQSV9GRlNSX1RDUHJlc2VudF9Qb3MpICAgICAgICAgICAvKiE8IFRQSSBGRlNSOiBUQ1ByZXNlbnQgTWFzayAqLworCisjZGVmaW5lIFRQSV9GRlNSX0Z0U3RvcHBlZF9Qb3MgICAgICAgICAgICAgIDEgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IFRQSSBGRlNSOiBGdFN0b3BwZWQgUG9zaXRpb24gKi8KKyNkZWZpbmUgVFBJX0ZGU1JfRnRTdG9wcGVkX01zayAgICAgICAgICAgICAoMHgxVUwgPDwgVFBJX0ZGU1JfRnRTdG9wcGVkX1BvcykgICAgICAgICAgIC8qITwgVFBJIEZGU1I6IEZ0U3RvcHBlZCBNYXNrICovCisKKyNkZWZpbmUgVFBJX0ZGU1JfRmxJblByb2dfUG9zICAgICAgICAgICAgICAgMCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgVFBJIEZGU1I6IEZsSW5Qcm9nIFBvc2l0aW9uICovCisjZGVmaW5lIFRQSV9GRlNSX0ZsSW5Qcm9nX01zayAgICAgICAgICAgICAgKDB4MVVMIDw8IFRQSV9GRlNSX0ZsSW5Qcm9nX1BvcykgICAgICAgICAgICAvKiE8IFRQSSBGRlNSOiBGbEluUHJvZyBNYXNrICovCisKKy8qIFRQSSBGb3JtYXR0ZXIgYW5kIEZsdXNoIENvbnRyb2wgUmVnaXN0ZXIgRGVmaW5pdGlvbnMgKi8KKyNkZWZpbmUgVFBJX0ZGQ1JfVHJpZ0luX1BvcyAgICAgICAgICAgICAgICAgOCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgVFBJIEZGQ1I6IFRyaWdJbiBQb3NpdGlvbiAqLworI2RlZmluZSBUUElfRkZDUl9UcmlnSW5fTXNrICAgICAgICAgICAgICAgICgweDFVTCA8PCBUUElfRkZDUl9UcmlnSW5fUG9zKSAgICAgICAgICAgICAgLyohPCBUUEkgRkZDUjogVHJpZ0luIE1hc2sgKi8KKworI2RlZmluZSBUUElfRkZDUl9FbkZDb250X1BvcyAgICAgICAgICAgICAgICAxICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBUUEkgRkZDUjogRW5GQ29udCBQb3NpdGlvbiAqLworI2RlZmluZSBUUElfRkZDUl9FbkZDb250X01zayAgICAgICAgICAgICAgICgweDFVTCA8PCBUUElfRkZDUl9FbkZDb250X1BvcykgICAgICAgICAgICAgLyohPCBUUEkgRkZDUjogRW5GQ29udCBNYXNrICovCisKKy8qIFRQSSBUUklHR0VSIFJlZ2lzdGVyIERlZmluaXRpb25zICovCisjZGVmaW5lIFRQSV9UUklHR0VSX1RSSUdHRVJfUG9zICAgICAgICAgICAgIDAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IFRQSSBUUklHR0VSOiBUUklHR0VSIFBvc2l0aW9uICovCisjZGVmaW5lIFRQSV9UUklHR0VSX1RSSUdHRVJfTXNrICAgICAgICAgICAgKDB4MVVMIDw8IFRQSV9UUklHR0VSX1RSSUdHRVJfUG9zKSAgICAgICAgICAvKiE8IFRQSSBUUklHR0VSOiBUUklHR0VSIE1hc2sgKi8KKworLyogVFBJIEludGVncmF0aW9uIEVUTSBEYXRhIFJlZ2lzdGVyIERlZmluaXRpb25zIChGSUZPMCkgKi8KKyNkZWZpbmUgVFBJX0ZJRk8wX0lUTV9BVFZBTElEX1BvcyAgICAgICAgICAyOSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgVFBJIEZJRk8wOiBJVE1fQVRWQUxJRCBQb3NpdGlvbiAqLworI2RlZmluZSBUUElfRklGTzBfSVRNX0FUVkFMSURfTXNrICAgICAgICAgICgweDNVTCA8PCBUUElfRklGTzBfSVRNX0FUVkFMSURfUG9zKSAgICAgICAgLyohPCBUUEkgRklGTzA6IElUTV9BVFZBTElEIE1hc2sgKi8KKworI2RlZmluZSBUUElfRklGTzBfSVRNX2J5dGVjb3VudF9Qb3MgICAgICAgIDI3ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBUUEkgRklGTzA6IElUTV9ieXRlY291bnQgUG9zaXRpb24gKi8KKyNkZWZpbmUgVFBJX0ZJRk8wX0lUTV9ieXRlY291bnRfTXNrICAgICAgICAoMHgzVUwgPDwgVFBJX0ZJRk8wX0lUTV9ieXRlY291bnRfUG9zKSAgICAgIC8qITwgVFBJIEZJRk8wOiBJVE1fYnl0ZWNvdW50IE1hc2sgKi8KKworI2RlZmluZSBUUElfRklGTzBfRVRNX0FUVkFMSURfUG9zICAgICAgICAgIDI2ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBUUEkgRklGTzA6IEVUTV9BVFZBTElEIFBvc2l0aW9uICovCisjZGVmaW5lIFRQSV9GSUZPMF9FVE1fQVRWQUxJRF9Nc2sgICAgICAgICAgKDB4M1VMIDw8IFRQSV9GSUZPMF9FVE1fQVRWQUxJRF9Qb3MpICAgICAgICAvKiE8IFRQSSBGSUZPMDogRVRNX0FUVkFMSUQgTWFzayAqLworCisjZGVmaW5lIFRQSV9GSUZPMF9FVE1fYnl0ZWNvdW50X1BvcyAgICAgICAgMjQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IFRQSSBGSUZPMDogRVRNX2J5dGVjb3VudCBQb3NpdGlvbiAqLworI2RlZmluZSBUUElfRklGTzBfRVRNX2J5dGVjb3VudF9Nc2sgICAgICAgICgweDNVTCA8PCBUUElfRklGTzBfRVRNX2J5dGVjb3VudF9Qb3MpICAgICAgLyohPCBUUEkgRklGTzA6IEVUTV9ieXRlY291bnQgTWFzayAqLworCisjZGVmaW5lIFRQSV9GSUZPMF9FVE0yX1BvcyAgICAgICAgICAgICAgICAgMTYgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IFRQSSBGSUZPMDogRVRNMiBQb3NpdGlvbiAqLworI2RlZmluZSBUUElfRklGTzBfRVRNMl9Nc2sgICAgICAgICAgICAgICAgICgweEZGVUwgPDwgVFBJX0ZJRk8wX0VUTTJfUG9zKSAgICAgICAgICAgICAgLyohPCBUUEkgRklGTzA6IEVUTTIgTWFzayAqLworCisjZGVmaW5lIFRQSV9GSUZPMF9FVE0xX1BvcyAgICAgICAgICAgICAgICAgIDggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IFRQSSBGSUZPMDogRVRNMSBQb3NpdGlvbiAqLworI2RlZmluZSBUUElfRklGTzBfRVRNMV9Nc2sgICAgICAgICAgICAgICAgICgweEZGVUwgPDwgVFBJX0ZJRk8wX0VUTTFfUG9zKSAgICAgICAgICAgICAgLyohPCBUUEkgRklGTzA6IEVUTTEgTWFzayAqLworCisjZGVmaW5lIFRQSV9GSUZPMF9FVE0wX1BvcyAgICAgICAgICAgICAgICAgIDAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IFRQSSBGSUZPMDogRVRNMCBQb3NpdGlvbiAqLworI2RlZmluZSBUUElfRklGTzBfRVRNMF9Nc2sgICAgICAgICAgICAgICAgICgweEZGVUwgPDwgVFBJX0ZJRk8wX0VUTTBfUG9zKSAgICAgICAgICAgICAgLyohPCBUUEkgRklGTzA6IEVUTTAgTWFzayAqLworCisvKiBUUEkgSVRBVEJDVFIyIFJlZ2lzdGVyIERlZmluaXRpb25zICovCisjZGVmaW5lIFRQSV9JVEFUQkNUUjJfQVRSRUFEWV9Qb3MgICAgICAgICAgIDAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IFRQSSBJVEFUQkNUUjI6IEFUUkVBRFkgUG9zaXRpb24gKi8KKyNkZWZpbmUgVFBJX0lUQVRCQ1RSMl9BVFJFQURZX01zayAgICAgICAgICAoMHgxVUwgPDwgVFBJX0lUQVRCQ1RSMl9BVFJFQURZX1BvcykgICAgICAgIC8qITwgVFBJIElUQVRCQ1RSMjogQVRSRUFEWSBNYXNrICovCisKKy8qIFRQSSBJbnRlZ3JhdGlvbiBJVE0gRGF0YSBSZWdpc3RlciBEZWZpbml0aW9ucyAoRklGTzEpICovCisjZGVmaW5lIFRQSV9GSUZPMV9JVE1fQVRWQUxJRF9Qb3MgICAgICAgICAgMjkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IFRQSSBGSUZPMTogSVRNX0FUVkFMSUQgUG9zaXRpb24gKi8KKyNkZWZpbmUgVFBJX0ZJRk8xX0lUTV9BVFZBTElEX01zayAgICAgICAgICAoMHgzVUwgPDwgVFBJX0ZJRk8xX0lUTV9BVFZBTElEX1BvcykgICAgICAgIC8qITwgVFBJIEZJRk8xOiBJVE1fQVRWQUxJRCBNYXNrICovCisKKyNkZWZpbmUgVFBJX0ZJRk8xX0lUTV9ieXRlY291bnRfUG9zICAgICAgICAyNyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgVFBJIEZJRk8xOiBJVE1fYnl0ZWNvdW50IFBvc2l0aW9uICovCisjZGVmaW5lIFRQSV9GSUZPMV9JVE1fYnl0ZWNvdW50X01zayAgICAgICAgKDB4M1VMIDw8IFRQSV9GSUZPMV9JVE1fYnl0ZWNvdW50X1BvcykgICAgICAvKiE8IFRQSSBGSUZPMTogSVRNX2J5dGVjb3VudCBNYXNrICovCisKKyNkZWZpbmUgVFBJX0ZJRk8xX0VUTV9BVFZBTElEX1BvcyAgICAgICAgICAyNiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgVFBJIEZJRk8xOiBFVE1fQVRWQUxJRCBQb3NpdGlvbiAqLworI2RlZmluZSBUUElfRklGTzFfRVRNX0FUVkFMSURfTXNrICAgICAgICAgICgweDNVTCA8PCBUUElfRklGTzFfRVRNX0FUVkFMSURfUG9zKSAgICAgICAgLyohPCBUUEkgRklGTzE6IEVUTV9BVFZBTElEIE1hc2sgKi8KKworI2RlZmluZSBUUElfRklGTzFfRVRNX2J5dGVjb3VudF9Qb3MgICAgICAgIDI0ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBUUEkgRklGTzE6IEVUTV9ieXRlY291bnQgUG9zaXRpb24gKi8KKyNkZWZpbmUgVFBJX0ZJRk8xX0VUTV9ieXRlY291bnRfTXNrICAgICAgICAoMHgzVUwgPDwgVFBJX0ZJRk8xX0VUTV9ieXRlY291bnRfUG9zKSAgICAgIC8qITwgVFBJIEZJRk8xOiBFVE1fYnl0ZWNvdW50IE1hc2sgKi8KKworI2RlZmluZSBUUElfRklGTzFfSVRNMl9Qb3MgICAgICAgICAgICAgICAgIDE2ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBUUEkgRklGTzE6IElUTTIgUG9zaXRpb24gKi8KKyNkZWZpbmUgVFBJX0ZJRk8xX0lUTTJfTXNrICAgICAgICAgICAgICAgICAoMHhGRlVMIDw8IFRQSV9GSUZPMV9JVE0yX1BvcykgICAgICAgICAgICAgIC8qITwgVFBJIEZJRk8xOiBJVE0yIE1hc2sgKi8KKworI2RlZmluZSBUUElfRklGTzFfSVRNMV9Qb3MgICAgICAgICAgICAgICAgICA4ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBUUEkgRklGTzE6IElUTTEgUG9zaXRpb24gKi8KKyNkZWZpbmUgVFBJX0ZJRk8xX0lUTTFfTXNrICAgICAgICAgICAgICAgICAoMHhGRlVMIDw8IFRQSV9GSUZPMV9JVE0xX1BvcykgICAgICAgICAgICAgIC8qITwgVFBJIEZJRk8xOiBJVE0xIE1hc2sgKi8KKworI2RlZmluZSBUUElfRklGTzFfSVRNMF9Qb3MgICAgICAgICAgICAgICAgICAwICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBUUEkgRklGTzE6IElUTTAgUG9zaXRpb24gKi8KKyNkZWZpbmUgVFBJX0ZJRk8xX0lUTTBfTXNrICAgICAgICAgICAgICAgICAoMHhGRlVMIDw8IFRQSV9GSUZPMV9JVE0wX1BvcykgICAgICAgICAgICAgIC8qITwgVFBJIEZJRk8xOiBJVE0wIE1hc2sgKi8KKworLyogVFBJIElUQVRCQ1RSMCBSZWdpc3RlciBEZWZpbml0aW9ucyAqLworI2RlZmluZSBUUElfSVRBVEJDVFIwX0FUUkVBRFlfUG9zICAgICAgICAgICAwICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBUUEkgSVRBVEJDVFIwOiBBVFJFQURZIFBvc2l0aW9uICovCisjZGVmaW5lIFRQSV9JVEFUQkNUUjBfQVRSRUFEWV9Nc2sgICAgICAgICAgKDB4MVVMIDw8IFRQSV9JVEFUQkNUUjBfQVRSRUFEWV9Qb3MpICAgICAgICAvKiE8IFRQSSBJVEFUQkNUUjA6IEFUUkVBRFkgTWFzayAqLworCisvKiBUUEkgSW50ZWdyYXRpb24gTW9kZSBDb250cm9sIFJlZ2lzdGVyIERlZmluaXRpb25zICovCisjZGVmaW5lIFRQSV9JVENUUkxfTW9kZV9Qb3MgICAgICAgICAgICAgICAgIDAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IFRQSSBJVENUUkw6IE1vZGUgUG9zaXRpb24gKi8KKyNkZWZpbmUgVFBJX0lUQ1RSTF9Nb2RlX01zayAgICAgICAgICAgICAgICAoMHgxVUwgPDwgVFBJX0lUQ1RSTF9Nb2RlX1BvcykgICAgICAgICAgICAgIC8qITwgVFBJIElUQ1RSTDogTW9kZSBNYXNrICovCisKKy8qIFRQSSBERVZJRCBSZWdpc3RlciBEZWZpbml0aW9ucyAqLworI2RlZmluZSBUUElfREVWSURfTlJaVkFMSURfUG9zICAgICAgICAgICAgIDExICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBUUEkgREVWSUQ6IE5SWlZBTElEIFBvc2l0aW9uICovCisjZGVmaW5lIFRQSV9ERVZJRF9OUlpWQUxJRF9Nc2sgICAgICAgICAgICAgKDB4MVVMIDw8IFRQSV9ERVZJRF9OUlpWQUxJRF9Qb3MpICAgICAgICAgICAvKiE8IFRQSSBERVZJRDogTlJaVkFMSUQgTWFzayAqLworCisjZGVmaW5lIFRQSV9ERVZJRF9NQU5DVkFMSURfUG9zICAgICAgICAgICAgMTAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IFRQSSBERVZJRDogTUFOQ1ZBTElEIFBvc2l0aW9uICovCisjZGVmaW5lIFRQSV9ERVZJRF9NQU5DVkFMSURfTXNrICAgICAgICAgICAgKDB4MVVMIDw8IFRQSV9ERVZJRF9NQU5DVkFMSURfUG9zKSAgICAgICAgICAvKiE8IFRQSSBERVZJRDogTUFOQ1ZBTElEIE1hc2sgKi8KKworI2RlZmluZSBUUElfREVWSURfUFRJTlZBTElEX1BvcyAgICAgICAgICAgICA5ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBUUEkgREVWSUQ6IFBUSU5WQUxJRCBQb3NpdGlvbiAqLworI2RlZmluZSBUUElfREVWSURfUFRJTlZBTElEX01zayAgICAgICAgICAgICgweDFVTCA8PCBUUElfREVWSURfUFRJTlZBTElEX1BvcykgICAgICAgICAgLyohPCBUUEkgREVWSUQ6IFBUSU5WQUxJRCBNYXNrICovCisKKyNkZWZpbmUgVFBJX0RFVklEX01pbkJ1ZlN6X1BvcyAgICAgICAgICAgICAgNiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgVFBJIERFVklEOiBNaW5CdWZTeiBQb3NpdGlvbiAqLworI2RlZmluZSBUUElfREVWSURfTWluQnVmU3pfTXNrICAgICAgICAgICAgICgweDdVTCA8PCBUUElfREVWSURfTWluQnVmU3pfUG9zKSAgICAgICAgICAgLyohPCBUUEkgREVWSUQ6IE1pbkJ1ZlN6IE1hc2sgKi8KKworI2RlZmluZSBUUElfREVWSURfQXN5bkNsa0luX1BvcyAgICAgICAgICAgICA1ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBUUEkgREVWSUQ6IEFzeW5DbGtJbiBQb3NpdGlvbiAqLworI2RlZmluZSBUUElfREVWSURfQXN5bkNsa0luX01zayAgICAgICAgICAgICgweDFVTCA8PCBUUElfREVWSURfQXN5bkNsa0luX1BvcykgICAgICAgICAgLyohPCBUUEkgREVWSUQ6IEFzeW5DbGtJbiBNYXNrICovCisKKyNkZWZpbmUgVFBJX0RFVklEX05yVHJhY2VJbnB1dF9Qb3MgICAgICAgICAgMCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgVFBJIERFVklEOiBOclRyYWNlSW5wdXQgUG9zaXRpb24gKi8KKyNkZWZpbmUgVFBJX0RFVklEX05yVHJhY2VJbnB1dF9Nc2sgICAgICAgICAoMHgxRlVMIDw8IFRQSV9ERVZJRF9OclRyYWNlSW5wdXRfUG9zKSAgICAgIC8qITwgVFBJIERFVklEOiBOclRyYWNlSW5wdXQgTWFzayAqLworCisvKiBUUEkgREVWVFlQRSBSZWdpc3RlciBEZWZpbml0aW9ucyAqLworI2RlZmluZSBUUElfREVWVFlQRV9TdWJUeXBlX1BvcyAgICAgICAgICAgICAwICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBUUEkgREVWVFlQRTogU3ViVHlwZSBQb3NpdGlvbiAqLworI2RlZmluZSBUUElfREVWVFlQRV9TdWJUeXBlX01zayAgICAgICAgICAgICgweEZVTCA8PCBUUElfREVWVFlQRV9TdWJUeXBlX1BvcykgICAgICAgICAgLyohPCBUUEkgREVWVFlQRTogU3ViVHlwZSBNYXNrICovCisKKyNkZWZpbmUgVFBJX0RFVlRZUEVfTWFqb3JUeXBlX1BvcyAgICAgICAgICAgNCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgVFBJIERFVlRZUEU6IE1ham9yVHlwZSBQb3NpdGlvbiAqLworI2RlZmluZSBUUElfREVWVFlQRV9NYWpvclR5cGVfTXNrICAgICAgICAgICgweEZVTCA8PCBUUElfREVWVFlQRV9NYWpvclR5cGVfUG9zKSAgICAgICAgLyohPCBUUEkgREVWVFlQRTogTWFqb3JUeXBlIE1hc2sgKi8KKworLypAfSovIC8qIGVuZCBvZiBncm91cCBDTVNJU19UUEkgKi8KKworCisjaWYgKF9fTVBVX1BSRVNFTlQgPT0gMSkKKy8qKiBcaW5ncm91cCAgQ01TSVNfY29yZV9yZWdpc3RlcgorICAgIFxkZWZncm91cCBDTVNJU19NUFUgICAgIE1lbW9yeSBQcm90ZWN0aW9uIFVuaXQgKE1QVSkKKyAgICBcYnJpZWYgICAgICBUeXBlIGRlZmluaXRpb25zIGZvciB0aGUgTWVtb3J5IFByb3RlY3Rpb24gVW5pdCAoTVBVKQorICBAeworICovCisKKy8qKiBcYnJpZWYgIFN0cnVjdHVyZSB0eXBlIHRvIGFjY2VzcyB0aGUgTWVtb3J5IFByb3RlY3Rpb24gVW5pdCAoTVBVKS4KKyAqLwordHlwZWRlZiBzdHJ1Y3QKK3sKKyAgX19JICB1aW50MzJfdCBUWVBFOyAgICAgICAgICAgICAgICAgICAgLyohPCBPZmZzZXQ6IDB4MDAwIChSLyApICBNUFUgVHlwZSBSZWdpc3RlciAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICovCisgIF9fSU8gdWludDMyX3QgQ1RSTDsgICAgICAgICAgICAgICAgICAgIC8qITwgT2Zmc2V0OiAweDAwNCAoUi9XKSAgTVBVIENvbnRyb2wgUmVnaXN0ZXIgICAgICAgICAgICAgICAgICAgICAgICAgICAqLworICBfX0lPIHVpbnQzMl90IFJOUjsgICAgICAgICAgICAgICAgICAgICAvKiE8IE9mZnNldDogMHgwMDggKFIvVykgIE1QVSBSZWdpb24gUk5SYmVyIFJlZ2lzdGVyICAgICAgICAgICAgICAgICAgICAgKi8KKyAgX19JTyB1aW50MzJfdCBSQkFSOyAgICAgICAgICAgICAgICAgICAgLyohPCBPZmZzZXQ6IDB4MDBDIChSL1cpICBNUFUgUmVnaW9uIEJhc2UgQWRkcmVzcyBSZWdpc3RlciAgICAgICAgICAgICAgICovCisgIF9fSU8gdWludDMyX3QgUkFTUjsgICAgICAgICAgICAgICAgICAgIC8qITwgT2Zmc2V0OiAweDAxMCAoUi9XKSAgTVBVIFJlZ2lvbiBBdHRyaWJ1dGUgYW5kIFNpemUgUmVnaXN0ZXIgICAgICAgICAqLworICBfX0lPIHVpbnQzMl90IFJCQVJfQTE7ICAgICAgICAgICAgICAgICAvKiE8IE9mZnNldDogMHgwMTQgKFIvVykgIE1QVSBBbGlhcyAxIFJlZ2lvbiBCYXNlIEFkZHJlc3MgUmVnaXN0ZXIgICAgICAgKi8KKyAgX19JTyB1aW50MzJfdCBSQVNSX0ExOyAgICAgICAgICAgICAgICAgLyohPCBPZmZzZXQ6IDB4MDE4IChSL1cpICBNUFUgQWxpYXMgMSBSZWdpb24gQXR0cmlidXRlIGFuZCBTaXplIFJlZ2lzdGVyICovCisgIF9fSU8gdWludDMyX3QgUkJBUl9BMjsgICAgICAgICAgICAgICAgIC8qITwgT2Zmc2V0OiAweDAxQyAoUi9XKSAgTVBVIEFsaWFzIDIgUmVnaW9uIEJhc2UgQWRkcmVzcyBSZWdpc3RlciAgICAgICAqLworICBfX0lPIHVpbnQzMl90IFJBU1JfQTI7ICAgICAgICAgICAgICAgICAvKiE8IE9mZnNldDogMHgwMjAgKFIvVykgIE1QVSBBbGlhcyAyIFJlZ2lvbiBBdHRyaWJ1dGUgYW5kIFNpemUgUmVnaXN0ZXIgKi8KKyAgX19JTyB1aW50MzJfdCBSQkFSX0EzOyAgICAgICAgICAgICAgICAgLyohPCBPZmZzZXQ6IDB4MDI0IChSL1cpICBNUFUgQWxpYXMgMyBSZWdpb24gQmFzZSBBZGRyZXNzIFJlZ2lzdGVyICAgICAgICovCisgIF9fSU8gdWludDMyX3QgUkFTUl9BMzsgICAgICAgICAgICAgICAgIC8qITwgT2Zmc2V0OiAweDAyOCAoUi9XKSAgTVBVIEFsaWFzIDMgUmVnaW9uIEF0dHJpYnV0ZSBhbmQgU2l6ZSBSZWdpc3RlciAqLworfSBNUFVfVHlwZTsKKworLyogTVBVIFR5cGUgUmVnaXN0ZXIgKi8KKyNkZWZpbmUgTVBVX1RZUEVfSVJFR0lPTl9Qb3MgICAgICAgICAgICAgICAxNiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgTVBVIFRZUEU6IElSRUdJT04gUG9zaXRpb24gKi8KKyNkZWZpbmUgTVBVX1RZUEVfSVJFR0lPTl9Nc2sgICAgICAgICAgICAgICAoMHhGRlVMIDw8IE1QVV9UWVBFX0lSRUdJT05fUG9zKSAgICAgICAgICAgICAgIC8qITwgTVBVIFRZUEU6IElSRUdJT04gTWFzayAqLworCisjZGVmaW5lIE1QVV9UWVBFX0RSRUdJT05fUG9zICAgICAgICAgICAgICAgIDggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IE1QVSBUWVBFOiBEUkVHSU9OIFBvc2l0aW9uICovCisjZGVmaW5lIE1QVV9UWVBFX0RSRUdJT05fTXNrICAgICAgICAgICAgICAgKDB4RkZVTCA8PCBNUFVfVFlQRV9EUkVHSU9OX1BvcykgICAgICAgICAgICAgICAvKiE8IE1QVSBUWVBFOiBEUkVHSU9OIE1hc2sgKi8KKworI2RlZmluZSBNUFVfVFlQRV9TRVBBUkFURV9Qb3MgICAgICAgICAgICAgICAwICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBNUFUgVFlQRTogU0VQQVJBVEUgUG9zaXRpb24gKi8KKyNkZWZpbmUgTVBVX1RZUEVfU0VQQVJBVEVfTXNrICAgICAgICAgICAgICAoMVVMIDw8IE1QVV9UWVBFX1NFUEFSQVRFX1BvcykgICAgICAgICAgICAgICAgIC8qITwgTVBVIFRZUEU6IFNFUEFSQVRFIE1hc2sgKi8KKworLyogTVBVIENvbnRyb2wgUmVnaXN0ZXIgKi8KKyNkZWZpbmUgTVBVX0NUUkxfUFJJVkRFRkVOQV9Qb3MgICAgICAgICAgICAgMiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgTVBVIENUUkw6IFBSSVZERUZFTkEgUG9zaXRpb24gKi8KKyNkZWZpbmUgTVBVX0NUUkxfUFJJVkRFRkVOQV9Nc2sgICAgICAgICAgICAoMVVMIDw8IE1QVV9DVFJMX1BSSVZERUZFTkFfUG9zKSAgICAgICAgICAgICAgIC8qITwgTVBVIENUUkw6IFBSSVZERUZFTkEgTWFzayAqLworCisjZGVmaW5lIE1QVV9DVFJMX0hGTk1JRU5BX1BvcyAgICAgICAgICAgICAgIDEgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IE1QVSBDVFJMOiBIRk5NSUVOQSBQb3NpdGlvbiAqLworI2RlZmluZSBNUFVfQ1RSTF9IRk5NSUVOQV9Nc2sgICAgICAgICAgICAgICgxVUwgPDwgTVBVX0NUUkxfSEZOTUlFTkFfUG9zKSAgICAgICAgICAgICAgICAgLyohPCBNUFUgQ1RSTDogSEZOTUlFTkEgTWFzayAqLworCisjZGVmaW5lIE1QVV9DVFJMX0VOQUJMRV9Qb3MgICAgICAgICAgICAgICAgIDAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IE1QVSBDVFJMOiBFTkFCTEUgUG9zaXRpb24gKi8KKyNkZWZpbmUgTVBVX0NUUkxfRU5BQkxFX01zayAgICAgICAgICAgICAgICAoMVVMIDw8IE1QVV9DVFJMX0VOQUJMRV9Qb3MpICAgICAgICAgICAgICAgICAgIC8qITwgTVBVIENUUkw6IEVOQUJMRSBNYXNrICovCisKKy8qIE1QVSBSZWdpb24gTnVtYmVyIFJlZ2lzdGVyICovCisjZGVmaW5lIE1QVV9STlJfUkVHSU9OX1BvcyAgICAgICAgICAgICAgICAgIDAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IE1QVSBSTlI6IFJFR0lPTiBQb3NpdGlvbiAqLworI2RlZmluZSBNUFVfUk5SX1JFR0lPTl9Nc2sgICAgICAgICAgICAgICAgICgweEZGVUwgPDwgTVBVX1JOUl9SRUdJT05fUG9zKSAgICAgICAgICAgICAgICAgLyohPCBNUFUgUk5SOiBSRUdJT04gTWFzayAqLworCisvKiBNUFUgUmVnaW9uIEJhc2UgQWRkcmVzcyBSZWdpc3RlciAqLworI2RlZmluZSBNUFVfUkJBUl9BRERSX1BvcyAgICAgICAgICAgICAgICAgICA1ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBNUFUgUkJBUjogQUREUiBQb3NpdGlvbiAqLworI2RlZmluZSBNUFVfUkJBUl9BRERSX01zayAgICAgICAgICAgICAgICAgICgweDdGRkZGRkZVTCA8PCBNUFVfUkJBUl9BRERSX1BvcykgICAgICAgICAgICAgLyohPCBNUFUgUkJBUjogQUREUiBNYXNrICovCisKKyNkZWZpbmUgTVBVX1JCQVJfVkFMSURfUG9zICAgICAgICAgICAgICAgICAgNCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgTVBVIFJCQVI6IFZBTElEIFBvc2l0aW9uICovCisjZGVmaW5lIE1QVV9SQkFSX1ZBTElEX01zayAgICAgICAgICAgICAgICAgKDFVTCA8PCBNUFVfUkJBUl9WQUxJRF9Qb3MpICAgICAgICAgICAgICAgICAgICAvKiE8IE1QVSBSQkFSOiBWQUxJRCBNYXNrICovCisKKyNkZWZpbmUgTVBVX1JCQVJfUkVHSU9OX1BvcyAgICAgICAgICAgICAgICAgMCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgTVBVIFJCQVI6IFJFR0lPTiBQb3NpdGlvbiAqLworI2RlZmluZSBNUFVfUkJBUl9SRUdJT05fTXNrICAgICAgICAgICAgICAgICgweEZVTCA8PCBNUFVfUkJBUl9SRUdJT05fUG9zKSAgICAgICAgICAgICAgICAgLyohPCBNUFUgUkJBUjogUkVHSU9OIE1hc2sgKi8KKworLyogTVBVIFJlZ2lvbiBBdHRyaWJ1dGUgYW5kIFNpemUgUmVnaXN0ZXIgKi8KKyNkZWZpbmUgTVBVX1JBU1JfQVRUUlNfUG9zICAgICAgICAgICAgICAgICAxNiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgTVBVIFJBU1I6IE1QVSBSZWdpb24gQXR0cmlidXRlIGZpZWxkIFBvc2l0aW9uICovCisjZGVmaW5lIE1QVV9SQVNSX0FUVFJTX01zayAgICAgICAgICAgICAgICAgKDB4RkZGRlVMIDw8IE1QVV9SQVNSX0FUVFJTX1BvcykgICAgICAgICAgICAgICAvKiE8IE1QVSBSQVNSOiBNUFUgUmVnaW9uIEF0dHJpYnV0ZSBmaWVsZCBNYXNrICovCisKKyNkZWZpbmUgTVBVX1JBU1JfWE5fUG9zICAgICAgICAgICAgICAgICAgICAyOCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgTVBVIFJBU1I6IEFUVFJTLlhOIFBvc2l0aW9uICovCisjZGVmaW5lIE1QVV9SQVNSX1hOX01zayAgICAgICAgICAgICAgICAgICAgKDFVTCA8PCBNUFVfUkFTUl9YTl9Qb3MpICAgICAgICAgICAgICAgICAgICAgICAvKiE8IE1QVSBSQVNSOiBBVFRSUy5YTiBNYXNrICovCisKKyNkZWZpbmUgTVBVX1JBU1JfQVBfUG9zICAgICAgICAgICAgICAgICAgICAyNCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgTVBVIFJBU1I6IEFUVFJTLkFQIFBvc2l0aW9uICovCisjZGVmaW5lIE1QVV9SQVNSX0FQX01zayAgICAgICAgICAgICAgICAgICAgKDB4N1VMIDw8IE1QVV9SQVNSX0FQX1BvcykgICAgICAgICAgICAgICAgICAgICAvKiE8IE1QVSBSQVNSOiBBVFRSUy5BUCBNYXNrICovCisKKyNkZWZpbmUgTVBVX1JBU1JfVEVYX1BvcyAgICAgICAgICAgICAgICAgICAxOSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgTVBVIFJBU1I6IEFUVFJTLlRFWCBQb3NpdGlvbiAqLworI2RlZmluZSBNUFVfUkFTUl9URVhfTXNrICAgICAgICAgICAgICAgICAgICgweDdVTCA8PCBNUFVfUkFTUl9URVhfUG9zKSAgICAgICAgICAgICAgICAgICAgLyohPCBNUFUgUkFTUjogQVRUUlMuVEVYIE1hc2sgKi8KKworI2RlZmluZSBNUFVfUkFTUl9TX1BvcyAgICAgICAgICAgICAgICAgICAgIDE4ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBNUFUgUkFTUjogQVRUUlMuUyBQb3NpdGlvbiAqLworI2RlZmluZSBNUFVfUkFTUl9TX01zayAgICAgICAgICAgICAgICAgICAgICgxVUwgPDwgTVBVX1JBU1JfU19Qb3MpICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBNUFUgUkFTUjogQVRUUlMuUyBNYXNrICovCisKKyNkZWZpbmUgTVBVX1JBU1JfQ19Qb3MgICAgICAgICAgICAgICAgICAgICAxNyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgTVBVIFJBU1I6IEFUVFJTLkMgUG9zaXRpb24gKi8KKyNkZWZpbmUgTVBVX1JBU1JfQ19Nc2sgICAgICAgICAgICAgICAgICAgICAoMVVMIDw8IE1QVV9SQVNSX0NfUG9zKSAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgTVBVIFJBU1I6IEFUVFJTLkMgTWFzayAqLworCisjZGVmaW5lIE1QVV9SQVNSX0JfUG9zICAgICAgICAgICAgICAgICAgICAgMTYgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IE1QVSBSQVNSOiBBVFRSUy5CIFBvc2l0aW9uICovCisjZGVmaW5lIE1QVV9SQVNSX0JfTXNrICAgICAgICAgICAgICAgICAgICAgKDFVTCA8PCBNUFVfUkFTUl9CX1BvcykgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IE1QVSBSQVNSOiBBVFRSUy5CIE1hc2sgKi8KKworI2RlZmluZSBNUFVfUkFTUl9TUkRfUG9zICAgICAgICAgICAgICAgICAgICA4ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBNUFUgUkFTUjogU3ViLVJlZ2lvbiBEaXNhYmxlIFBvc2l0aW9uICovCisjZGVmaW5lIE1QVV9SQVNSX1NSRF9Nc2sgICAgICAgICAgICAgICAgICAgKDB4RkZVTCA8PCBNUFVfUkFTUl9TUkRfUG9zKSAgICAgICAgICAgICAgICAgICAvKiE8IE1QVSBSQVNSOiBTdWItUmVnaW9uIERpc2FibGUgTWFzayAqLworCisjZGVmaW5lIE1QVV9SQVNSX1NJWkVfUG9zICAgICAgICAgICAgICAgICAgIDEgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IE1QVSBSQVNSOiBSZWdpb24gU2l6ZSBGaWVsZCBQb3NpdGlvbiAqLworI2RlZmluZSBNUFVfUkFTUl9TSVpFX01zayAgICAgICAgICAgICAgICAgICgweDFGVUwgPDwgTVBVX1JBU1JfU0laRV9Qb3MpICAgICAgICAgICAgICAgICAgLyohPCBNUFUgUkFTUjogUmVnaW9uIFNpemUgRmllbGQgTWFzayAqLworCisjZGVmaW5lIE1QVV9SQVNSX0VOQUJMRV9Qb3MgICAgICAgICAgICAgICAgIDAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IE1QVSBSQVNSOiBSZWdpb24gZW5hYmxlIGJpdCBQb3NpdGlvbiAqLworI2RlZmluZSBNUFVfUkFTUl9FTkFCTEVfTXNrICAgICAgICAgICAgICAgICgxVUwgPDwgTVBVX1JBU1JfRU5BQkxFX1BvcykgICAgICAgICAgICAgICAgICAgLyohPCBNUFUgUkFTUjogUmVnaW9uIGVuYWJsZSBiaXQgRGlzYWJsZSBNYXNrICovCisKKy8qQH0gZW5kIG9mIGdyb3VwIENNU0lTX01QVSAqLworI2VuZGlmCisKKworLyoqIFxpbmdyb3VwICBDTVNJU19jb3JlX3JlZ2lzdGVyCisgICAgXGRlZmdyb3VwIENNU0lTX0NvcmVEZWJ1ZyAgICAgICBDb3JlIERlYnVnIFJlZ2lzdGVycyAoQ29yZURlYnVnKQorICAgIFxicmllZiAgICAgIFR5cGUgZGVmaW5pdGlvbnMgZm9yIHRoZSBDb3JlIERlYnVnIFJlZ2lzdGVycworICBAeworICovCisKKy8qKiBcYnJpZWYgIFN0cnVjdHVyZSB0eXBlIHRvIGFjY2VzcyB0aGUgQ29yZSBEZWJ1ZyBSZWdpc3RlciAoQ29yZURlYnVnKS4KKyAqLwordHlwZWRlZiBzdHJ1Y3QKK3sKKyAgX19JTyB1aW50MzJfdCBESENTUjsgICAgICAgICAgICAgICAgICAgLyohPCBPZmZzZXQ6IDB4MDAwIChSL1cpICBEZWJ1ZyBIYWx0aW5nIENvbnRyb2wgYW5kIFN0YXR1cyBSZWdpc3RlciAgICAqLworICBfX08gIHVpbnQzMl90IERDUlNSOyAgICAgICAgICAgICAgICAgICAvKiE8IE9mZnNldDogMHgwMDQgKCAvVykgIERlYnVnIENvcmUgUmVnaXN0ZXIgU2VsZWN0b3IgUmVnaXN0ZXIgICAgICAgICovCisgIF9fSU8gdWludDMyX3QgRENSRFI7ICAgICAgICAgICAgICAgICAgIC8qITwgT2Zmc2V0OiAweDAwOCAoUi9XKSAgRGVidWcgQ29yZSBSZWdpc3RlciBEYXRhIFJlZ2lzdGVyICAgICAgICAgICAgKi8KKyAgX19JTyB1aW50MzJfdCBERU1DUjsgICAgICAgICAgICAgICAgICAgLyohPCBPZmZzZXQ6IDB4MDBDIChSL1cpICBEZWJ1ZyBFeGNlcHRpb24gYW5kIE1vbml0b3IgQ29udHJvbCBSZWdpc3RlciAqLworfSBDb3JlRGVidWdfVHlwZTsKKworLyogRGVidWcgSGFsdGluZyBDb250cm9sIGFuZCBTdGF0dXMgUmVnaXN0ZXIgKi8KKyNkZWZpbmUgQ29yZURlYnVnX0RIQ1NSX0RCR0tFWV9Qb3MgICAgICAgICAxNiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgQ29yZURlYnVnIERIQ1NSOiBEQkdLRVkgUG9zaXRpb24gKi8KKyNkZWZpbmUgQ29yZURlYnVnX0RIQ1NSX0RCR0tFWV9Nc2sgICAgICAgICAoMHhGRkZGVUwgPDwgQ29yZURlYnVnX0RIQ1NSX0RCR0tFWV9Qb3MpICAgICAgIC8qITwgQ29yZURlYnVnIERIQ1NSOiBEQkdLRVkgTWFzayAqLworCisjZGVmaW5lIENvcmVEZWJ1Z19ESENTUl9TX1JFU0VUX1NUX1BvcyAgICAgMjUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IENvcmVEZWJ1ZyBESENTUjogU19SRVNFVF9TVCBQb3NpdGlvbiAqLworI2RlZmluZSBDb3JlRGVidWdfREhDU1JfU19SRVNFVF9TVF9Nc2sgICAgICgxVUwgPDwgQ29yZURlYnVnX0RIQ1NSX1NfUkVTRVRfU1RfUG9zKSAgICAgICAgLyohPCBDb3JlRGVidWcgREhDU1I6IFNfUkVTRVRfU1QgTWFzayAqLworCisjZGVmaW5lIENvcmVEZWJ1Z19ESENTUl9TX1JFVElSRV9TVF9Qb3MgICAgMjQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IENvcmVEZWJ1ZyBESENTUjogU19SRVRJUkVfU1QgUG9zaXRpb24gKi8KKyNkZWZpbmUgQ29yZURlYnVnX0RIQ1NSX1NfUkVUSVJFX1NUX01zayAgICAoMVVMIDw8IENvcmVEZWJ1Z19ESENTUl9TX1JFVElSRV9TVF9Qb3MpICAgICAgIC8qITwgQ29yZURlYnVnIERIQ1NSOiBTX1JFVElSRV9TVCBNYXNrICovCisKKyNkZWZpbmUgQ29yZURlYnVnX0RIQ1NSX1NfTE9DS1VQX1BvcyAgICAgICAxOSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgQ29yZURlYnVnIERIQ1NSOiBTX0xPQ0tVUCBQb3NpdGlvbiAqLworI2RlZmluZSBDb3JlRGVidWdfREhDU1JfU19MT0NLVVBfTXNrICAgICAgICgxVUwgPDwgQ29yZURlYnVnX0RIQ1NSX1NfTE9DS1VQX1BvcykgICAgICAgICAgLyohPCBDb3JlRGVidWcgREhDU1I6IFNfTE9DS1VQIE1hc2sgKi8KKworI2RlZmluZSBDb3JlRGVidWdfREhDU1JfU19TTEVFUF9Qb3MgICAgICAgIDE4ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBDb3JlRGVidWcgREhDU1I6IFNfU0xFRVAgUG9zaXRpb24gKi8KKyNkZWZpbmUgQ29yZURlYnVnX0RIQ1NSX1NfU0xFRVBfTXNrICAgICAgICAoMVVMIDw8IENvcmVEZWJ1Z19ESENTUl9TX1NMRUVQX1BvcykgICAgICAgICAgIC8qITwgQ29yZURlYnVnIERIQ1NSOiBTX1NMRUVQIE1hc2sgKi8KKworI2RlZmluZSBDb3JlRGVidWdfREhDU1JfU19IQUxUX1BvcyAgICAgICAgIDE3ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBDb3JlRGVidWcgREhDU1I6IFNfSEFMVCBQb3NpdGlvbiAqLworI2RlZmluZSBDb3JlRGVidWdfREhDU1JfU19IQUxUX01zayAgICAgICAgICgxVUwgPDwgQ29yZURlYnVnX0RIQ1NSX1NfSEFMVF9Qb3MpICAgICAgICAgICAgLyohPCBDb3JlRGVidWcgREhDU1I6IFNfSEFMVCBNYXNrICovCisKKyNkZWZpbmUgQ29yZURlYnVnX0RIQ1NSX1NfUkVHUkRZX1BvcyAgICAgICAxNiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgQ29yZURlYnVnIERIQ1NSOiBTX1JFR1JEWSBQb3NpdGlvbiAqLworI2RlZmluZSBDb3JlRGVidWdfREhDU1JfU19SRUdSRFlfTXNrICAgICAgICgxVUwgPDwgQ29yZURlYnVnX0RIQ1NSX1NfUkVHUkRZX1BvcykgICAgICAgICAgLyohPCBDb3JlRGVidWcgREhDU1I6IFNfUkVHUkRZIE1hc2sgKi8KKworI2RlZmluZSBDb3JlRGVidWdfREhDU1JfQ19TTkFQU1RBTExfUG9zICAgICA1ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBDb3JlRGVidWcgREhDU1I6IENfU05BUFNUQUxMIFBvc2l0aW9uICovCisjZGVmaW5lIENvcmVEZWJ1Z19ESENTUl9DX1NOQVBTVEFMTF9Nc2sgICAgKDFVTCA8PCBDb3JlRGVidWdfREhDU1JfQ19TTkFQU1RBTExfUG9zKSAgICAgICAvKiE8IENvcmVEZWJ1ZyBESENTUjogQ19TTkFQU1RBTEwgTWFzayAqLworCisjZGVmaW5lIENvcmVEZWJ1Z19ESENTUl9DX01BU0tJTlRTX1BvcyAgICAgIDMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IENvcmVEZWJ1ZyBESENTUjogQ19NQVNLSU5UUyBQb3NpdGlvbiAqLworI2RlZmluZSBDb3JlRGVidWdfREhDU1JfQ19NQVNLSU5UU19Nc2sgICAgICgxVUwgPDwgQ29yZURlYnVnX0RIQ1NSX0NfTUFTS0lOVFNfUG9zKSAgICAgICAgLyohPCBDb3JlRGVidWcgREhDU1I6IENfTUFTS0lOVFMgTWFzayAqLworCisjZGVmaW5lIENvcmVEZWJ1Z19ESENTUl9DX1NURVBfUG9zICAgICAgICAgIDIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IENvcmVEZWJ1ZyBESENTUjogQ19TVEVQIFBvc2l0aW9uICovCisjZGVmaW5lIENvcmVEZWJ1Z19ESENTUl9DX1NURVBfTXNrICAgICAgICAgKDFVTCA8PCBDb3JlRGVidWdfREhDU1JfQ19TVEVQX1BvcykgICAgICAgICAgICAvKiE8IENvcmVEZWJ1ZyBESENTUjogQ19TVEVQIE1hc2sgKi8KKworI2RlZmluZSBDb3JlRGVidWdfREhDU1JfQ19IQUxUX1BvcyAgICAgICAgICAxICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBDb3JlRGVidWcgREhDU1I6IENfSEFMVCBQb3NpdGlvbiAqLworI2RlZmluZSBDb3JlRGVidWdfREhDU1JfQ19IQUxUX01zayAgICAgICAgICgxVUwgPDwgQ29yZURlYnVnX0RIQ1NSX0NfSEFMVF9Qb3MpICAgICAgICAgICAgLyohPCBDb3JlRGVidWcgREhDU1I6IENfSEFMVCBNYXNrICovCisKKyNkZWZpbmUgQ29yZURlYnVnX0RIQ1NSX0NfREVCVUdFTl9Qb3MgICAgICAgMCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgQ29yZURlYnVnIERIQ1NSOiBDX0RFQlVHRU4gUG9zaXRpb24gKi8KKyNkZWZpbmUgQ29yZURlYnVnX0RIQ1NSX0NfREVCVUdFTl9Nc2sgICAgICAoMVVMIDw8IENvcmVEZWJ1Z19ESENTUl9DX0RFQlVHRU5fUG9zKSAgICAgICAgIC8qITwgQ29yZURlYnVnIERIQ1NSOiBDX0RFQlVHRU4gTWFzayAqLworCisvKiBEZWJ1ZyBDb3JlIFJlZ2lzdGVyIFNlbGVjdG9yIFJlZ2lzdGVyICovCisjZGVmaW5lIENvcmVEZWJ1Z19EQ1JTUl9SRUdXblJfUG9zICAgICAgICAgMTYgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IENvcmVEZWJ1ZyBEQ1JTUjogUkVHV25SIFBvc2l0aW9uICovCisjZGVmaW5lIENvcmVEZWJ1Z19EQ1JTUl9SRUdXblJfTXNrICAgICAgICAgKDFVTCA8PCBDb3JlRGVidWdfRENSU1JfUkVHV25SX1BvcykgICAgICAgICAgICAvKiE8IENvcmVEZWJ1ZyBEQ1JTUjogUkVHV25SIE1hc2sgKi8KKworI2RlZmluZSBDb3JlRGVidWdfRENSU1JfUkVHU0VMX1BvcyAgICAgICAgICAwICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBDb3JlRGVidWcgRENSU1I6IFJFR1NFTCBQb3NpdGlvbiAqLworI2RlZmluZSBDb3JlRGVidWdfRENSU1JfUkVHU0VMX01zayAgICAgICAgICgweDFGVUwgPDwgQ29yZURlYnVnX0RDUlNSX1JFR1NFTF9Qb3MpICAgICAgICAgLyohPCBDb3JlRGVidWcgRENSU1I6IFJFR1NFTCBNYXNrICovCisKKy8qIERlYnVnIEV4Y2VwdGlvbiBhbmQgTW9uaXRvciBDb250cm9sIFJlZ2lzdGVyICovCisjZGVmaW5lIENvcmVEZWJ1Z19ERU1DUl9UUkNFTkFfUG9zICAgICAgICAgMjQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IENvcmVEZWJ1ZyBERU1DUjogVFJDRU5BIFBvc2l0aW9uICovCisjZGVmaW5lIENvcmVEZWJ1Z19ERU1DUl9UUkNFTkFfTXNrICAgICAgICAgKDFVTCA8PCBDb3JlRGVidWdfREVNQ1JfVFJDRU5BX1BvcykgICAgICAgICAgICAvKiE8IENvcmVEZWJ1ZyBERU1DUjogVFJDRU5BIE1hc2sgKi8KKworI2RlZmluZSBDb3JlRGVidWdfREVNQ1JfTU9OX1JFUV9Qb3MgICAgICAgIDE5ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBDb3JlRGVidWcgREVNQ1I6IE1PTl9SRVEgUG9zaXRpb24gKi8KKyNkZWZpbmUgQ29yZURlYnVnX0RFTUNSX01PTl9SRVFfTXNrICAgICAgICAoMVVMIDw8IENvcmVEZWJ1Z19ERU1DUl9NT05fUkVRX1BvcykgICAgICAgICAgIC8qITwgQ29yZURlYnVnIERFTUNSOiBNT05fUkVRIE1hc2sgKi8KKworI2RlZmluZSBDb3JlRGVidWdfREVNQ1JfTU9OX1NURVBfUG9zICAgICAgIDE4ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBDb3JlRGVidWcgREVNQ1I6IE1PTl9TVEVQIFBvc2l0aW9uICovCisjZGVmaW5lIENvcmVEZWJ1Z19ERU1DUl9NT05fU1RFUF9Nc2sgICAgICAgKDFVTCA8PCBDb3JlRGVidWdfREVNQ1JfTU9OX1NURVBfUG9zKSAgICAgICAgICAvKiE8IENvcmVEZWJ1ZyBERU1DUjogTU9OX1NURVAgTWFzayAqLworCisjZGVmaW5lIENvcmVEZWJ1Z19ERU1DUl9NT05fUEVORF9Qb3MgICAgICAgMTcgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IENvcmVEZWJ1ZyBERU1DUjogTU9OX1BFTkQgUG9zaXRpb24gKi8KKyNkZWZpbmUgQ29yZURlYnVnX0RFTUNSX01PTl9QRU5EX01zayAgICAgICAoMVVMIDw8IENvcmVEZWJ1Z19ERU1DUl9NT05fUEVORF9Qb3MpICAgICAgICAgIC8qITwgQ29yZURlYnVnIERFTUNSOiBNT05fUEVORCBNYXNrICovCisKKyNkZWZpbmUgQ29yZURlYnVnX0RFTUNSX01PTl9FTl9Qb3MgICAgICAgICAxNiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgQ29yZURlYnVnIERFTUNSOiBNT05fRU4gUG9zaXRpb24gKi8KKyNkZWZpbmUgQ29yZURlYnVnX0RFTUNSX01PTl9FTl9Nc2sgICAgICAgICAoMVVMIDw8IENvcmVEZWJ1Z19ERU1DUl9NT05fRU5fUG9zKSAgICAgICAgICAgIC8qITwgQ29yZURlYnVnIERFTUNSOiBNT05fRU4gTWFzayAqLworCisjZGVmaW5lIENvcmVEZWJ1Z19ERU1DUl9WQ19IQVJERVJSX1BvcyAgICAgMTAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IENvcmVEZWJ1ZyBERU1DUjogVkNfSEFSREVSUiBQb3NpdGlvbiAqLworI2RlZmluZSBDb3JlRGVidWdfREVNQ1JfVkNfSEFSREVSUl9Nc2sgICAgICgxVUwgPDwgQ29yZURlYnVnX0RFTUNSX1ZDX0hBUkRFUlJfUG9zKSAgICAgICAgLyohPCBDb3JlRGVidWcgREVNQ1I6IFZDX0hBUkRFUlIgTWFzayAqLworCisjZGVmaW5lIENvcmVEZWJ1Z19ERU1DUl9WQ19JTlRFUlJfUG9zICAgICAgIDkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IENvcmVEZWJ1ZyBERU1DUjogVkNfSU5URVJSIFBvc2l0aW9uICovCisjZGVmaW5lIENvcmVEZWJ1Z19ERU1DUl9WQ19JTlRFUlJfTXNrICAgICAgKDFVTCA8PCBDb3JlRGVidWdfREVNQ1JfVkNfSU5URVJSX1BvcykgICAgICAgICAvKiE8IENvcmVEZWJ1ZyBERU1DUjogVkNfSU5URVJSIE1hc2sgKi8KKworI2RlZmluZSBDb3JlRGVidWdfREVNQ1JfVkNfQlVTRVJSX1BvcyAgICAgICA4ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyohPCBDb3JlRGVidWcgREVNQ1I6IFZDX0JVU0VSUiBQb3NpdGlvbiAqLworI2RlZmluZSBDb3JlRGVidWdfREVNQ1JfVkNfQlVTRVJSX01zayAgICAgICgxVUwgPDwgQ29yZURlYnVnX0RFTUNSX1ZDX0JVU0VSUl9Qb3MpICAgICAgICAgLyohPCBDb3JlRGVidWcgREVNQ1I6IFZDX0JVU0VSUiBNYXNrICovCisKKyNkZWZpbmUgQ29yZURlYnVnX0RFTUNSX1ZDX1NUQVRFUlJfUG9zICAgICAgNyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgQ29yZURlYnVnIERFTUNSOiBWQ19TVEFURVJSIFBvc2l0aW9uICovCisjZGVmaW5lIENvcmVEZWJ1Z19ERU1DUl9WQ19TVEFURVJSX01zayAgICAgKDFVTCA8PCBDb3JlRGVidWdfREVNQ1JfVkNfU1RBVEVSUl9Qb3MpICAgICAgICAvKiE8IENvcmVEZWJ1ZyBERU1DUjogVkNfU1RBVEVSUiBNYXNrICovCisKKyNkZWZpbmUgQ29yZURlYnVnX0RFTUNSX1ZDX0NIS0VSUl9Qb3MgICAgICAgNiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgQ29yZURlYnVnIERFTUNSOiBWQ19DSEtFUlIgUG9zaXRpb24gKi8KKyNkZWZpbmUgQ29yZURlYnVnX0RFTUNSX1ZDX0NIS0VSUl9Nc2sgICAgICAoMVVMIDw8IENvcmVEZWJ1Z19ERU1DUl9WQ19DSEtFUlJfUG9zKSAgICAgICAgIC8qITwgQ29yZURlYnVnIERFTUNSOiBWQ19DSEtFUlIgTWFzayAqLworCisjZGVmaW5lIENvcmVEZWJ1Z19ERU1DUl9WQ19OT0NQRVJSX1BvcyAgICAgIDUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IENvcmVEZWJ1ZyBERU1DUjogVkNfTk9DUEVSUiBQb3NpdGlvbiAqLworI2RlZmluZSBDb3JlRGVidWdfREVNQ1JfVkNfTk9DUEVSUl9Nc2sgICAgICgxVUwgPDwgQ29yZURlYnVnX0RFTUNSX1ZDX05PQ1BFUlJfUG9zKSAgICAgICAgLyohPCBDb3JlRGVidWcgREVNQ1I6IFZDX05PQ1BFUlIgTWFzayAqLworCisjZGVmaW5lIENvcmVEZWJ1Z19ERU1DUl9WQ19NTUVSUl9Qb3MgICAgICAgIDQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IENvcmVEZWJ1ZyBERU1DUjogVkNfTU1FUlIgUG9zaXRpb24gKi8KKyNkZWZpbmUgQ29yZURlYnVnX0RFTUNSX1ZDX01NRVJSX01zayAgICAgICAoMVVMIDw8IENvcmVEZWJ1Z19ERU1DUl9WQ19NTUVSUl9Qb3MpICAgICAgICAgIC8qITwgQ29yZURlYnVnIERFTUNSOiBWQ19NTUVSUiBNYXNrICovCisKKyNkZWZpbmUgQ29yZURlYnVnX0RFTUNSX1ZDX0NPUkVSRVNFVF9Qb3MgICAgMCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qITwgQ29yZURlYnVnIERFTUNSOiBWQ19DT1JFUkVTRVQgUG9zaXRpb24gKi8KKyNkZWZpbmUgQ29yZURlYnVnX0RFTUNSX1ZDX0NPUkVSRVNFVF9Nc2sgICAoMVVMIDw8IENvcmVEZWJ1Z19ERU1DUl9WQ19DT1JFUkVTRVRfUG9zKSAgICAgIC8qITwgQ29yZURlYnVnIERFTUNSOiBWQ19DT1JFUkVTRVQgTWFzayAqLworCisvKkB9IGVuZCBvZiBncm91cCBDTVNJU19Db3JlRGVidWcgKi8KKworCisvKiogXGluZ3JvdXAgICAgQ01TSVNfY29yZV9yZWdpc3RlcgorICAgIFxkZWZncm91cCAgIENNU0lTX2NvcmVfYmFzZSAgICAgQ29yZSBEZWZpbml0aW9ucworICAgIFxicmllZiAgICAgIERlZmluaXRpb25zIGZvciBiYXNlIGFkZHJlc3NlcywgdW5pb25zLCBhbmQgc3RydWN0dXJlcy4KKyAgQHsKKyAqLworCisvKiBNZW1vcnkgbWFwcGluZyBvZiBDb3J0ZXgtTTMgSGFyZHdhcmUgKi8KKyNkZWZpbmUgU0NTX0JBU0UgICAgICAgICAgICAoMHhFMDAwRTAwMFVMKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IFN5c3RlbSBDb250cm9sIFNwYWNlIEJhc2UgQWRkcmVzcyAgKi8KKyNkZWZpbmUgSVRNX0JBU0UgICAgICAgICAgICAoMHhFMDAwMDAwMFVMKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IElUTSBCYXNlIEFkZHJlc3MgICAgICAgICAgICAgICAgICAgKi8KKyNkZWZpbmUgRFdUX0JBU0UgICAgICAgICAgICAoMHhFMDAwMTAwMFVMKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IERXVCBCYXNlIEFkZHJlc3MgICAgICAgICAgICAgICAgICAgKi8KKyNkZWZpbmUgVFBJX0JBU0UgICAgICAgICAgICAoMHhFMDA0MDAwMFVMKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IFRQSSBCYXNlIEFkZHJlc3MgICAgICAgICAgICAgICAgICAgKi8KKyNkZWZpbmUgQ29yZURlYnVnX0JBU0UgICAgICAoMHhFMDAwRURGMFVMKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiE8IENvcmUgRGVidWcgQmFzZSBBZGRyZXNzICAgICAgICAgICAgKi8KKyNkZWZpbmUgU3lzVGlja19CQVNFICAgICAgICAoU0NTX0JBU0UgKyAgMHgwMDEwVUwpICAgICAgICAgICAgICAgICAgICAvKiE8IFN5c1RpY2sgQmFzZSBBZGRyZXNzICAgICAgICAgICAgICAgKi8KKyNkZWZpbmUgTlZJQ19CQVNFICAgICAgICAgICAoU0NTX0JBU0UgKyAgMHgwMTAwVUwpICAgICAgICAgICAgICAgICAgICAvKiE8IE5WSUMgQmFzZSBBZGRyZXNzICAgICAgICAgICAgICAgICAgKi8KKyNkZWZpbmUgU0NCX0JBU0UgICAgICAgICAgICAoU0NTX0JBU0UgKyAgMHgwRDAwVUwpICAgICAgICAgICAgICAgICAgICAvKiE8IFN5c3RlbSBDb250cm9sIEJsb2NrIEJhc2UgQWRkcmVzcyAgKi8KKworI2RlZmluZSBTQ25TQ0IgICAgICAgICAgICAgICgoU0NuU0NCX1R5cGUgICAgKikgICAgIFNDU19CQVNFICAgICAgKSAgIC8qITwgU3lzdGVtIGNvbnRyb2wgUmVnaXN0ZXIgbm90IGluIFNDQiAqLworI2RlZmluZSBTQ0IgICAgICAgICAgICAgICAgICgoU0NCX1R5cGUgICAgICAgKikgICAgIFNDQl9CQVNFICAgICAgKSAgIC8qITwgU0NCIGNvbmZpZ3VyYXRpb24gc3RydWN0ICAgICAgICAgICAqLworI2RlZmluZSBTeXNUaWNrICAgICAgICAgICAgICgoU3lzVGlja19UeXBlICAgKikgICAgIFN5c1RpY2tfQkFTRSAgKSAgIC8qITwgU3lzVGljayBjb25maWd1cmF0aW9uIHN0cnVjdCAgICAgICAqLworI2RlZmluZSBOVklDICAgICAgICAgICAgICAgICgoTlZJQ19UeXBlICAgICAgKikgICAgIE5WSUNfQkFTRSAgICAgKSAgIC8qITwgTlZJQyBjb25maWd1cmF0aW9uIHN0cnVjdCAgICAgICAgICAqLworI2RlZmluZSBJVE0gICAgICAgICAgICAgICAgICgoSVRNX1R5cGUgICAgICAgKikgICAgIElUTV9CQVNFICAgICAgKSAgIC8qITwgSVRNIGNvbmZpZ3VyYXRpb24gc3RydWN0ICAgICAgICAgICAqLworI2RlZmluZSBEV1QgICAgICAgICAgICAgICAgICgoRFdUX1R5cGUgICAgICAgKikgICAgIERXVF9CQVNFICAgICAgKSAgIC8qITwgRFdUIGNvbmZpZ3VyYXRpb24gc3RydWN0ICAgICAgICAgICAqLworI2RlZmluZSBUUEkgICAgICAgICAgICAgICAgICgoVFBJX1R5cGUgICAgICAgKikgICAgIFRQSV9CQVNFICAgICAgKSAgIC8qITwgVFBJIGNvbmZpZ3VyYXRpb24gc3RydWN0ICAgICAgICAgICAqLworI2RlZmluZSBDb3JlRGVidWcgICAgICAgICAgICgoQ29yZURlYnVnX1R5cGUgKikgICAgIENvcmVEZWJ1Z19CQVNFKSAgIC8qITwgQ29yZSBEZWJ1ZyBjb25maWd1cmF0aW9uIHN0cnVjdCAgICAqLworCisjaWYgKF9fTVBVX1BSRVNFTlQgPT0gMSkKKyAgI2RlZmluZSBNUFVfQkFTRSAgICAgICAgICAoU0NTX0JBU0UgKyAgMHgwRDkwVUwpICAgICAgICAgICAgICAgICAgICAvKiE8IE1lbW9yeSBQcm90ZWN0aW9uIFVuaXQgICAgICAgICAgICAgKi8KKyAgI2RlZmluZSBNUFUgICAgICAgICAgICAgICAoKE1QVV9UeXBlICAgICAgICopICAgICBNUFVfQkFTRSAgICAgICkgICAvKiE8IE1lbW9yeSBQcm90ZWN0aW9uIFVuaXQgICAgICAgICAgICAgKi8KKyNlbmRpZgorCisvKkB9ICovCisKKworCisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorICogICAgICAgICAgICAgICAgSGFyZHdhcmUgQWJzdHJhY3Rpb24gTGF5ZXIKKyAgQ29yZSBGdW5jdGlvbiBJbnRlcmZhY2UgY29udGFpbnM6CisgIC0gQ29yZSBOVklDIEZ1bmN0aW9ucworICAtIENvcmUgU3lzVGljayBGdW5jdGlvbnMKKyAgLSBDb3JlIERlYnVnIEZ1bmN0aW9ucworICAtIENvcmUgUmVnaXN0ZXIgQWNjZXNzIEZ1bmN0aW9ucworICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KKy8qKiBcZGVmZ3JvdXAgQ01TSVNfQ29yZV9GdW5jdGlvbkludGVyZmFjZSBGdW5jdGlvbnMgYW5kIEluc3RydWN0aW9ucyBSZWZlcmVuY2UKKyovCisKKworCisvKiAjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyAgIE5WSUMgZnVuY3Rpb25zICAjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMgKi8KKy8qKiBcaW5ncm91cCAgQ01TSVNfQ29yZV9GdW5jdGlvbkludGVyZmFjZQorICAgIFxkZWZncm91cCBDTVNJU19Db3JlX05WSUNGdW5jdGlvbnMgTlZJQyBGdW5jdGlvbnMKKyAgICBcYnJpZWYgICAgICBGdW5jdGlvbnMgdGhhdCBtYW5hZ2UgaW50ZXJydXB0cyBhbmQgZXhjZXB0aW9ucyB2aWEgdGhlIE5WSUMuCisgICAgQHsKKyAqLworCisvKiogXGJyaWVmICBTZXQgUHJpb3JpdHkgR3JvdXBpbmcKKworICBUaGUgZnVuY3Rpb24gc2V0cyB0aGUgcHJpb3JpdHkgZ3JvdXBpbmcgZmllbGQgdXNpbmcgdGhlIHJlcXVpcmVkIHVubG9jayBzZXF1ZW5jZS4KKyAgVGhlIHBhcmFtZXRlciBQcmlvcml0eUdyb3VwIGlzIGFzc2lnbmVkIHRvIHRoZSBmaWVsZCBTQ0ItPkFJUkNSIFsxMDo4XSBQUklHUk9VUCBmaWVsZC4KKyAgT25seSB2YWx1ZXMgZnJvbSAwLi43IGFyZSB1c2VkLgorICBJbiBjYXNlIG9mIGEgY29uZmxpY3QgYmV0d2VlbiBwcmlvcml0eSBncm91cGluZyBhbmQgYXZhaWxhYmxlCisgIHByaW9yaXR5IGJpdHMgKF9fTlZJQ19QUklPX0JJVFMpLCB0aGUgc21hbGxlc3QgcG9zc2libGUgcHJpb3JpdHkgZ3JvdXAgaXMgc2V0LgorCisgICAgXHBhcmFtIFtpbl0gICAgICBQcmlvcml0eUdyb3VwICBQcmlvcml0eSBncm91cGluZyBmaWVsZC4KKyAqLworX19TVEFUSUNfSU5MSU5FIHZvaWQgTlZJQ19TZXRQcmlvcml0eUdyb3VwaW5nKHVpbnQzMl90IFByaW9yaXR5R3JvdXApCit7CisgIHVpbnQzMl90IHJlZ192YWx1ZTsKKyAgdWludDMyX3QgUHJpb3JpdHlHcm91cFRtcCA9IChQcmlvcml0eUdyb3VwICYgKHVpbnQzMl90KTB4MDcpOyAgICAgICAgICAgICAgIC8qIG9ubHkgdmFsdWVzIDAuLjcgYXJlIHVzZWQgICAgICAgICAgKi8KKworICByZWdfdmFsdWUgID0gIFNDQi0+QUlSQ1I7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyogcmVhZCBvbGQgcmVnaXN0ZXIgY29uZmlndXJhdGlvbiAgICAqLworICByZWdfdmFsdWUgJj0gfihTQ0JfQUlSQ1JfVkVDVEtFWV9Nc2sgfCBTQ0JfQUlSQ1JfUFJJR1JPVVBfTXNrKTsgICAgICAgICAgICAgLyogY2xlYXIgYml0cyB0byBjaGFuZ2UgICAgICAgICAgICAgICAqLworICByZWdfdmFsdWUgID0gIChyZWdfdmFsdWUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8CisgICAgICAgICAgICAgICAgKCh1aW50MzJfdCkweDVGQSA8PCBTQ0JfQUlSQ1JfVkVDVEtFWV9Qb3MpIHwKKyAgICAgICAgICAgICAgICAoUHJpb3JpdHlHcm91cFRtcCA8PCA4KSk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qIEluc2VydCB3cml0ZSBrZXkgYW5kIHByaW9ydHkgZ3JvdXAgKi8KKyAgU0NCLT5BSVJDUiA9ICByZWdfdmFsdWU7Cit9CisKKworLyoqIFxicmllZiAgR2V0IFByaW9yaXR5IEdyb3VwaW5nCisKKyAgVGhlIGZ1bmN0aW9uIHJlYWRzIHRoZSBwcmlvcml0eSBncm91cGluZyBmaWVsZCBmcm9tIHRoZSBOVklDIEludGVycnVwdCBDb250cm9sbGVyLgorCisgICAgXHJldHVybiAgICAgICAgICAgICAgICBQcmlvcml0eSBncm91cGluZyBmaWVsZCAoU0NCLT5BSVJDUiBbMTA6OF0gUFJJR1JPVVAgZmllbGQpLgorICovCitfX1NUQVRJQ19JTkxJTkUgdWludDMyX3QgTlZJQ19HZXRQcmlvcml0eUdyb3VwaW5nKHZvaWQpCit7CisgIHJldHVybiAoKFNDQi0+QUlSQ1IgJiBTQ0JfQUlSQ1JfUFJJR1JPVVBfTXNrKSA+PiBTQ0JfQUlSQ1JfUFJJR1JPVVBfUG9zKTsgICAvKiByZWFkIHByaW9yaXR5IGdyb3VwaW5nIGZpZWxkICovCit9CisKKworLyoqIFxicmllZiAgRW5hYmxlIEV4dGVybmFsIEludGVycnVwdAorCisgICAgVGhlIGZ1bmN0aW9uIGVuYWJsZXMgYSBkZXZpY2Utc3BlY2lmaWMgaW50ZXJydXB0IGluIHRoZSBOVklDIGludGVycnVwdCBjb250cm9sbGVyLgorCisgICAgXHBhcmFtIFtpbl0gICAgICBJUlFuICBFeHRlcm5hbCBpbnRlcnJ1cHQgbnVtYmVyLiBWYWx1ZSBjYW5ub3QgYmUgbmVnYXRpdmUuCisgKi8KK19fU1RBVElDX0lOTElORSB2b2lkIE5WSUNfRW5hYmxlSVJRKElSUW5fVHlwZSBJUlFuKQoreworICBOVklDLT5JU0VSWygodWludDMyX3QpKElSUW4pID4+IDUpXSA9ICgxIDw8ICgodWludDMyX3QpKElSUW4pICYgMHgxRikpOyAvKiBlbmFibGUgaW50ZXJydXB0ICovCit9CisKKworLyoqIFxicmllZiAgRGlzYWJsZSBFeHRlcm5hbCBJbnRlcnJ1cHQKKworICAgIFRoZSBmdW5jdGlvbiBkaXNhYmxlcyBhIGRldmljZS1zcGVjaWZpYyBpbnRlcnJ1cHQgaW4gdGhlIE5WSUMgaW50ZXJydXB0IGNvbnRyb2xsZXIuCisKKyAgICBccGFyYW0gW2luXSAgICAgIElSUW4gIEV4dGVybmFsIGludGVycnVwdCBudW1iZXIuIFZhbHVlIGNhbm5vdCBiZSBuZWdhdGl2ZS4KKyAqLworX19TVEFUSUNfSU5MSU5FIHZvaWQgTlZJQ19EaXNhYmxlSVJRKElSUW5fVHlwZSBJUlFuKQoreworICBOVklDLT5JQ0VSWygodWludDMyX3QpKElSUW4pID4+IDUpXSA9ICgxIDw8ICgodWludDMyX3QpKElSUW4pICYgMHgxRikpOyAvKiBkaXNhYmxlIGludGVycnVwdCAqLworfQorCisKKy8qKiBcYnJpZWYgIEdldCBQZW5kaW5nIEludGVycnVwdAorCisgICAgVGhlIGZ1bmN0aW9uIHJlYWRzIHRoZSBwZW5kaW5nIHJlZ2lzdGVyIGluIHRoZSBOVklDIGFuZCByZXR1cm5zIHRoZSBwZW5kaW5nIGJpdAorICAgIGZvciB0aGUgc3BlY2lmaWVkIGludGVycnVwdC4KKworICAgIFxwYXJhbSBbaW5dICAgICAgSVJRbiAgSW50ZXJydXB0IG51bWJlci4KKworICAgIFxyZXR1cm4gICAgICAgICAgICAgMCAgSW50ZXJydXB0IHN0YXR1cyBpcyBub3QgcGVuZGluZy4KKyAgICBccmV0dXJuICAgICAgICAgICAgIDEgIEludGVycnVwdCBzdGF0dXMgaXMgcGVuZGluZy4KKyAqLworX19TVEFUSUNfSU5MSU5FIHVpbnQzMl90IE5WSUNfR2V0UGVuZGluZ0lSUShJUlFuX1R5cGUgSVJRbikKK3sKKyAgcmV0dXJuKCh1aW50MzJfdCkgKChOVklDLT5JU1BSWyh1aW50MzJfdCkoSVJRbikgPj4gNV0gJiAoMSA8PCAoKHVpbnQzMl90KShJUlFuKSAmIDB4MUYpKSk/MTowKSk7IC8qIFJldHVybiAxIGlmIHBlbmRpbmcgZWxzZSAwICovCit9CisKKworLyoqIFxicmllZiAgU2V0IFBlbmRpbmcgSW50ZXJydXB0CisKKyAgICBUaGUgZnVuY3Rpb24gc2V0cyB0aGUgcGVuZGluZyBiaXQgb2YgYW4gZXh0ZXJuYWwgaW50ZXJydXB0LgorCisgICAgXHBhcmFtIFtpbl0gICAgICBJUlFuICBJbnRlcnJ1cHQgbnVtYmVyLiBWYWx1ZSBjYW5ub3QgYmUgbmVnYXRpdmUuCisgKi8KK19fU1RBVElDX0lOTElORSB2b2lkIE5WSUNfU2V0UGVuZGluZ0lSUShJUlFuX1R5cGUgSVJRbikKK3sKKyAgTlZJQy0+SVNQUlsoKHVpbnQzMl90KShJUlFuKSA+PiA1KV0gPSAoMSA8PCAoKHVpbnQzMl90KShJUlFuKSAmIDB4MUYpKTsgLyogc2V0IGludGVycnVwdCBwZW5kaW5nICovCit9CisKKworLyoqIFxicmllZiAgQ2xlYXIgUGVuZGluZyBJbnRlcnJ1cHQKKworICAgIFRoZSBmdW5jdGlvbiBjbGVhcnMgdGhlIHBlbmRpbmcgYml0IG9mIGFuIGV4dGVybmFsIGludGVycnVwdC4KKworICAgIFxwYXJhbSBbaW5dICAgICAgSVJRbiAgRXh0ZXJuYWwgaW50ZXJydXB0IG51bWJlci4gVmFsdWUgY2Fubm90IGJlIG5lZ2F0aXZlLgorICovCitfX1NUQVRJQ19JTkxJTkUgdm9pZCBOVklDX0NsZWFyUGVuZGluZ0lSUShJUlFuX1R5cGUgSVJRbikKK3sKKyAgTlZJQy0+SUNQUlsoKHVpbnQzMl90KShJUlFuKSA+PiA1KV0gPSAoMSA8PCAoKHVpbnQzMl90KShJUlFuKSAmIDB4MUYpKTsgLyogQ2xlYXIgcGVuZGluZyBpbnRlcnJ1cHQgKi8KK30KKworCisvKiogXGJyaWVmICBHZXQgQWN0aXZlIEludGVycnVwdAorCisgICAgVGhlIGZ1bmN0aW9uIHJlYWRzIHRoZSBhY3RpdmUgcmVnaXN0ZXIgaW4gTlZJQyBhbmQgcmV0dXJucyB0aGUgYWN0aXZlIGJpdC4KKworICAgIFxwYXJhbSBbaW5dICAgICAgSVJRbiAgSW50ZXJydXB0IG51bWJlci4KKworICAgIFxyZXR1cm4gICAgICAgICAgICAgMCAgSW50ZXJydXB0IHN0YXR1cyBpcyBub3QgYWN0aXZlLgorICAgIFxyZXR1cm4gICAgICAgICAgICAgMSAgSW50ZXJydXB0IHN0YXR1cyBpcyBhY3RpdmUuCisgKi8KK19fU1RBVElDX0lOTElORSB1aW50MzJfdCBOVklDX0dldEFjdGl2ZShJUlFuX1R5cGUgSVJRbikKK3sKKyAgcmV0dXJuKCh1aW50MzJfdCkoKE5WSUMtPklBQlJbKHVpbnQzMl90KShJUlFuKSA+PiA1XSAmICgxIDw8ICgodWludDMyX3QpKElSUW4pICYgMHgxRikpKT8xOjApKTsgLyogUmV0dXJuIDEgaWYgYWN0aXZlIGVsc2UgMCAqLworfQorCisKKy8qKiBcYnJpZWYgIFNldCBJbnRlcnJ1cHQgUHJpb3JpdHkKKworICAgIFRoZSBmdW5jdGlvbiBzZXRzIHRoZSBwcmlvcml0eSBvZiBhbiBpbnRlcnJ1cHQuCisKKyAgICBcbm90ZSBUaGUgcHJpb3JpdHkgY2Fubm90IGJlIHNldCBmb3IgZXZlcnkgY29yZSBpbnRlcnJ1cHQuCisKKyAgICBccGFyYW0gW2luXSAgICAgIElSUW4gIEludGVycnVwdCBudW1iZXIuCisgICAgXHBhcmFtIFtpbl0gIHByaW9yaXR5ICBQcmlvcml0eSB0byBzZXQuCisgKi8KK19fU1RBVElDX0lOTElORSB2b2lkIE5WSUNfU2V0UHJpb3JpdHkoSVJRbl9UeXBlIElSUW4sIHVpbnQzMl90IHByaW9yaXR5KQoreworICBpZihJUlFuIDwgMCkgeworICAgIFNDQi0+U0hQWygodWludDMyX3QpKElSUW4pICYgMHhGKS00XSA9ICgocHJpb3JpdHkgPDwgKDggLSBfX05WSUNfUFJJT19CSVRTKSkgJiAweGZmKTsgfSAvKiBzZXQgUHJpb3JpdHkgZm9yIENvcnRleC1NICBTeXN0ZW0gSW50ZXJydXB0cyAqLworICBlbHNlIHsKKyAgICBOVklDLT5JUFsodWludDMyX3QpKElSUW4pXSA9ICgocHJpb3JpdHkgPDwgKDggLSBfX05WSUNfUFJJT19CSVRTKSkgJiAweGZmKTsgICAgfSAgICAgICAgLyogc2V0IFByaW9yaXR5IGZvciBkZXZpY2Ugc3BlY2lmaWMgSW50ZXJydXB0cyAgKi8KK30KKworCisvKiogXGJyaWVmICBHZXQgSW50ZXJydXB0IFByaW9yaXR5CisKKyAgICBUaGUgZnVuY3Rpb24gcmVhZHMgdGhlIHByaW9yaXR5IG9mIGFuIGludGVycnVwdC4gVGhlIGludGVycnVwdAorICAgIG51bWJlciBjYW4gYmUgcG9zaXRpdmUgdG8gc3BlY2lmeSBhbiBleHRlcm5hbCAoZGV2aWNlIHNwZWNpZmljKQorICAgIGludGVycnVwdCwgb3IgbmVnYXRpdmUgdG8gc3BlY2lmeSBhbiBpbnRlcm5hbCAoY29yZSkgaW50ZXJydXB0LgorCisKKyAgICBccGFyYW0gW2luXSAgIElSUW4gIEludGVycnVwdCBudW1iZXIuCisgICAgXHJldHVybiAgICAgICAgICAgICBJbnRlcnJ1cHQgUHJpb3JpdHkuIFZhbHVlIGlzIGFsaWduZWQgYXV0b21hdGljYWxseSB0byB0aGUgaW1wbGVtZW50ZWQKKyAgICAgICAgICAgICAgICAgICAgICAgIHByaW9yaXR5IGJpdHMgb2YgdGhlIG1pY3JvY29udHJvbGxlci4KKyAqLworX19TVEFUSUNfSU5MSU5FIHVpbnQzMl90IE5WSUNfR2V0UHJpb3JpdHkoSVJRbl9UeXBlIElSUW4pCit7CisKKyAgaWYoSVJRbiA8IDApIHsKKyAgICByZXR1cm4oKHVpbnQzMl90KShTQ0ItPlNIUFsoKHVpbnQzMl90KShJUlFuKSAmIDB4RiktNF0gPj4gKDggLSBfX05WSUNfUFJJT19CSVRTKSkpOyAgfSAvKiBnZXQgcHJpb3JpdHkgZm9yIENvcnRleC1NICBzeXN0ZW0gaW50ZXJydXB0cyAqLworICBlbHNlIHsKKyAgICByZXR1cm4oKHVpbnQzMl90KShOVklDLT5JUFsodWludDMyX3QpKElSUW4pXSAgICAgICAgICAgPj4gKDggLSBfX05WSUNfUFJJT19CSVRTKSkpOyAgfSAvKiBnZXQgcHJpb3JpdHkgZm9yIGRldmljZSBzcGVjaWZpYyBpbnRlcnJ1cHRzICAqLworfQorCisKKy8qKiBcYnJpZWYgIEVuY29kZSBQcmlvcml0eQorCisgICAgVGhlIGZ1bmN0aW9uIGVuY29kZXMgdGhlIHByaW9yaXR5IGZvciBhbiBpbnRlcnJ1cHQgd2l0aCB0aGUgZ2l2ZW4gcHJpb3JpdHkgZ3JvdXAsCisgICAgcHJlZW1wdGl2ZSBwcmlvcml0eSB2YWx1ZSwgYW5kIHN1YnByaW9yaXR5IHZhbHVlLgorICAgIEluIGNhc2Ugb2YgYSBjb25mbGljdCBiZXR3ZWVuIHByaW9yaXR5IGdyb3VwaW5nIGFuZCBhdmFpbGFibGUKKyAgICBwcmlvcml0eSBiaXRzIChfX05WSUNfUFJJT19CSVRTKSwgdGhlIHNhbWxsZXN0IHBvc3NpYmxlIHByaW9yaXR5IGdyb3VwIGlzIHNldC4KKworICAgIFxwYXJhbSBbaW5dICAgICBQcmlvcml0eUdyb3VwICBVc2VkIHByaW9yaXR5IGdyb3VwLgorICAgIFxwYXJhbSBbaW5dICAgUHJlZW1wdFByaW9yaXR5ICBQcmVlbXB0aXZlIHByaW9yaXR5IHZhbHVlIChzdGFydGluZyBmcm9tIDApLgorICAgIFxwYXJhbSBbaW5dICAgICAgIFN1YlByaW9yaXR5ICBTdWJwcmlvcml0eSB2YWx1ZSAoc3RhcnRpbmcgZnJvbSAwKS4KKyAgICBccmV0dXJuICAgICAgICAgICAgICAgICAgICAgICAgRW5jb2RlZCBwcmlvcml0eS4gVmFsdWUgY2FuIGJlIHVzZWQgaW4gdGhlIGZ1bmN0aW9uIFxyZWYgTlZJQ19TZXRQcmlvcml0eSgpLgorICovCitfX1NUQVRJQ19JTkxJTkUgdWludDMyX3QgTlZJQ19FbmNvZGVQcmlvcml0eSAodWludDMyX3QgUHJpb3JpdHlHcm91cCwgdWludDMyX3QgUHJlZW1wdFByaW9yaXR5LCB1aW50MzJfdCBTdWJQcmlvcml0eSkKK3sKKyAgdWludDMyX3QgUHJpb3JpdHlHcm91cFRtcCA9IChQcmlvcml0eUdyb3VwICYgMHgwNyk7ICAgICAgICAgIC8qIG9ubHkgdmFsdWVzIDAuLjcgYXJlIHVzZWQgICAgICAgICAgKi8KKyAgdWludDMyX3QgUHJlZW1wdFByaW9yaXR5Qml0czsKKyAgdWludDMyX3QgU3ViUHJpb3JpdHlCaXRzOworCisgIFByZWVtcHRQcmlvcml0eUJpdHMgPSAoKDcgLSBQcmlvcml0eUdyb3VwVG1wKSA+IF9fTlZJQ19QUklPX0JJVFMpID8gX19OVklDX1BSSU9fQklUUyA6IDcgLSBQcmlvcml0eUdyb3VwVG1wOworICBTdWJQcmlvcml0eUJpdHMgICAgID0gKChQcmlvcml0eUdyb3VwVG1wICsgX19OVklDX1BSSU9fQklUUykgPCA3KSA/IDAgOiBQcmlvcml0eUdyb3VwVG1wIC0gNyArIF9fTlZJQ19QUklPX0JJVFM7CisKKyAgcmV0dXJuICgKKyAgICAgICAgICAgKChQcmVlbXB0UHJpb3JpdHkgJiAoKDEgPDwgKFByZWVtcHRQcmlvcml0eUJpdHMpKSAtIDEpKSA8PCBTdWJQcmlvcml0eUJpdHMpIHwKKyAgICAgICAgICAgKChTdWJQcmlvcml0eSAgICAgJiAoKDEgPDwgKFN1YlByaW9yaXR5Qml0cyAgICApKSAtIDEpKSkKKyAgICAgICAgICk7Cit9CisKKworLyoqIFxicmllZiAgRGVjb2RlIFByaW9yaXR5CisKKyAgICBUaGUgZnVuY3Rpb24gZGVjb2RlcyBhbiBpbnRlcnJ1cHQgcHJpb3JpdHkgdmFsdWUgd2l0aCBhIGdpdmVuIHByaW9yaXR5IGdyb3VwIHRvCisgICAgcHJlZW1wdGl2ZSBwcmlvcml0eSB2YWx1ZSBhbmQgc3VicHJpb3JpdHkgdmFsdWUuCisgICAgSW4gY2FzZSBvZiBhIGNvbmZsaWN0IGJldHdlZW4gcHJpb3JpdHkgZ3JvdXBpbmcgYW5kIGF2YWlsYWJsZQorICAgIHByaW9yaXR5IGJpdHMgKF9fTlZJQ19QUklPX0JJVFMpIHRoZSBzYW1sbGVzdCBwb3NzaWJsZSBwcmlvcml0eSBncm91cCBpcyBzZXQuCisKKyAgICBccGFyYW0gW2luXSAgICAgICAgIFByaW9yaXR5ICAgUHJpb3JpdHkgdmFsdWUsIHdoaWNoIGNhbiBiZSByZXRyaWV2ZWQgd2l0aCB0aGUgZnVuY3Rpb24gXHJlZiBOVklDX0dldFByaW9yaXR5KCkuCisgICAgXHBhcmFtIFtpbl0gICAgIFByaW9yaXR5R3JvdXAgIFVzZWQgcHJpb3JpdHkgZ3JvdXAuCisgICAgXHBhcmFtIFtvdXRdIHBQcmVlbXB0UHJpb3JpdHkgIFByZWVtcHRpdmUgcHJpb3JpdHkgdmFsdWUgKHN0YXJ0aW5nIGZyb20gMCkuCisgICAgXHBhcmFtIFtvdXRdICAgICBwU3ViUHJpb3JpdHkgIFN1YnByaW9yaXR5IHZhbHVlIChzdGFydGluZyBmcm9tIDApLgorICovCitfX1NUQVRJQ19JTkxJTkUgdm9pZCBOVklDX0RlY29kZVByaW9yaXR5ICh1aW50MzJfdCBQcmlvcml0eSwgdWludDMyX3QgUHJpb3JpdHlHcm91cCwgdWludDMyX3QqIHBQcmVlbXB0UHJpb3JpdHksIHVpbnQzMl90KiBwU3ViUHJpb3JpdHkpCit7CisgIHVpbnQzMl90IFByaW9yaXR5R3JvdXBUbXAgPSAoUHJpb3JpdHlHcm91cCAmIDB4MDcpOyAgICAgICAgICAvKiBvbmx5IHZhbHVlcyAwLi43IGFyZSB1c2VkICAgICAgICAgICovCisgIHVpbnQzMl90IFByZWVtcHRQcmlvcml0eUJpdHM7CisgIHVpbnQzMl90IFN1YlByaW9yaXR5Qml0czsKKworICBQcmVlbXB0UHJpb3JpdHlCaXRzID0gKCg3IC0gUHJpb3JpdHlHcm91cFRtcCkgPiBfX05WSUNfUFJJT19CSVRTKSA/IF9fTlZJQ19QUklPX0JJVFMgOiA3IC0gUHJpb3JpdHlHcm91cFRtcDsKKyAgU3ViUHJpb3JpdHlCaXRzICAgICA9ICgoUHJpb3JpdHlHcm91cFRtcCArIF9fTlZJQ19QUklPX0JJVFMpIDwgNykgPyAwIDogUHJpb3JpdHlHcm91cFRtcCAtIDcgKyBfX05WSUNfUFJJT19CSVRTOworCisgICpwUHJlZW1wdFByaW9yaXR5ID0gKFByaW9yaXR5ID4+IFN1YlByaW9yaXR5Qml0cykgJiAoKDEgPDwgKFByZWVtcHRQcmlvcml0eUJpdHMpKSAtIDEpOworICAqcFN1YlByaW9yaXR5ICAgICA9IChQcmlvcml0eSAgICAgICAgICAgICAgICAgICApICYgKCgxIDw8IChTdWJQcmlvcml0eUJpdHMgICAgKSkgLSAxKTsKK30KKworCisvKiogXGJyaWVmICBTeXN0ZW0gUmVzZXQKKworICAgIFRoZSBmdW5jdGlvbiBpbml0aWF0ZXMgYSBzeXN0ZW0gcmVzZXQgcmVxdWVzdCB0byByZXNldCB0aGUgTUNVLgorICovCitfX1NUQVRJQ19JTkxJTkUgdm9pZCBOVklDX1N5c3RlbVJlc2V0KHZvaWQpCit7CisgIF9fRFNCKCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiBFbnN1cmUgYWxsIG91dHN0YW5kaW5nIG1lbW9yeSBhY2Nlc3NlcyBpbmNsdWRlZAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYnVmZmVyZWQgd3JpdGUgYXJlIGNvbXBsZXRlZCBiZWZvcmUgcmVzZXQgKi8KKyAgU0NCLT5BSVJDUiAgPSAoKDB4NUZBIDw8IFNDQl9BSVJDUl9WRUNUS0VZX1BvcykgICAgICB8CisgICAgICAgICAgICAgICAgIChTQ0ItPkFJUkNSICYgU0NCX0FJUkNSX1BSSUdST1VQX01zaykgfAorICAgICAgICAgICAgICAgICBTQ0JfQUlSQ1JfU1lTUkVTRVRSRVFfTXNrKTsgICAgICAgICAgICAgICAgICAgLyogS2VlcCBwcmlvcml0eSBncm91cCB1bmNoYW5nZWQgKi8KKyAgX19EU0IoKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qIEVuc3VyZSBjb21wbGV0aW9uIG9mIG1lbW9yeSBhY2Nlc3MgKi8KKyAgd2hpbGUoMSk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qIHdhaXQgdW50aWwgcmVzZXQgKi8KK30KKworLypAfSBlbmQgb2YgQ01TSVNfQ29yZV9OVklDRnVuY3Rpb25zICovCisKKworCisvKiAjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjICAgIFN5c1RpY2sgZnVuY3Rpb24gICMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjICovCisvKiogXGluZ3JvdXAgIENNU0lTX0NvcmVfRnVuY3Rpb25JbnRlcmZhY2UKKyAgICBcZGVmZ3JvdXAgQ01TSVNfQ29yZV9TeXNUaWNrRnVuY3Rpb25zIFN5c1RpY2sgRnVuY3Rpb25zCisgICAgXGJyaWVmICAgICAgRnVuY3Rpb25zIHRoYXQgY29uZmlndXJlIHRoZSBTeXN0ZW0uCisgIEB7CisgKi8KKworI2lmIChfX1ZlbmRvcl9TeXNUaWNrQ29uZmlnID09IDApCisKKy8qKiBcYnJpZWYgIFN5c3RlbSBUaWNrIENvbmZpZ3VyYXRpb24KKworICAgIFRoZSBmdW5jdGlvbiBpbml0aWFsaXplcyB0aGUgU3lzdGVtIFRpbWVyIGFuZCBpdHMgaW50ZXJydXB0LCBhbmQgc3RhcnRzIHRoZSBTeXN0ZW0gVGljayBUaW1lci4KKyAgICBDb3VudGVyIGlzIGluIGZyZWUgcnVubmluZyBtb2RlIHRvIGdlbmVyYXRlIHBlcmlvZGljIGludGVycnVwdHMuCisKKyAgICBccGFyYW0gW2luXSAgdGlja3MgIE51bWJlciBvZiB0aWNrcyBiZXR3ZWVuIHR3byBpbnRlcnJ1cHRzLgorCisgICAgXHJldHVybiAgICAgICAgICAwICBGdW5jdGlvbiBzdWNjZWVkZWQuCisgICAgXHJldHVybiAgICAgICAgICAxICBGdW5jdGlvbiBmYWlsZWQuCisKKyAgICBcbm90ZSAgICAgV2hlbiB0aGUgdmFyaWFibGUgPGI+X19WZW5kb3JfU3lzVGlja0NvbmZpZzwvYj4gaXMgc2V0IHRvIDEsIHRoZW4gdGhlCisgICAgZnVuY3Rpb24gPGI+U3lzVGlja19Db25maWc8L2I+IGlzIG5vdCBpbmNsdWRlZC4gSW4gdGhpcyBjYXNlLCB0aGUgZmlsZSA8Yj48aT5kZXZpY2U8L2k+Lmg8L2I+CisgICAgbXVzdCBjb250YWluIGEgdmVuZG9yLXNwZWNpZmljIGltcGxlbWVudGF0aW9uIG9mIHRoaXMgZnVuY3Rpb24uCisKKyAqLworX19TVEFUSUNfSU5MSU5FIHVpbnQzMl90IFN5c1RpY2tfQ29uZmlnKHVpbnQzMl90IHRpY2tzKQoreworICBpZiAoKHRpY2tzIC0gMSkgPiBTeXNUaWNrX0xPQURfUkVMT0FEX01zaykgIHJldHVybiAoMSk7ICAgICAgLyogUmVsb2FkIHZhbHVlIGltcG9zc2libGUgKi8KKworICBTeXNUaWNrLT5MT0FEICA9IHRpY2tzIC0gMTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyogc2V0IHJlbG9hZCByZWdpc3RlciAqLworICBOVklDX1NldFByaW9yaXR5IChTeXNUaWNrX0lSUW4sICgxPDxfX05WSUNfUFJJT19CSVRTKSAtIDEpOyAgLyogc2V0IFByaW9yaXR5IGZvciBTeXN0aWNrIEludGVycnVwdCAqLworICBTeXNUaWNrLT5WQUwgICA9IDA7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyogTG9hZCB0aGUgU3lzVGljayBDb3VudGVyIFZhbHVlICovCisgIFN5c1RpY2stPkNUUkwgID0gU3lzVGlja19DVFJMX0NMS1NPVVJDRV9Nc2sgfAorICAgICAgICAgICAgICAgICAgIFN5c1RpY2tfQ1RSTF9USUNLSU5UX01zayAgIHwKKyAgICAgICAgICAgICAgICAgICBTeXNUaWNrX0NUUkxfRU5BQkxFX01zazsgICAgICAgICAgICAgICAgICAgIC8qIEVuYWJsZSBTeXNUaWNrIElSUSBhbmQgU3lzVGljayBUaW1lciAqLworICByZXR1cm4gKDApOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyogRnVuY3Rpb24gc3VjY2Vzc2Z1bCAqLworfQorCisjZW5kaWYKKworLypAfSBlbmQgb2YgQ01TSVNfQ29yZV9TeXNUaWNrRnVuY3Rpb25zICovCisKKworCisvKiAjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIERlYnVnIEluL091dHB1dCBmdW5jdGlvbiAjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjICovCisvKiogXGluZ3JvdXAgIENNU0lTX0NvcmVfRnVuY3Rpb25JbnRlcmZhY2UKKyAgICBcZGVmZ3JvdXAgQ01TSVNfY29yZV9EZWJ1Z0Z1bmN0aW9ucyBJVE0gRnVuY3Rpb25zCisgICAgXGJyaWVmICAgRnVuY3Rpb25zIHRoYXQgYWNjZXNzIHRoZSBJVE0gZGVidWcgaW50ZXJmYWNlLgorICBAeworICovCisKK2V4dGVybiB2b2xhdGlsZSBpbnQzMl90IElUTV9SeEJ1ZmZlcjsgICAgICAgICAgICAgICAgICAgIC8qITwgRXh0ZXJuYWwgdmFyaWFibGUgdG8gcmVjZWl2ZSBjaGFyYWN0ZXJzLiAgICAgICAgICAgICAgICAgICAgICAgICAqLworI2RlZmluZSAgICAgICAgICAgICAgICAgSVRNX1JYQlVGRkVSX0VNUFRZICAgIDB4NUFBNTVBQTUgLyohPCBWYWx1ZSBpZGVudGlmeWluZyBccmVmIElUTV9SeEJ1ZmZlciBpcyByZWFkeSBmb3IgbmV4dCBjaGFyYWN0ZXIuICovCisKKworLyoqIFxicmllZiAgSVRNIFNlbmQgQ2hhcmFjdGVyCisKKyAgICBUaGUgZnVuY3Rpb24gdHJhbnNtaXRzIGEgY2hhcmFjdGVyIHZpYSB0aGUgSVRNIGNoYW5uZWwgMCwgYW5kCisgICAgXGxpIEp1c3QgcmV0dXJucyB3aGVuIG5vIGRlYnVnZ2VyIGlzIGNvbm5lY3RlZCB0aGF0IGhhcyBib29rZWQgdGhlIG91dHB1dC4KKyAgICBcbGkgSXMgYmxvY2tpbmcgd2hlbiBhIGRlYnVnZ2VyIGlzIGNvbm5lY3RlZCwgYnV0IHRoZSBwcmV2aW91cyBjaGFyYWN0ZXIgc2VudCBoYXMgbm90IGJlZW4gdHJhbnNtaXR0ZWQuCisKKyAgICBccGFyYW0gW2luXSAgICAgY2ggIENoYXJhY3RlciB0byB0cmFuc21pdC4KKworICAgIFxyZXR1cm5zICAgICAgICAgICAgQ2hhcmFjdGVyIHRvIHRyYW5zbWl0LgorICovCitfX1NUQVRJQ19JTkxJTkUgdWludDMyX3QgSVRNX1NlbmRDaGFyICh1aW50MzJfdCBjaCkKK3sKKyAgaWYgKChJVE0tPlRDUiAmIElUTV9UQ1JfSVRNRU5BX01zaykgICAgICAgICAgICAgICAgICAmJiAgICAgIC8qIElUTSBlbmFibGVkICovCisgICAgICAoSVRNLT5URVIgJiAoMVVMIDw8IDApICAgICAgICApICAgICAgICAgICAgICAgICAgICApICAgICAvKiBJVE0gUG9ydCAjMCBlbmFibGVkICovCisgIHsKKyAgICB3aGlsZSAoSVRNLT5QT1JUWzBdLnUzMiA9PSAwKTsKKyAgICBJVE0tPlBPUlRbMF0udTggPSAodWludDhfdCkgY2g7CisgIH0KKyAgcmV0dXJuIChjaCk7Cit9CisKKworLyoqIFxicmllZiAgSVRNIFJlY2VpdmUgQ2hhcmFjdGVyCisKKyAgICBUaGUgZnVuY3Rpb24gaW5wdXRzIGEgY2hhcmFjdGVyIHZpYSB0aGUgZXh0ZXJuYWwgdmFyaWFibGUgXHJlZiBJVE1fUnhCdWZmZXIuCisKKyAgICBccmV0dXJuICAgICAgICAgICAgIFJlY2VpdmVkIGNoYXJhY3Rlci4KKyAgICBccmV0dXJuICAgICAgICAgLTEgIE5vIGNoYXJhY3RlciBwZW5kaW5nLgorICovCitfX1NUQVRJQ19JTkxJTkUgaW50MzJfdCBJVE1fUmVjZWl2ZUNoYXIgKHZvaWQpIHsKKyAgaW50MzJfdCBjaCA9IC0xOyAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qIG5vIGNoYXJhY3RlciBhdmFpbGFibGUgKi8KKworICBpZiAoSVRNX1J4QnVmZmVyICE9IElUTV9SWEJVRkZFUl9FTVBUWSkgeworICAgIGNoID0gSVRNX1J4QnVmZmVyOworICAgIElUTV9SeEJ1ZmZlciA9IElUTV9SWEJVRkZFUl9FTVBUWTsgICAgICAgLyogcmVhZHkgZm9yIG5leHQgY2hhcmFjdGVyICovCisgIH0KKworICByZXR1cm4gKGNoKTsKK30KKworCisvKiogXGJyaWVmICBJVE0gQ2hlY2sgQ2hhcmFjdGVyCisKKyAgICBUaGUgZnVuY3Rpb24gY2hlY2tzIHdoZXRoZXIgYSBjaGFyYWN0ZXIgaXMgcGVuZGluZyBmb3IgcmVhZGluZyBpbiB0aGUgdmFyaWFibGUgXHJlZiBJVE1fUnhCdWZmZXIuCisKKyAgICBccmV0dXJuICAgICAgICAgIDAgIE5vIGNoYXJhY3RlciBhdmFpbGFibGUuCisgICAgXHJldHVybiAgICAgICAgICAxICBDaGFyYWN0ZXIgYXZhaWxhYmxlLgorICovCitfX1NUQVRJQ19JTkxJTkUgaW50MzJfdCBJVE1fQ2hlY2tDaGFyICh2b2lkKSB7CisKKyAgaWYgKElUTV9SeEJ1ZmZlciA9PSBJVE1fUlhCVUZGRVJfRU1QVFkpIHsKKyAgICByZXR1cm4gKDApOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qIG5vIGNoYXJhY3RlciBhdmFpbGFibGUgKi8KKyAgfSBlbHNlIHsKKyAgICByZXR1cm4gKDEpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qICAgIGNoYXJhY3RlciBhdmFpbGFibGUgKi8KKyAgfQorfQorCisvKkB9IGVuZCBvZiBDTVNJU19jb3JlX0RlYnVnRnVuY3Rpb25zICovCisKKyNlbmRpZiAvKiBfX0NPUkVfQ00zX0hfREVQRU5EQU5UICovCisKKyNlbmRpZiAvKiBfX0NNU0lTX0dFTkVSSUMgKi8KKworI2lmZGVmIF9fY3BsdXNwbHVzCit9CisjZW5kaWYKZGlmZiAtLWdpdCBhL2JiYl9jYXBlL3NyYy9jYXBlL2djY19hcm0ubGQgYi9iYmJfY2FwZS9zcmMvY2FwZS9nY2NfYXJtLmxkCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmNlZjQ2OGMKLS0tIC9kZXYvbnVsbAorKysgYi9iYmJfY2FwZS9zcmMvY2FwZS9nY2NfYXJtLmxkCkBAIC0wLDAgKzEsMTUwIEBACisvKiBMaW5rZXIgc2NyaXB0IHRvIGNvbmZpZ3VyZSBtZW1vcnkgcmVnaW9ucy4gKi8KK01FTU9SWQoreworICBGTEFTSCAocngpIDogT1JJR0lOID0gMHgwMDAwMDAwMCwgTEVOR1RIID0gMHg0MDAwMCAgIC8qIDI1NmsgKi8KKyAgUkFNIChyd3gpICA6IE9SSUdJTiA9IDB4MjAwMDAwMDAsIExFTkdUSCA9IDB4MDgwMDAgICAvKiAgMzJrICovCit9CisKKy8qIExpYnJhcnkgY29uZmlndXJhdGlvbnMgKi8KK0dST1VQKGxpYmdjYy5hIGxpYmMuYSBsaWJtLmEgbGlibm9zeXMuYSkKKworLyogTGlua2VyIHNjcmlwdCB0byBwbGFjZSBzZWN0aW9ucyBhbmQgc3ltYm9sIHZhbHVlcy4gU2hvdWxkIGJlIHVzZWQgdG9nZXRoZXIKKyAqIHdpdGggb3RoZXIgbGlua2VyIHNjcmlwdCB0aGF0IGRlZmluZXMgbWVtb3J5IHJlZ2lvbnMgRkxBU0ggYW5kIFJBTS4KKyAqIEl0IHJlZmVyZW5jZXMgZm9sbG93aW5nIHN5bWJvbHMsIHdoaWNoIG11c3QgYmUgZGVmaW5lZCBpbiBjb2RlOgorICogICBSZXNldF9IYW5kbGVyIDogRW50cnkgb2YgcmVzZXQgaGFuZGxlcgorICoKKyAqIEl0IGRlZmluZXMgZm9sbG93aW5nIHN5bWJvbHMsIHdoaWNoIGNvZGUgY2FuIHVzZSB3aXRob3V0IGRlZmluaXRpb246CisgKiAgIF9fZXhpZHhfc3RhcnQKKyAqICAgX19leGlkeF9lbmQKKyAqICAgX19ldGV4dAorICogICBfX2RhdGFfc3RhcnRfXworICogICBfX3ByZWluaXRfYXJyYXlfc3RhcnQKKyAqICAgX19wcmVpbml0X2FycmF5X2VuZAorICogICBfX2luaXRfYXJyYXlfc3RhcnQKKyAqICAgX19pbml0X2FycmF5X2VuZAorICogICBfX2ZpbmlfYXJyYXlfc3RhcnQKKyAqICAgX19maW5pX2FycmF5X2VuZAorICogICBfX2RhdGFfZW5kX18KKyAqICAgX19ic3Nfc3RhcnRfXworICogICBfX2Jzc19lbmRfXworICogICBfX2VuZF9fCisgKiAgIGVuZAorICogICBfX0hlYXBMaW1pdAorICogICBfX1N0YWNrTGltaXQKKyAqICAgX19TdGFja1RvcAorICogICBfX3N0YWNrCisgKi8KK0VOVFJZKFJlc2V0X0hhbmRsZXIpCisKK1NFQ1RJT05TCit7CisJLnRleHQgOgorCXsKKwkJS0VFUCgqKC5pc3JfdmVjdG9yKSkKKwkJKigudGV4dCopCisKKwkJS0VFUCgqKC5pbml0KSkKKwkJS0VFUCgqKC5maW5pKSkKKworCQkvKiAuY3RvcnMgKi8KKwkJKmNydGJlZ2luLm8oLmN0b3JzKQorCQkqY3J0YmVnaW4/Lm8oLmN0b3JzKQorCQkqKEVYQ0xVREVfRklMRSgqY3J0ZW5kPy5vICpjcnRlbmQubykgLmN0b3JzKQorCQkqKFNPUlQoLmN0b3JzLiopKQorCQkqKC5jdG9ycykKKworCQkvKiAuZHRvcnMgKi8KKyAJCSpjcnRiZWdpbi5vKC5kdG9ycykKKyAJCSpjcnRiZWdpbj8ubyguZHRvcnMpCisgCQkqKEVYQ0xVREVfRklMRSgqY3J0ZW5kPy5vICpjcnRlbmQubykgLmR0b3JzKQorIAkJKihTT1JUKC5kdG9ycy4qKSkKKyAJCSooLmR0b3JzKQorCisJCSooLnJvZGF0YSopCisKKwkJS0VFUCgqKC5laF9mcmFtZSopKQorCX0gPiBGTEFTSAorCisJLkFSTS5leHRhYiA6CisJeworCQkqKC5BUk0uZXh0YWIqIC5nbnUubGlua29uY2UuYXJtZXh0YWIuKikKKwl9ID4gRkxBU0gKKworCV9fZXhpZHhfc3RhcnQgPSAuOworCS5BUk0uZXhpZHggOgorCXsKKwkJKiguQVJNLmV4aWR4KiAuZ251LmxpbmtvbmNlLmFybWV4aWR4LiopCisJfSA+IEZMQVNICisJX19leGlkeF9lbmQgPSAuOworCisJX19ldGV4dCA9IC47CisKKwkuZGF0YSA6IEFUIChfX2V0ZXh0KQorCXsKKwkJX19kYXRhX3N0YXJ0X18gPSAuOworCQkqKHZ0YWJsZSkKKwkJKiguZGF0YSopCisKKwkJLiA9IEFMSUdOKDQpOworCQkvKiBwcmVpbml0IGRhdGEgKi8KKwkJUFJPVklERV9ISURERU4gKF9fcHJlaW5pdF9hcnJheV9zdGFydCA9IC4pOworCQlLRUVQKCooLnByZWluaXRfYXJyYXkpKQorCQlQUk9WSURFX0hJRERFTiAoX19wcmVpbml0X2FycmF5X2VuZCA9IC4pOworCisJCS4gPSBBTElHTig0KTsKKwkJLyogaW5pdCBkYXRhICovCisJCVBST1ZJREVfSElEREVOIChfX2luaXRfYXJyYXlfc3RhcnQgPSAuKTsKKwkJS0VFUCgqKFNPUlQoLmluaXRfYXJyYXkuKikpKQorCQlLRUVQKCooLmluaXRfYXJyYXkpKQorCQlQUk9WSURFX0hJRERFTiAoX19pbml0X2FycmF5X2VuZCA9IC4pOworCisKKwkJLiA9IEFMSUdOKDQpOworCQkvKiBmaW5pdCBkYXRhICovCisJCVBST1ZJREVfSElEREVOIChfX2ZpbmlfYXJyYXlfc3RhcnQgPSAuKTsKKwkJS0VFUCgqKFNPUlQoLmZpbmlfYXJyYXkuKikpKQorCQlLRUVQKCooLmZpbmlfYXJyYXkpKQorCQlQUk9WSURFX0hJRERFTiAoX19maW5pX2FycmF5X2VuZCA9IC4pOworCisJCUtFRVAoKiguamNyKikpCisJCS4gPSBBTElHTig0KTsKKwkJLyogQWxsIGRhdGEgZW5kICovCisJCV9fZGF0YV9lbmRfXyA9IC47CisKKwl9ID4gUkFNCisKKwkuYnNzIDoKKwl7CisJCS4gPSBBTElHTig0KTsKKwkJX19ic3Nfc3RhcnRfXyA9IC47CisJCSooLmJzcyopCisJCSooQ09NTU9OKQorCQkuID0gQUxJR04oNCk7CisJCV9fYnNzX2VuZF9fID0gLjsKKwl9ID4gUkFNCisKKwkuaGVhcCAoQ09QWSk6CisJeworCQlfX2VuZF9fID0gLjsKKwkJZW5kID0gX19lbmRfXzsKKwkJKiguaGVhcCopCisJCV9fSGVhcExpbWl0ID0gLjsKKwl9ID4gUkFNCisKKwkvKiAuc3RhY2tfZHVtbXkgc2VjdGlvbiBkb2Vzbid0IGNvbnRhaW5zIGFueSBzeW1ib2xzLiBJdCBpcyBvbmx5CisJICogdXNlZCBmb3IgbGlua2VyIHRvIGNhbGN1bGF0ZSBzaXplIG9mIHN0YWNrIHNlY3Rpb25zLCBhbmQgYXNzaWduCisJICogdmFsdWVzIHRvIHN0YWNrIHN5bWJvbHMgbGF0ZXIgKi8KKwkuc3RhY2tfZHVtbXkgKENPUFkpOgorCXsKKwkJKiguc3RhY2sqKQorCX0gPiBSQU0KKworCS8qIFNldCBzdGFjayB0b3AgdG8gZW5kIG9mIFJBTSwgYW5kIHN0YWNrIGxpbWl0IG1vdmUgZG93biBieQorCSAqIHNpemUgb2Ygc3RhY2tfZHVtbXkgc2VjdGlvbiAqLworCV9fU3RhY2tUb3AgPSBPUklHSU4oUkFNKSArIExFTkdUSChSQU0pOworCV9fU3RhY2tMaW1pdCA9IF9fU3RhY2tUb3AgLSBTSVpFT0YoLnN0YWNrX2R1bW15KTsKKwlQUk9WSURFKF9fc3RhY2sgPSBfX1N0YWNrVG9wKTsKKworCS8qIENoZWNrIGlmIGRhdGEgKyBoZWFwICsgc3RhY2sgZXhjZWVkcyBSQU0gbGltaXQgKi8KKwlBU1NFUlQoX19TdGFja0xpbWl0ID49IF9fSGVhcExpbWl0LCAicmVnaW9uIFJBTSBvdmVyZmxvd2VkIHdpdGggc3RhY2siKQorfQpkaWZmIC0tZ2l0IGEvYmJiX2NhcGUvc3JjL2NhcGUvdG9vbGNoYWluLWJ1aWxkLW5vdGVzLnR4dCBiL2JiYl9jYXBlL3NyYy9jYXBlL3Rvb2xjaGFpbi1idWlsZC1ub3Rlcy50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZDgxYzkwNQotLS0gL2Rldi9udWxsCisrKyBiL2JiYl9jYXBlL3NyYy9jYXBlL3Rvb2xjaGFpbi1idWlsZC1ub3Rlcy50eHQKQEAgLTAsMCArMSwyMyBAQAorVGhlc2UgYXJlIEJyaWFuJ3Mgbm90ZXMgZnJvbSBidWlsZGluZyBhIHRvb2xjaGFpbiBvbiAyMDEzLTAzLTI5LgorSXQgY29tcGlsZXMgdGhlIGNvZGUgc3VjY2Vzc2Z1bGx5IGFuZCBsaXZlcyBpbiAvb3B0L2NvcnRleC1tMy4KK1RoZSBmbGFncyBhcmUgZnJvbSBsb2dpYywgQXVzdGluJ3MgZ2NjLCBhbmQKKyAgPGh0dHA6Ly93d3cuY29hY3Rpb25vcy5jb20vZ2V0dGluZy1zdGFydGVkLzQzLWJ1aWxkaW5nLWFuZC1pbnN0YWxsaW5nLWEtY29ydGV4LW0zLWNvbXBpbGVyLW9uLXVidW50dS5odG1sPgorICAoZm9yIHNvbWUgb2YgdGhlIG5ld2xpYiBmbGFncykuCitUaGlzIGhhcyBiZWVuIHVwbG9hZGVkIHRvIG91ciBwYWNrYWdlIHJlcG9zaXRvcnkgZm9yIHdoZWV6eSBhcyBhcm0tZWFiaS1nY2MuCisKK2JpbnV0aWxzCisJLi4vYmludXRpbHMtMi4yMy4yL2NvbmZpZ3VyZSAtLXByZWZpeD0vb3B0L2NvcnRleC1tMyAtLXRhcmdldD1hcm0tZWFiaQorCW1ha2UgLWo2CisJbWFrZSBpbnN0YWxsCitnY2MKKwlTeW1saW5rZWQgaW4gZ21wLTQuMy4yLCBtcGMtMC44LjEsIGFuZCBtcGZyLTIuNC4yIGZpcnN0LgorCS4uL2djYy00LjUuNC9jb25maWd1cmUgLS10YXJnZXQ9YXJtLWVhYmkgLS1wcmVmaXg9L29wdC9jb3J0ZXgtbTMgLS1lbmFibGUtaW50ZXJ3b3JrIC0tZW5hYmxlLW11bHRpbGliIC0tZW5hYmxlLWxhbmd1YWdlcz1jLGMrKyAtLXdpdGgtbmV3bGliIC0td2l0aC1oZWFkZXJzIC0tZGlzYWJsZS1zaGFyZWQgLS13aXRoLWdudS1hcyAtLXdpdGgtZ251LWxkIC0td2l0aC1jcHUtY29ydGV4LW0zIC0tZGlzYWJsZS1zaGFyZWQgLS13aXRoLWZsb2F0PXNvZnQgLS13aXRoLWNwdT1jb3J0ZXgtbTMgLS13aXRoLXR1bmU9Y29ydGV4LW0zIC0tZGlzYWJsZS1saWJtdWRmbGFwIC0tZGlzYWJsZS1saWJnb21wIC0td2l0aC1tb2RlPXRodW1iCisJbWFrZSAtajYgYWxsLWdjYworCXN1ZG8gbWFrZSBpbnN0YWxsLWdjYworbmV3bGliCisJLi4vbmV3bGliLTEuMjAuMC9jb25maWd1cmUgLS10YXJnZXQ9YXJtLWVhYmkgLS1wcmVmaXg9L29wdC9jb3J0ZXgtbTMgLS1lbmFibGUtaW50ZXJ3b3JrIC0tZW5hYmxlLW11bHRpbGliIC0tZW5hYmxlLWxhbmd1YWdlcz1jLGMrKyAtLXdpdGgtaGVhZGVycyAtLWRpc2FibGUtc2hhcmVkIC0td2l0aC1nbnUtYXMgLS13aXRoLWdudS1sZCAtLXdpdGgtY3B1LWNvcnRleC1tMyAtLWRpc2FibGUtc2hhcmVkIC0td2l0aC1mbG9hdD1zb2Z0IC0td2l0aC1jcHU9Y29ydGV4LW0zIC0td2l0aC10dW5lPWNvcnRleC1tMyAtLWRpc2FibGUtbGlibXVkZmxhcCAtLWRpc2FibGUtbGliZ29tcCAtLXdpdGgtbW9kZT10aHVtYiAtLWRpc2FibGUtd2Vycm9yIC0tZGlzYWJsZS1uZXdsaWItc3VwcGxpZWQtc3lzY2FsbHMgLS1kaXNhYmxlLW5scyAtLWVuYWJsZS10YXJnZXQtb3B0c3BhY2UgLS1kaXNhYmxlLWxpYnNzcCAtLWVuYWJsZS1uZXdsaWItcmVlbnQtc21hbGwgLS1lbmFibGUtbmV3bGliLW11bHRpdGhyZWFkIC0tZGlzYWJsZS1saWJnbG9zcworCW1ha2UgQ0ZMQUdTX0ZPUl9UQVJHRVQ9Ii1EX19JRUVFX0JJR19FTkRJQU4gLURfX0lFRUVfQllURVNfTElUVExFX0VORElBTiAtRF9fQlVGU0laX189MTI4IgorCXN1ZG8gbWFrZSBpbnN0YWxsCitnY2MKKwltYWtlIC1qNgorCXN1ZG8gbWFrZSBpbnN0YWxsCg==