LyoKICogKEMpIENvcHlyaWdodCAyMDAyCiAqIERhbmllbCBFbmdzdHL2bSwgT21pY3JvbiBDZXRpIEFCIDxkYW5pZWxAb21pY3Jvbi5zZT4uCiAqCiAqIFNlZSBmaWxlIENSRURJVFMgZm9yIGxpc3Qgb2YgcGVvcGxlIHdobyBjb250cmlidXRlZCB0byB0aGlzCiAqIHByb2plY3QuCiAqCiAqIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IKICogbW9kaWZ5IGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMKICogcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YKICogdGhlIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCiAqCiAqIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAogKiBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgogKiBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCiAqIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCiAqCiAqIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCiAqIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtOyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlCiAqIEZvdW5kYXRpb24sIEluYy4sIDU5IFRlbXBsZSBQbGFjZSwgU3VpdGUgMzMwLCBCb3N0b24sCiAqIE1BIDAyMTExLTEzMDcgVVNBCiAqLwoKI2lmbmRlZiBfQVNNX0lDX1NDNTIwX0hfCiNkZWZpbmUgX0FTTV9JQ19TQzUyMF9IXyAxCgovKiBNZW1vcnkgbWFwcGVkIGNvbmZpZ3VyYXRpb24gcmVnaXN0ZXJzLCBNTUNSICovCiNkZWZpbmUgU0M1MjBfUkVWSUQJCTB4MDAwMAkJLyogRWxhblNDNTIwIE1pY3JvY29udHJvbGxlciBSZXZpc2lvbiBJRCBSZWdpc3RlciAqLwojZGVmaW5lIFNDNTIwX0NQVUNUTAkJMHgwMDAyCQkvKiBBbTV4ODYgQ1BVIENvbnRyb2wgUmVnaXN0ZXIgKi8KI2RlZmluZSBTQzUyMF9EUkNDVEwgICAgICAgICAgICAweDAwMTAgICAgICAgICAgLyogU0RSQU0gQ29udHJvbCBSZWdpc3RlciAqLwojZGVmaW5lIFNDNTIwX0RSQ1RNQ1RMCQkweDAwMTIJCS8qIFNEUkFNIFRpbWluZyBDb250cm9sIFJlZ2lzdGVyICovCiNkZWZpbmUgU0M1MjBfRFJDQ0ZHCQkweDAwMTQJCS8qIFNEUkFNIEJhbmsgQ29uZmlndXJhdGlvbiBSZWdpc3RlciovCiNkZWZpbmUgU0M1MjBfRFJDQkVOREFEUgkweDAwMTgJCS8qIFNEUkFNIEJhbmsgMC0zIEVuZGluZyBBZGRyZXNzIFJlZ2lzdGVyKi8KI2RlZmluZSBTQzUyMF9FQ0NDVEwJCTB4MDAyMAkJLyogRUNDIENvbnRyb2wgUmVnaXN0ZXIgKi8KI2RlZmluZSBTQzUyMF9FQ0NTVEEJCTB4MDAyMQkJLyogRUNDIFN0YXR1cyBSZWdpc3RlciAqLwojZGVmaW5lIFNDNTIwX0VDQ0NLQlBPUwkJMHgwMDIyCQkvKiBFQ0MgQ2hlY2sgQml0IFBvc2l0aW9uIFJlZ2lzdGVyICovCiNkZWZpbmUgU0M1MjBfRUNDU0JBREQJCTB4MDAyNAkJLyogRUNDIFNpbmdsZS1CaXQgRXJyb3IgQWRkcmVzcyBSZWdpc3RlciAqLwojZGVmaW5lIFNDNTIwX0RCQ1RMCQkweDAwNDAJCS8qIFNEUkFNIEJ1ZmZlciBDb250cm9sIFJlZ2lzdGVyICovCiNkZWZpbmUgU0M1MjBfQk9PVENTQ1RMCQkweDAwNTAJCS8qIC9CT09UQ1MgQ29udHJvbCBSZWdpc3RlciAqLwojZGVmaW5lIFNDNTIwX1JPTUNTMUNUTAkJMHgwMDU0CQkvKiAvUk9NQ1MxIENvbnRyb2wgUmVnaXN0ZXIgKi8KI2RlZmluZSBTQzUyMF9ST01DUzJDVEwJCTB4MDA1NgkJLyogL1JPTUNTMiBDb250cm9sIFJlZ2lzdGVyICovCiNkZWZpbmUgU0M1MjBfSEJDVEwJCTB4MDA2MCAJCS8qIEhvc3QgQnJpZGdlIENvbnRyb2wgUmVnaXN0ZXIgKi8KI2RlZmluZSBTQzUyMF9IQlRHVElSUUNUTAkweDAwNjIJCS8qIEhvc3QgQnJpZGdlIFRhcmdldCBJbnRlcnJ1cHQgQ29udHJvbCBSZWdpc3RlciAqLwojZGVmaW5lIFNDNTIwX0hCVEdUSVJRU1RBCTB4MDA2NAkJLyogSG9zdCBCcmlkZ2UgVGFyZ2V0IEludGVycnVwdCBTdGF0dXMgUmVnaXN0ZXIgKi8KI2RlZmluZSBTQzUyMF9IQk1TVElSUUNUTAkweDAwNjYJCS8qIEhvc3QgQnJpZGdlIFRhcmdldCBJbnRlcnJ1cHQgQ29udHJvbCBSZWdpc3RlciAqLwojZGVmaW5lIFNDNTIwX0hCTVNUSVJRU1RBCTB4MDA2OAkJLyogSG9zdCBCcmlkZ2UgTWFzdGVyIEludGVycnVwdCBTdGF0dXMgUmVnaXN0ZXIgKi8KI2RlZmluZSBTQzUyMF9NU1RJTlRBREQJCTB4MDA2YwkJLyogSG9zdCBCcmlkZ2UgTWFzdGVyIEludGVycnVwdCBBZGRyZXNzIFJlZ2lzdGVyICovCiNkZWZpbmUgU0M1MjBfU1lTQVJCQ1RMCQkweDAwNzAJCS8qIFN5c3RlbSBBcmJpdGVyIENvbnRyb2wgUmVnaXN0ZXIgKi8KI2RlZmluZSBTQzUyMF9QQ0lBUkJTVEEJCTB4MDA3MQkJLyogUENJIEJ1cyBBcmJpdGVyIFN0YXR1cyBSZWdpc3RlciAqLwojZGVmaW5lIFNDNTIwX1NZU0FSQk1FTkIJMHgwMDcyCQkvKiBTeXN0ZW0gQXJiaXRlciBNYXN0ZXIgRW5hYmxlIFJlZ2lzdGVyICovCiNkZWZpbmUgU0M1MjBfQVJCUFJJQ1RMCQkweDAwNzQJCS8qIEFyYml0ZXIgUHJpb3JpdHkgQ29udHJvbCBSZWdpc3RlciAqLwojZGVmaW5lIFNDNTIwX0FERERFQ0NUTCAgICAgCTB4MDA4MCAJCS8qIEFkZHJlc3MgRGVjb2RlIENvbnRyb2wgUmVnaXN0ZXIgKi8KI2RlZmluZSBTQzUyMF9XUFZTVEEgICAgICAgIAkweDAwODIJCS8qIFdyaXRlLVByb3RlY3QgVmlvbGF0aW9uIFN0YXR1cyBSZWdpc3RlciAqLwojZGVmaW5lIFNDNTIwX1BBUjAgICAgICAgICAgCTB4MDA4OAkJLyogUHJvZ3JhbW1hYmxlIEFkZHJlc3MgUmVnaW9uIDAgUmVnaXN0ZXIgKi8KI2RlZmluZSBTQzUyMF9QQVIxICAgICAgICAgIAkweDAwOGMgICAgICAgCS8qIFByb2dyYW1tYWJsZSBBZGRyZXNzIFJlZ2lvbiAxIFJlZ2lzdGVyICovCiNkZWZpbmUgU0M1MjBfUEFSMiAgICAgICAgICAJMHgwMDkwICAgICAgIAkvKiBQcm9ncmFtbWFibGUgQWRkcmVzcyBSZWdpb24gMiBSZWdpc3RlciAqLwojZGVmaW5lIFNDNTIwX1BBUjMgICAgICAgICAgCTB4MDA5NCAgICAgIAkvKiBQcm9ncmFtbWFibGUgQWRkcmVzcyBSZWdpb24gMyBSZWdpc3RlciAqLwojZGVmaW5lIFNDNTIwX1BBUjQgICAgICAgICAgCTB4MDA5OCAgICAgICAJLyogUHJvZ3JhbW1hYmxlIEFkZHJlc3MgUmVnaW9uIDQgUmVnaXN0ZXIgKi8KI2RlZmluZSBTQzUyMF9QQVI1ICAgICAgICAgIAkweDAwOWMgICAgICAgCS8qIFByb2dyYW1tYWJsZSBBZGRyZXNzIFJlZ2lvbiA1IFJlZ2lzdGVyICovCiNkZWZpbmUgU0M1MjBfUEFSNiAgICAgICAgIAkweDAwYTAgICAgICAJLyogUHJvZ3JhbW1hYmxlIEFkZHJlc3MgUmVnaW9uIDYgUmVnaXN0ZXIgKi8KI2RlZmluZSBTQzUyMF9QQVI3ICAgICAgICAgIAkweDAwYTQgICAgICAgCS8qIFByb2dyYW1tYWJsZSBBZGRyZXNzIFJlZ2lvbiA3IFJlZ2lzdGVyICovCiNkZWZpbmUgU0M1MjBfUEFSOCAgICAgICAgICAJMHgwMGE4ICAgICAgIAkvKiBQcm9ncmFtbWFibGUgQWRkcmVzcyBSZWdpb24gOCBSZWdpc3RlciAqLwojZGVmaW5lIFNDNTIwX1BBUjkgICAgICAgICAgCTB4MDBhYyAgICAgICAJLyogUHJvZ3JhbW1hYmxlIEFkZHJlc3MgUmVnaW9uIDkgUmVnaXN0ZXIgKi8KI2RlZmluZSBTQzUyMF9QQVIxMCAgICAgICAgIAkweDAwYjAgICAgICAgCS8qIFByb2dyYW1tYWJsZSBBZGRyZXNzIFJlZ2lvbiAxMCBSZWdpc3RlciAqLwojZGVmaW5lIFNDNTIwX1BBUjExICAgICAgICAgCTB4MDBiNCAgICAgICAJLyogUHJvZ3JhbW1hYmxlIEFkZHJlc3MgUmVnaW9uIDExIFJlZ2lzdGVyICovCiNkZWZpbmUgU0M1MjBfUEFSMTIgICAgICAgICAJMHgwMGI4ICAgICAgIAkvKiBQcm9ncmFtbWFibGUgQWRkcmVzcyBSZWdpb24gMTIgUmVnaXN0ZXIgKi8KI2RlZmluZSBTQzUyMF9QQVIxMyAgICAgICAgIAkweDAwYmMgICAgICAgCS8qIFByb2dyYW1tYWJsZSBBZGRyZXNzIFJlZ2lvbiAxMyBSZWdpc3RlciAqLwojZGVmaW5lIFNDNTIwX1BBUjE0ICAgICAgICAgCTB4MDBjMCAgICAgICAJLyogUHJvZ3JhbW1hYmxlIEFkZHJlc3MgUmVnaW9uIDE0IFJlZ2lzdGVyICovCiNkZWZpbmUgU0M1MjBfUEFSMTUJCTB4MDBjNAkJLyogUHJvZ3JhbW1hYmxlIEFkZHJlc3MgUmVnaW9uIDE1IFJlZ2lzdGVyICovCiNkZWZpbmUgU0M1MjBfR1BFQ0hPCQkweDBjMDAJCS8qIEdQIEVjaG8gTW9kZSBSZWdpc3RlciAqLwojZGVmaW5lIFNDNTIwX0dQQ1NEVwkJMHgwYzAxCQkvKiBHUCBDaGlwIFNlbGVjdCBEYXRhIFdpZHRoIFJlZ2lzdGVyICovCiNkZWZpbmUgU0M1MjBfR1BDU1FVQUwJCTB4MGMwMgkJLyogR1AgQ2hpcCBTZWxlY3QgUXVhbGlmaWNhdGlvbiBSZWdpc3RlciAqLwojZGVmaW5lIFNDNTIwX0dQQ1NSVAkJMHgwYzA4CQkvKiBHUCBDaGlwIFNlbGVjdCBSZWNvdmVyeSBUaW1lIFJlZ2lzdGVyICovCiNkZWZpbmUgU0M1MjBfR1BDU1BXCQkweDBjMDkJCS8qIEdQIENoaXAgU2VsZWN0IFB1bHNlIFdpZHRoIFJlZ2lzdGVyICovCiNkZWZpbmUgU0M1MjBfR1BDU09GRgkJMHgwYzBhCQkvKiBHUCBDaGlwIFNlbGVjdCBPZmZzZXQgUmVnaXN0ZXIgKi8KI2RlZmluZSBTQzUyMF9HUFJEVwkJMHgwYzBiCQkvKiBHUCBSZWFkIFB1bHNlIFdpZHRoIFJlZ2lzdGVyICovCiNkZWZpbmUgU0M1MjBfR1BSRE9GRgkJMHgwYzBjCQkvKiBHUCBSZWFkIE9mZnNldCBSZWdpc3RlciAqLwojZGVmaW5lIFNDNTIwX0dQV1JXCQkweDBjMGQJCS8qIEdQIFdyaXRlIFB1bHNlIFdpZHRoIFJlZ2lzdGVyICovCiNkZWZpbmUgU0M1MjBfR1BXUk9GRgkJMHgwYzBlCQkvKiBHUCBXcml0ZSBPZmZzZXQgUmVnaXN0ZXIgKi8KI2RlZmluZSBTQzUyMF9HUEFMRVcJCTB4MGMwZgkJLyogR1AgQUxFIFB1bHNlIFdpZHRoIFJlZ2lzdGVyICovCiNkZWZpbmUgU0M1MjBfR1BBTEVPRkYJCTB4MGMxMAkJLyogR1AgQUxFIE9mZnNldCBSZWdpc3RlciAqLwojZGVmaW5lIFNDNTIwX1BJT1BGUzE1XzAJMHgwYzIwCQkvKiBQSU8xNS1QSU8wIFBpbiBGdW5jdGlvbiBTZWxlY3QgKi8KI2RlZmluZSBTQzUyMF9QSU9QRlMzMV8xNgkweDBjMjIJCS8qIFBJTzMxLVBJTzE2IFBpbiBGdW5jdGlvbiBTZWxlY3QgKi8KI2RlZmluZSBTQzUyMF9DU1BGUwkJMHgwYzI0CQkvKiBDaGlwIFNlbGVjdCBQaW4gRnVuY3Rpb24gU2VsZWN0ICovCiNkZWZpbmUgU0M1MjBfQ0xLU0VMCQkweDBjMjYJCS8qIENsb2NrIFNlbGVjdCAqLwojZGVmaW5lIFNDNTIwX0RTQ1RMCQkweDBjMjgJCS8qIERyaXZlIFN0cmVuZ3RoIENvbnRyb2wgKi8KI2RlZmluZSBTQzUyMF9QSU9ESVIxNV8wCTB4MGMyYQkJLyogUElPMTUtUElPMCBEaXJlY3Rpb24gKi8KI2RlZmluZSBTQzUyMF9QSU9ESVIzMV8xNgkweDBjMmMJCS8qIFBJTzMxLVBJTzE2IERpcmVjdGlvbiAqLwojZGVmaW5lIFNDNTIwX1BJT0RBVEExNV8wCTB4MGMzMAkJLyogUElPMTUtUElPMCBEYXRhICovCiNkZWZpbmUgU0M1MjBfUElPREFUQTMxXzE2CTB4MGMzMgkJLyogUElPMzEtUElPMTYgRGF0YSAqLwojZGVmaW5lIFNDNTIwX1BJT1NFVDE1XzAJMHgwYzM0CQkvKiBQSU8xNS1QSU8wIFNldCAqLwojZGVmaW5lIFNDNTIwX1BJT1NFVDMxXzE2CTB4MGMzNgkJLyogUElPMzEtUElPMTYgU2V0ICovCiNkZWZpbmUgU0M1MjBfUElPQ0xSMTVfMAkweDBjMzgJCS8qIFBJTzE1LVBJTzAgQ2xlYXIgKi8KI2RlZmluZSBTQzUyMF9QSU9DTFIzMV8xNgkweDBjM2EJCS8qIFBJTzMxLVBJTzE2IENsZWFyICovCiNkZWZpbmUgU0M1MjBfU1dUTVJNSUxMSSAJMHgwYzYwCQkvKiBTb2Z0d2FyZSBUaW1lciBNaWxsaXNlY29uZCBDb3VudCAqLwojZGVmaW5lIFNDNTIwX1NXVE1STUlDUk8gCTB4MGM2MgkJLyogU29mdHdhcmUgVGltZXIgTWljcm9zZWNvbmQgQ291bnQgKi8KI2RlZmluZSBTQzUyMF9TV1RNUkNGRyAgIAkweDBjNjQJCS8qIFNvZnR3YXJlIFRpbWVyIENvbmZpZ3VyYXRpb24gKi8KI2RlZmluZSBTQzUyMF9HUFRNUlNUQQkJMHgwYzcwCQkvKiBHUCBUaW1lcnMgU3RhdHVzIFJlZ2lzdGVyICovCiNkZWZpbmUgU0M1MjBfR1BUTVIwQ1RMCQkweDBjNzIJCS8qIEdQIFRpbWVyIDAgTW9kZS9Db250cm9sIFJlZ2lzdGVyICovCiNkZWZpbmUgU0M1MjBfR1BUTVIwQ05UCQkweDBjNzQJCS8qIEdQIFRpbWVyIDAgQ291bnQgUmVnaXN0ZXIgKi8KI2RlZmluZSBTQzUyMF9HUFRNUjBNQVhDTVBBCTB4MGM3NgkJLyogR1AgVGltZXIgMCBNYXhjb3VudCBDb21wYXJlIEEgUmVnaXN0ZXIgKi8KI2RlZmluZSBTQzUyMF9HUFRNUjBNQVhDTVBCCTB4MGM3OAkJLyogR1AgVGltZXIgMCBNYXhjb3VudCBDb21wYXJlIEIgUmVnaXN0ZXIgKi8KI2RlZmluZSBTQzUyMF9HUFRNUjFDVEwJCTB4MGM3YQkJLyogR1AgVGltZXIgMSBNb2RlL0NvbnRyb2wgUmVnaXN0ZXIgKi8KI2RlZmluZSBTQzUyMF9HUFRNUjFDTlQJCTB4MGM3YwkJLyogR1AgVGltZXIgMSBDb3VudCBSZWdpc3RlciAqLwojZGVmaW5lIFNDNTIwX0dQVE1SMU1BWENNUEEJMHgwYzdlCQkvKiBHUCBUaW1lciAxIE1heGNvdW50IENvbXBhcmUgUmVnaXN0ZXIgQSAqLwojZGVmaW5lIFNDNTIwX0dQVE1SMU1BWENNUEIJMHgwYzgwCQkvKiBHUCBUaW1lciAxIE1heGNvdW50IENvbXBhcmUgQiBSZWdpc3RlciAqLwojZGVmaW5lIFNDNTIwX0dQVE1SMkNUTAkJMHgwYzgyCQkvKiBHUCBUaW1lciAyIE1vZGUvQ29udHJvbCBSZWdpc3RlciAqLwojZGVmaW5lIFNDNTIwX0dQVE1SMkNOVAkJMHgwYzg0CQkvKiBHUCBUaW1lciAyIENvdW50IFJlZ2lzdGVyICovCiNkZWZpbmUgU0M1MjBfR1BUTVIyTUFYQ01QQQkweDBjOGUJCS8qIEdQIFRpbWVyIDIgTWF4Y291bnQgQ29tcGFyZSBBIFJlZ2lzdGVyICovCiNkZWZpbmUgU0M1MjBfV0RUTVJDVEwJCTB4MGNiMAkJLyogV2F0Y2hkb2cgVGltZXIgQ29udHJvbCBSZWdpc3RlciAqLwojZGVmaW5lIFNDNTIwX1dEVE1SQ05UTAkJMHgwY2IyCQkvKiBXYXRjaGRvZyBUaW1lciBDb3VudCBMb3cgUmVnaXN0ZXIgKi8KI2RlZmluZSBTQzUyMF9XRFRNUkNOVEgJCTB4MGNiNAkJLyogV2F0Y2hkb2cgVGltZXIgQ291bnQgSGlnaCBSZWdpc3RlciAqLwojZGVmaW5lIFNDNTIwX1VBUlQxQ1RMCQkweDBjYzAJICAgICAgICAvKiBVQVJUIDEgR2VuZXJhbCBDb250cm9sIFJlZ2lzdGVyICovCiNkZWZpbmUgU0M1MjBfVUFSVDFTVEEJCTB4MGNjMQkgICAgICAgIC8qIFVBUlQgMSBHZW5lcmFsIFN0YXR1cyBSZWdpc3RlciAqLwojZGVmaW5lIFNDNTIwX1VBUlQxRkNSU0hBRAkweDBjYzIJICAgICAgICAvKiBVQVJUIDEgRklGTyBDb250cm9sIFNoYWRvdyBSZWdpc3RlciAqLwojZGVmaW5lIFNDNTIwX1VBUlQyQ1RMCQkweDBjYzQJICAgICAgICAvKiBVQVJUIDIgR2VuZXJhbCBDb250cm9sIFJlZ2lzdGVyICovCiNkZWZpbmUgU0M1MjBfVUFSVDJTVEEJCTB4MGNjNQkgICAgICAgIC8qIFVBUlQgMiBHZW5lcmFsIFN0YXR1cyBSZWdpc3RlciAqLwojZGVmaW5lIFNDNTIwX1VBUlQyRkNSU0hBRAkweDBjYzYJICAgICAgICAvKiBVQVJUIDIgRklGTyBDb250cm9sIFNoYWRvdyBSZWdpc3RlciAqLwojZGVmaW5lIFNDNTIwX1NTSUNUTCAgICAgICAgICAgIDB4MGNkMCAgICAgICAgICAvKiBTU0kgQ29udHJvbCAqLwojZGVmaW5lIFNDNTIwX1NTSVhNSVQgICAgICAgICAgIDB4MGNkMSAgICAgICAgICAvKiBTU0kgVHJhbnNtaXQgKi8KI2RlZmluZSBTQzUyMF9TU0lDTUQgICAgICAgICAgICAweDBjZDIgICAgICAgICAgLyogU1NJIENvbW1hbmQgKi8KI2RlZmluZSBTQzUyMF9TU0lTVEEgICAgICAgICAgICAweDBjZDMgICAgICAgICAgLyogU1NJIFN0YXR1cyAqLwojZGVmaW5lIFNDNTIwX1NTSVJDViAgICAgICAgICAgIDB4MGNkNCAgICAgICAgICAvKiBTU0kgUmVjZWl2ZSAqLwojZGVmaW5lIFNDNTIwX1BJQ0lDUgkJMHgwZDAwCQkvKiBJbnRlcnJ1cHQgQ29udHJvbCBSZWdpc3RlciAqLwojZGVmaW5lIFNDNTIwX01QSUNNT0RFCQkweDBkMDIJCS8qIE1hc3RlciBQSUMgSW50ZXJydXB0IE1vZGUgUmVnaXN0ZXIgKi8KI2RlZmluZSBTQzUyMF9TTDFQSUNNT0RFCTB4MGQwMwkJLyogU2xhdmUgMSBQSUMgSW50ZXJydXB0IE1vZGUgUmVnaXN0ZXIgKi8KI2RlZmluZSBTQzUyMF9TTDJQSUNNT0RFCTB4MGQwNAkJLyogU2xhdmUgMiBQSUMgSW50ZXJydXB0IE1vZGUgUmVnaXN0ZXIgKi8KI2RlZmluZSBTQzUyMF9TV0lOVDE2XzEJCTB4MGQwOAkJLyogU29mdHdhcmUgSW50ZXJydXB0IDE2LTEgQ29udHJvbCBSZWdpc3RlciAqLwojZGVmaW5lIFNDNTIwX1NXSU5UMjJfMTcJMHgwZDBhCQkvKiBTb2Z0d2FyZSBJbnRlcnJ1cHQgMjItMTcvTk1JIENvbnRyb2wgUmVnaXN0ZXIgKi8KI2RlZmluZSBTQzUyMF9JTlRQSU5QT0wJCTB4MGQxMAkJLyogSW50ZXJydXB0IFBpbiBQb2xhcml0eSBSZWdpc3RlciAqLwojZGVmaW5lIFNDNTIwX1BDSUhPU1RNQVAJMHgwZDE0CQkvKiBQQ0kgSG9zdCBCcmlkZ2UgSW50ZXJydXB0IE1hcHBpbiBSZWdpc3RlciAqLwojZGVmaW5lIFNDNTIwX0VDQ01BUAkJMHgwZDE4CQkvKiBFQ0MgSW50ZXJydXB0IE1hcHBpbmcgUmVnaXN0ZXIgKi8KI2RlZmluZSBTQzUyMF9HUFRNUjBNQVAJCTB4MGQxYQkJLyogR1AgVGltZXIgMCBJbnRlcnJ1cHQgTWFwcGluZyBSZWdpc3RlciAqLwojZGVmaW5lIFNDNTIwX0dQVE1SMU1BUAkJMHgwZDFiCQkvKiBHUCBUaW1lciAxIEludGVycnVwdCBNYXBwaW5nIFJlZ2lzdGVyICovCiNkZWZpbmUgU0M1MjBfR1BUTVIyTUFQCQkweDBkMWMJCS8qIEdQIFRpbWVyIDIgSW50ZXJydXB0IE1hcHBpbmcgUmVnaXN0ZXIgKi8KI2RlZmluZSBTQzUyMF9QSVQwTUFQCQkweDBkMjAJCS8qIFBJVDAgSW50ZXJydXB0IE1hcHBpbmcgUmVnaXN0ZXIgKi8KI2RlZmluZSBTQzUyMF9QSVQxTUFQCQkweDBkMjEJCS8qIFBJVDEgSW50ZXJydXB0IE1hcHBpbmcgUmVnaXN0ZXIgKi8KI2RlZmluZSBTQzUyMF9QSVQyTUFQCQkweDBkMjIJCS8qIFBJVDIgSW50ZXJydXB0IE1hcHBpbmcgUmVnaXN0ZXIgKi8KI2RlZmluZSBTQzUyMF9VQVJUMU1BUAkJMHgwZDI4CQkvKiBVQVJUIDEgSW50ZXJydXB0IE1hcHBpbmcgUmVnaXN0ZXIgKi8KI2RlZmluZSBTQzUyMF9VQVJUMk1BUAkJMHgwZDI5CQkvKiBVQVJUIDIgSW50ZXJydXB0IE1hcHBpbmcgUmVnaXN0ZXIgKi8KI2RlZmluZSBTQzUyMF9QQ0lJTlRBTUFQCTB4MGQzMAkJLyogUENJIEludGVycnVwdCBBIE1hcHBpbmcgUmVnaXN0ZXIgKi8KI2RlZmluZSBTQzUyMF9QQ0lJTlRCTUFQCTB4MGQzMQkJLyogUENJIEludGVycnVwdCBCIE1hcHBpbmcgUmVnaXN0ZXIgKi8KI2RlZmluZSBTQzUyMF9QQ0lJTlRDTUFQCTB4MGQzMgkJLyogUENJIEludGVycnVwdCBDIE1hcHBpbmcgUmVnaXN0ZXIgKi8KI2RlZmluZSBTQzUyMF9QQ0lJTlRETUFQCTB4MGQzMwkJLyogUENJIEludGVycnVwdCBEIE1hcHBpbmcgUmVnaXN0ZXIgKi8KI2RlZmluZSBTQzUyMF9ETUFCQ0lOVE1BUAkweDBkNDAJCS8qIERNQSBCdWZmZXIgQ2hhaW5pbmcgSW50ZXJydXB0IE1hcHBpbmcgUmVnaXN0ZXIgKi8KI2RlZmluZSBTQzUyMF9TU0lNQVAJCTB4MGQ0MQkJLyogU1NJIEludGVycnVwdCBNYXBwaW5nIFJlZ2lzdGVyICovCiNkZWZpbmUgU0M1MjBfV0RUTUFQCQkweDBkNDIJCS8qIFdhdGNoZG9nIFRpbWVyIEludGVycnVwdCBNYXBwaW5nIFJlZ2lzdGVyICovCiNkZWZpbmUgU0M1MjBfUlRDTUFQCQkweDBkNDMJCS8qIFJUQyBJbnRlcnJ1cHQgTWFwcGluZyBSZWdpc3RlciAqLwojZGVmaW5lIFNDNTIwX1dQVk1BUAkJMHgwZDQ0CQkvKiBXcml0ZS1Qcm90ZWN0IEludGVycnVwdCBNYXBwaW5nIFJlZ2lzdGVyICovCiNkZWZpbmUgU0M1MjBfSUNFTUFQCQkweDBkNDUJCS8qIEFNRGVidWcgSlRBRyBSWC9UWCBJbnRlcnJ1cHQgTWFwcGluZyBSZWdpc3RlciAqLwojZGVmaW5lIFNDNTIwX0ZFUlJNQVAJCTB4MGQ0NgkJLyogRmxvYXRpbmcgUG9pbnQgRXJyb3IgSW50ZXJydXB0IE1hcHBpbmcgUmVnaXN0ZXIgKi8KI2RlZmluZSBTQzUyMF9HUDBJTUFQCQkweDBkNTAJCS8qIEdQSVJRMCBJbnRlcnJ1cHQgTWFwcGluZyBSZWdpc3RlciAqLwojZGVmaW5lIFNDNTIwX0dQMUlNQVAJCTB4MGQ1MQkJLyogR1BJUlExIEludGVycnVwdCBNYXBwaW5nIFJlZ2lzdGVyICovCiNkZWZpbmUgU0M1MjBfR1AySU1BUAkJMHgwZDUyCQkvKiBHUElSUTIgSW50ZXJydXB0IE1hcHBpbmcgUmVnaXN0ZXIgKi8KI2RlZmluZSBTQzUyMF9HUDNJTUFQCQkweDBkNTMJCS8qIEdQSVJRMyBJbnRlcnJ1cHQgTWFwcGluZyBSZWdpc3RlciAqLwojZGVmaW5lIFNDNTIwX0dQNElNQVAJCTB4MGQ1NAkJLyogR1BJUlE0IEludGVycnVwdCBNYXBwaW5nIFJlZ2lzdGVyICovCiNkZWZpbmUgU0M1MjBfR1A1SU1BUAkJMHgwZDU1CQkvKiBHUElSUTUgSW50ZXJydXB0IE1hcHBpbmcgUmVnaXN0ZXIgKi8KI2RlZmluZSBTQzUyMF9HUDZJTUFQCQkweDBkNTYJCS8qIEdQSVJRNiBJbnRlcnJ1cHQgTWFwcGluZyBSZWdpc3RlciAqLwojZGVmaW5lIFNDNTIwX0dQN0lNQVAJCTB4MGQ1NwkJLyogR1BJUlE3IEludGVycnVwdCBNYXBwaW5nIFJlZ2lzdGVyICovCiNkZWZpbmUgU0M1MjBfR1A4SU1BUAkJMHgwZDU4CQkvKiBHUElSUTggSW50ZXJydXB0IE1hcHBpbmcgUmVnaXN0ZXIgKi8KI2RlZmluZSBTQzUyMF9HUDlJTUFQCQkweDBkNTkJCS8qIEdQSVJROSBJbnRlcnJ1cHQgTWFwcGluZyBSZWdpc3RlciAqLwojZGVmaW5lIFNDNTIwX0dQMTBJTUFQCQkweDBkNWEJCS8qIEdQSVJRMTAgSW50ZXJydXB0IE1hcHBpbmcgUmVnaXN0ZXIgKi8KI2RlZmluZSBTQzUyMF9TWVNJTkZPCQkweDBkNzAJCS8qIFN5c3RlbSBCb2FyZCBJbmZvcm1hdGlvbiBSZWdpc3RlciAqLwojZGVmaW5lIFNDNTIwX1JFU0NGRwkJMHgwZDcyCQkvKiBSZXNldCBDb25maWd1cmF0aW9uIFJlZ2lzdGVyICovCiNkZWZpbmUgU0M1MjBfUkVTU1RBCQkweDBkNzQJCS8qIFJlc2V0IFN0YXR1cyBSZWdpc3RlciAqLwojZGVmaW5lIFNDNTIwX0dQRE1BTU1JTwkJMHgwZDgxCQkvKiBHUC1ETUEgTWVtb3J5LU1hcHBlZCBJL08gUmVnaXN0ZXIgKi8KI2RlZmluZSBTQzUyMF9HUERNQUVYVENITUFQQQkweDBkODIJCS8qIEdQLURNQSBSZXNvdXJjZSBDaGFubmVsIE1hcCBBICovCiNkZWZpbmUgU0M1MjBfR1BETUFFWFRDSE1BUEIJMHgwZDg0CQkvKiBHUC1ETUEgUmVzb3VyY2UgQ2hhbm5lbCBNYXAgQiAqLwojZGVmaW5lIFNDNTIwX0dQRE1BRVhUUEcwCTB4MGQ4NgkJLyogR1AtRE1BIENoYW5uZWwgMCBFeHRlbmRlZCBQYWdlICovCiNkZWZpbmUgU0M1MjBfR1BETUFFWFRQRzEJMHgwZDg3CQkvKiBHUC1ETUEgQ2hhbm5lbCAxIEV4dGVuZGVkIFBhZ2UgKi8KI2RlZmluZSBTQzUyMF9HUERNQUVYVFBHMgkweDBkODgJCS8qIEdQLURNQSBDaGFubmVsIDIgRXh0ZW5kZWQgUGFnZSAqLwojZGVmaW5lIFNDNTIwX0dQRE1BRVhUUEczCTB4MGQ4OQkJLyogR1AtRE1BIENoYW5uZWwgMyBFeHRlbmRlZCBQYWdlICovCiNkZWZpbmUgU0M1MjBfR1BETUFFWFRQRzUJMHgwZDhhCQkvKiBHUC1ETUEgQ2hhbm5lbCA1IEV4dGVuZGVkIFBhZ2UgKi8KI2RlZmluZSBTQzUyMF9HUERNQUVYVFBHNgkweDBkOGIJCS8qIEdQLURNQSBDaGFubmVsIDYgRXh0ZW5kZWQgUGFnZSAqLwojZGVmaW5lIFNDNTIwX0dQRE1BRVhUUEc3CTB4MGQ4YwkJLyogR1AtRE1BIENoYW5uZWwgNyBFeHRlbmRlZCBQYWdlICovCiNkZWZpbmUgU0M1MjBfR1BETUFFWFRUQzMJMHgwZDkwCQkvKiBHUC1ETUEgQ2hhbm5lbCAzIEV4dGVuZGVyIFRyYW5zZmVyIGNvdW50ICovCiNkZWZpbmUgU0M1MjBfR1BETUFFWFRUQzUJMHgwZDkxCQkvKiBHUC1ETUEgQ2hhbm5lbCA1IEV4dGVuZGVyIFRyYW5zZmVyIGNvdW50ICovCiNkZWZpbmUgU0M1MjBfR1BETUFFWFRUQzYJMHgwZDkyCQkvKiBHUC1ETUEgQ2hhbm5lbCA2IEV4dGVuZGVyIFRyYW5zZmVyIGNvdW50ICovCiNkZWZpbmUgU0M1MjBfR1BETUFFWFRUQzcJMHgwZDkzCQkvKiBHUC1ETUEgQ2hhbm5lbCA3IEV4dGVuZGVyIFRyYW5zZmVyIGNvdW50ICovCiNkZWZpbmUgU0M1MjBfR1BETUFCQ0NUTAkweDBkOTgJCS8qIEJ1ZmZlciBDaGFpbmluZyBDb250cm9sICovCiNkZWZpbmUgU0M1MjBfR1BETUFCQ1NUQQkweDBkOTkJCS8qIEJ1ZmZlciBDaGFpbmluZyBTdGF0dXMgKi8KI2RlZmluZSBTQzUyMF9HUERNQUJTSU5URU5CCTB4MGQ5YQkJLyogQnVmZmVyIENoYWluaW5nIEludGVycnVwdCBFbmFibGUgKi8KI2RlZmluZSBTQzUyMF9HUERNQUJDVkFMCTB4MGQ5YgkJLyogQnVmZmVyIENoYWluaW5nIFZhbGlkICovCiNkZWZpbmUgU0M1MjBfR1BETUFOWFRBRERMMwkweDBkYTAJCS8qIEdQLURNQSBDaGFubmVsIDMgTmV4dCBBZGRyZXNzIExvdyAqLwojZGVmaW5lIFNDNTIwX0dQRE1BTlhUQURESDMJMHgwZGEyCQkvKiBHUC1ETUEgQ2hhbm5lbCAzIE5leHQgQWRkcmVzcyBIaWdoICovCiNkZWZpbmUgU0M1MjBfR1BETUFOWFRBRERMNQkweDBkYTQJCS8qIEdQLURNQSBDaGFubmVsIDUgTmV4dCBBZGRyZXNzIExvdyAqLwojZGVmaW5lIFNDNTIwX0dQRE1BTlhUQURESDUJMHgwZGE2CQkvKiBHUC1ETUEgQ2hhbm5lbCA1IE5leHQgQWRkcmVzcyBIaWdoICovCiNkZWZpbmUgU0M1MjBfR1BETUFOWFRBRERMNgkweDBkYTgJCS8qIEdQLURNQSBDaGFubmVsIDYgTmV4dCBBZGRyZXNzIExvdyAqLwojZGVmaW5lIFNDNTIwX0dQRE1BTlhUQURESDYJMHgwZGFhCQkvKiBHUC1ETUEgQ2hhbm5lbCA2IE5leHQgQWRkcmVzcyBIaWdoICovCiNkZWZpbmUgU0M1MjBfR1BETUFOWFRBRERMNwkweDBkYWMJCS8qIEdQLURNQSBDaGFubmVsIDcgTmV4dCBBZGRyZXNzIExvdyAqLwojZGVmaW5lIFNDNTIwX0dQRE1BTlhUQURESDcJMHgwZGFlCQkvKiBHUC1ETUEgQ2hhbm5lbCA3IE5leHQgQWRkcmVzcyBIaWdoICovCiNkZWZpbmUgU0M1MjBfR1BETUFOWFRUQ0wzCTB4MGRiMAkJLyogR1AtRE1BIENoYW5uZWwgMyBOZXh0IFRyYW5zZmVyIENvdW50IExvdyAqLwojZGVmaW5lIFNDNTIwX0dQRE1BTlhUVENIMwkweDBkYjIJCS8qIEdQLURNQSBDaGFubmVsIDMgTmV4dCBUcmFuc2ZlciBDb3VudCBIaWdoICovCiNkZWZpbmUgU0M1MjBfR1BETUFOWFRUQ0w1CTB4MGRiNAkJLyogR1AtRE1BIENoYW5uZWwgNSBOZXh0IFRyYW5zZmVyIENvdW50IExvdyAqLwojZGVmaW5lIFNDNTIwX0dQRE1BTlhUVENINQkweDBkYjYJCS8qIEdQLURNQSBDaGFubmVsIDUgTmV4dCBUcmFuc2ZlciBDb3VudCBIaWdoICovCiNkZWZpbmUgU0M1MjBfR1BETUFOWFRUQ0w2CTB4MGRiOAkJLyogR1AtRE1BIENoYW5uZWwgNiBOZXh0IFRyYW5zZmVyIENvdW50IExvdyAqLwojZGVmaW5lIFNDNTIwX0dQRE1BTlhUVENINgkweDBkYmEJCS8qIEdQLURNQSBDaGFubmVsIDYgTmV4dCBUcmFuc2ZlciBDb3VudCBIaWdoICovCiNkZWZpbmUgU0M1MjBfR1BETUFOWFRUQ0w3CTB4MGRiYwkJLyogR1AtRE1BIENoYW5uZWwgNyBOZXh0IFRyYW5zZmVyIENvdW50IExvdyAqLwojZGVmaW5lIFNDNTIwX0dQRE1BTlhUVENINwkweDBkYmUJCS8qIEdQLURNQSBDaGFubmVsIDcgTmV4dCBUcmFuc2ZlciBDb3VudCBIaWdoICovCgovKiBNTUNSIFJlZ2lzdGVyIGJpdHMgKG5vdCBhbGwgb2YgdGhlbSA6KSApICovCgovKiBTU0kgU3R1ZmYgKi8KI2RlZmluZSBDVExfQ0xLX1NFTF80ICAgICAgICAgICAweDAwICAgICAgICAgICAvKiBOb21pbmFsIEJpdCBSYXRlID0gOCBNSHogICAgKi8KI2RlZmluZSBDVExfQ0xLX1NFTF84ICAgICAgICAgICAweDEwICAgICAgICAgICAvKiBOb21pbmFsIEJpdCBSYXRlID0gNCBNSHogICAgKi8KI2RlZmluZSBDVExfQ0xLX1NFTF8xNiAgICAgICAgICAweDIwICAgICAgICAgICAvKiBOb21pbmFsIEJpdCBSYXRlID0gMiBNSHogICAgKi8KI2RlZmluZSBDVExfQ0xLX1NFTF8zMiAgICAgICAgICAweDMwICAgICAgICAgICAvKiBOb21pbmFsIEJpdCBSYXRlID0gMSBNSHogICAgKi8KI2RlZmluZSBDVExfQ0xLX1NFTF82NCAgICAgICAgICAweDQwICAgICAgICAgICAvKiBOb21pbmFsIEJpdCBSYXRlID0gNTEyIEtIeiAgKi8KI2RlZmluZSBDVExfQ0xLX1NFTF8xMjggICAgICAgICAweDUwICAgICAgICAgICAvKiBOb21pbmFsIEJpdCBSYXRlID0gMjU2IEtIeiAgKi8KI2RlZmluZSBDVExfQ0xLX1NFTF8yNTYgICAgICAgICAweDYwICAgICAgICAgICAvKiBOb21pbmFsIEJpdCBSYXRlID0gMTI4IEtIeiAgKi8KI2RlZmluZSBDVExfQ0xLX1NFTF81MTIgICAgICAgICAweDcwICAgICAgICAgICAvKiBOb21pbmFsIEJpdCBSYXRlID0gNjQgS0h6ICAgKi8KCiNkZWZpbmUgVENfSU5UX0VOQiAgICAgICAgICAgICAgMHgwOCAgICAgICAgICAgLyogVHJhbnNhY3Rpb24gQ29tcGxldGUgSW50ZXJydXB0IEVuYWJsZSAqLwojZGVmaW5lIFBIU19JTlZfRU5CICAgICAgICAgICAgIDB4MDQgICAgICAgICAgIC8qIFNTSSBJbnZlcnRlZCBQaGFzZSBNb2RlIEVuYWJsZSAqLwojZGVmaW5lIENMS19JTlZfRU5CICAgIAkgICAgICAgIDB4MDIgICAgICAgICAgIC8qIFNTSSBJbnZlcnRlZCBDbG9jayBNb2RlIEVuYWJsZSAqLwojZGVmaW5lIE1TQkZfRU5CICAgICAgCSAgICAgICAgMHgwMSAgICAgICAgICAgLyogU1NJIE1vc3QgU2lnbmlmaWNhbnQgQml0IEZpcnN0IE1vZGUgRW5hYmxlICovCgojZGVmaW5lIFNTSUNNRF9DTURfU0VMX1hNSVRSQ1YgIDB4MDMgICAgICAgICAgIC8qIFNpbXVsdGFuZW91cyBUcmFuc21pdCAvIFJlY2VpdmUgVHJhbnNhY3Rpb24gKi8KI2RlZmluZSBTU0lDTURfQ01EX1NFTF9SQ1YgICAgICAweDAyICAgICAgICAgICAvKiBSZWNlaXZlIFRyYW5zYWN0aW9uICovCiNkZWZpbmUgU1NJQ01EX0NNRF9TRUxfWE1JVCAgICAgMHgwMSAgICAgICAgICAgLyogVHJhbnNtaXQgVHJhbnNhY3Rpb24gKi8KI2RlZmluZSBTU0lTVEFfQlNZICAgICAgICAgICAgICAweDAyICAgICAgICAgICAvKiBTU0kgQnVzeSAqLwojZGVmaW5lIFNTSVNUQV9UQ19JTlQgICAgICAgICAgIDB4MDEgICAgICAgICAgIC8qIFNTSSBUcmFuc2FjdGlvbiBDb21wbGV0ZSBJbnRlcnJ1cHQgKi8KCgovKiBCSVRTIGZvciBTQzUyMF9BRERERUNDVEw6ICovCiNkZWZpbmUgV1BWX0lOVF9FTkIJCTB4ODAJCS8qIFdyaXRlLVByb3RlY3QgVmlvbGF0aW9uIEludGVycnVwdCBFbmFibGUgKi8KI2RlZmluZSBJT19IT0xFX0RFU1RfUENJCTB4MTAJCS8qIEkvTyBIb2xlIEFjY2VzcyBEZXN0aW5hdGlvbiAqLwojZGVmaW5lIFJUQ19ESVMJCQkweDA0CQkvKiBSVEMgRGlzYWJsZSAqLwojZGVmaW5lIFVBUlQyX0RJUwkJMHgwMgkJLyogVUFSVDIgRGlzYWJsZSAqLwojZGVmaW5lIFVBUlQxX0RJUwkJMHgwMQkJLyogVUFSVDEgRGlzYWJsZSAqLwoKLyogYnVzIG1hcHBpbmcgY29uc3RhbnRzICh1c2VkIGZvciBQQ0kgY29yZSBpbml0aWFsaXphdGlvbikgKi8JCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkgLyogYnVzIG1hcHBpbmcgY29uc3RhbnRzICovCiNkZWZpbmUgU0M1MjBfUkVHX0FERFIJCTB4MDAwMDBjZjgKI2RlZmluZSBTQzUyMF9SRUdfREFUQQkJMHgwMDAwMGNmYwoKCiNkZWZpbmUgU0M1MjBfSVNBX01FTV9QSFlTCTB4MDAwMDAwMDAKI2RlZmluZSBTQzUyMF9JU0FfTUVNX0JVUwkweDAwMDAwMDAwCiNkZWZpbmUgU0M1MjBfSVNBX01FTV9TSVpFCTB4MDEwMDAwMDAKCiNkZWZpbmUgU0M1MjBfSVNBX0lPX1BIWVMJMHgwMDAwMDAwMAojZGVmaW5lIFNDNTIwX0lTQV9JT19CVVMJMHgwMDAwMDAwMAojZGVmaW5lIFNDNTIwX0lTQV9JT19TSVpFCTB4MDAwMDEwMDAKCi8qIFBDSSBJL08gc3BhY2UgZnJvbSAweDEwMDAgdG8gMHhkZmZmCiAqIChtYWtlIDB4ZTAwMC0weGZkZmYgYXZhaWxhYmxlIGZvciBzdHVmZiBsaWtlIFBDQ2FyZCBib290KSAqLwojZGVmaW5lIFNDNTIwX1BDSV9JT19QSFlTCTB4MDAwMDEwMDAKI2RlZmluZSBTQzUyMF9QQ0lfSU9fQlVTCTB4MDAwMDEwMDAKI2RlZmluZSBTQzUyMF9QQ0lfSU9fU0laRQkweDAwMDBkMDAwCgovKiBzeXN0ZW0gbWVtb3J5IGZyb20gMHgwMDAwMDAwMCB0byAweDBmZmZmZmZmICovCiNkZWZpbmUJU0M1MjBfUENJX01FTU9SWV9QSFlTCTB4MDAwMDAwMDAKI2RlZmluZQlTQzUyMF9QQ0lfTUVNT1JZX0JVUwkweDAwMDAwMDAwCiNkZWZpbmUgU0M1MjBfUENJX01FTU9SWV9TSVpFCTB4MTAwMDAwMDAKCi8qIFBDSSBidXMgbWVtb3J5IGZyb20gMHgxMDAwMDAwMCB0byAweDI2ZmZmZmZmCiAqIChtYWtlIDB4MjcwMDAwMDAgLSAweDI3ZmZmZmZmIGF2YWlsYWJsZSBmb3Igc3R1ZmYgbGlrZSBQQ0NhcmQgYm9vdCkgKi8KI2RlZmluZSBTQzUyMF9QQ0lfTUVNX1BIWVMJMHgxMDAwMDAwMAojZGVmaW5lIFNDNTIwX1BDSV9NRU1fQlVTICAgICAgIDB4MTAwMDAwMDAKI2RlZmluZSBTQzUyMF9QQ0lfTUVNX1NJWkUJMHgxNzAwMDAwMAoKLyogMHgyODAwMDAwMCAtIDB4M2ZmZmZmZmYgaXMgdXNlZCBieSB0aGUgZmxhc2ggYmFua3MgKi8KCi8qIDB4NDAwMDAwMDAgLSAweGZmZmZmZmZmIGlzIG5vdCBhZHJlc3NhYmxlIGJ5IHRoZSBTQzUyMCAqLwoKLyogcHJpb3JpdHkgbnVtYmVycyB1c2VkIGZvciBpbnRlcnJ1cHQgY2hhbm5lbCBtYXBwaW5ncyAqLwojZGVmaW5lIFNDNTIwX0lSUV9ESVNBQkxFRCAwCiNkZWZpbmUgU0M1MjBfSVJRMCAgMQojZGVmaW5lIFNDNTIwX0lSUTEgIDIKI2RlZmluZSBTQzUyMF9JUlEyICA0ICAvKiBzYW1lIGFzIElSUTkgKi8KI2RlZmluZSBTQzUyMF9JUlEzICAxMQojZGVmaW5lIFNDNTIwX0lSUTQgIDEyCiNkZWZpbmUgU0M1MjBfSVJRNSAgMTMKI2RlZmluZSBTQzUyMF9JUlE2ICAyMQojZGVmaW5lIFNDNTIwX0lSUTcgIDIyCiNkZWZpbmUgU0M1MjBfSVJROCAgMwojZGVmaW5lIFNDNTIwX0lSUTkgIDQKI2RlZmluZSBTQzUyMF9JUlExMCA1CiNkZWZpbmUgU0M1MjBfSVJRMTEgNgojZGVmaW5lIFNDNTIwX0lSUTEyIDcKI2RlZmluZSBTQzUyMF9JUlExMyA4CiNkZWZpbmUgU0M1MjBfSVJRMTQgOQojZGVmaW5lIFNDNTIwX0lSUTE1IDEwCgoKLyogcGluIG51bWJlciB1c2VkIGZvciBQQ0kgaW50ZXJydXB0IG1hcHBpbmdzICovCiNkZWZpbmUgU0M1MjBfUENJX0lOVEEgMAojZGVmaW5lIFNDNTIwX1BDSV9JTlRCIDEKI2RlZmluZSBTQzUyMF9QQ0lfSU5UQyAyCiNkZWZpbmUgU0M1MjBfUENJX0lOVEQgMwojZGVmaW5lIFNDNTIwX1BDSV9HUElSUTAgNAojZGVmaW5lIFNDNTIwX1BDSV9HUElSUTEgNQojZGVmaW5lIFNDNTIwX1BDSV9HUElSUTIgNgojZGVmaW5lIFNDNTIwX1BDSV9HUElSUTMgNwojZGVmaW5lIFNDNTIwX1BDSV9HUElSUTQgOAojZGVmaW5lIFNDNTIwX1BDSV9HUElSUTUgOQojZGVmaW5lIFNDNTIwX1BDSV9HUElSUTYgMTAKI2RlZmluZSBTQzUyMF9QQ0lfR1BJUlE3IDExCiNkZWZpbmUgU0M1MjBfUENJX0dQSVJROCAxMgojZGVmaW5lIFNDNTIwX1BDSV9HUElSUTkgMTMKI2RlZmluZSBTQzUyMF9QQ0lfR1BJUlExMCAxNAoKLyogdXRpbGl0eSBmdW5jdGlvbnMgKi8Kdm9pZCB3cml0ZV9tbWNyX2J5dGUodTE2IG1tY3IsIHU4IGRhdGEpOwp2b2lkIHdyaXRlX21tY3Jfd29yZCh1MTYgbW1jciwgdTE2IGRhdGEpOwp2b2lkIHdyaXRlX21tY3JfbG9uZyh1MTYgbW1jciwgdTMyIGRhdGEpOwp1OCByZWFkX21tY3JfYnl0ZSh1MTYgbW1jcik7CnUxNiByZWFkX21tY3Jfd29yZCh1MTYgbW1jcik7CnUzMiByZWFkX21tY3JfbG9uZyh1MTYgbW1jcik7CgpleHRlcm4gaW50IHNjNTIwX3BjaV9pbnRzW107Cgp2b2lkIGluaXRfc2M1MjAodm9pZCk7CnVuc2lnbmVkIGxvbmcgaW5pdF9zYzUyMF9kcmFtKHZvaWQpOwp2b2lkIHBjaV9zYzUyMF9pbml0KHN0cnVjdCBwY2lfY29udHJvbGxlciAqaG9zZSk7CmludCBwY2lfc2M1MjBfc2V0X2lycShpbnQgcGNpX3BpbiwgaW50IGlycSk7CgojZW5kaWYK